<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>DE//AGENT — Learn the pattern. Install the skill. Run the pipeline.</title><description>An open registry and learning platform for modern Data Engineering: tutorials, architecture patterns, agent skills, MCP servers, agents, hooks and production runbooks — each with provenance, license, compatibility and verification status.</description><link>https://emanisha.in/</link><item><title>Catalogs and ownership: who owns this table and is it safe to use?</title><link>https://emanisha.in/de-agent/tutorials/obs-catalog-ownership/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-catalog-ownership/</guid><description>Every incident resolves faster when you can ask a catalog what this data is, who owns it, and whether it is safe to use. Run the catalog-assistant workflow end to end — resolve, retrieve, summarise — and keep it read-only and metadata-only by design.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Express a freshness check as a metric and an alert</title><link>https://emanisha.in/de-agent/tutorials/obs-first-freshness-alert/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-first-freshness-alert/</guid><description>The first hands-on of the series: declare a freshness SLA, express staleness as a metric, and write an alert rule — including what happens when no data arrives at all. Ends with the pre-merge check that keeps schedules honest against the SLA they claim.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Hold the observability mental model: infrastructure metrics versus data signals</title><link>https://emanisha.in/de-agent/tutorials/obs-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-mental-model/</guid><description>Two layers live on one data platform: infrastructure metrics (CPU, lag, job success) and data signals (freshness, volume, schema, distribution). This lesson separates them, places lineage and catalogs on the map, and names the four data signals every pipeline owes you before you write a dashboard.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Hold the row-versus-column mental model</title><link>https://emanisha.in/de-agent/tutorials/foundations-rows-vs-columns/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-rows-vs-columns/</guid><description>Before you pick a file format, understand why analytics engines read columnar files at all: row groups carrying min/max statistics let a reader prune most of the file before decoding it, and columnar layout means a scan of three columns never touches the other twenty. Every later lesson in this series builds on this model.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Hold the system design mental model — data systems as tradeoffs</title><link>https://emanisha.in/de-agent/tutorials/system-design-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-mental-model/</guid><description>Before any diagram, data systems are tradeoffs, not products. This lesson fixes the vocabulary — reliability, scalability, maintainability, and the six canonical mechanisms behind them — and shows how the canonical chapters map onto systems you already run, so every later lesson in the series has a place to land.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Open the Parquet file — row groups, pages, encodings</title><link>https://emanisha.in/de-agent/tutorials/foundations-parquet-anatomy/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-parquet-anatomy/</guid><description>A Parquet file is not a black box — it is row groups of column chunks made of pages, with statistics that readers use for predicate pushdown. Learn the anatomy from the two Parquet sources and you can reason about every read and every layout decision later in this series.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Run the back-of-envelope drill — numbers before architecture</title><link>https://emanisha.in/de-agent/tutorials/system-design-back-of-envelope/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-back-of-envelope/</guid><description>Estimation is the warm-up act of every design conversation: QPS, storage per day, retention, peak factor, all written down before a single box is drawn. This lesson drills the powers-of-two arithmetic and shows how to ground the numbers in architectures that actually ship.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The twelve-factor vocabulary for pipeline jobs</title><link>https://emanisha.in/de-agent/tutorials/foundations-twelve-factor-pipelines/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-twelve-factor-pipelines/</guid><description>Data pipelines run as jobs on shared infrastructure, so the twelve-factor principles apply to them — config in the environment, backing services as attached resources, logs as event streams, disposability, and dev/prod parity. Learn the vocabulary engineers already share when arguing about config, logs, and process design.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Arrow — columnar memory and zero-copy interchange</title><link>https://emanisha.in/de-agent/tutorials/foundations-arrow-zero-copy/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-arrow-zero-copy/</guid><description>Between the file on disk and the engine doing work sits memory. Apache Arrow defines the columnar in-memory format, its language bindings, the IPC and Flight protocols, and zero-copy interchange between systems — which is why modern data tools can hand columns to each other without re-serializing everything in between.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Avro and schema evolution for event payloads</title><link>https://emanisha.in/de-agent/tutorials/foundations-avro-schema-evolution/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-avro-schema-evolution/</guid><description>Event payloads change while consumers keep running. Avro&apos;s answer is a schema declared next to the data, evolution rules carried by the schema registry, and a container format used across event and stream pipelines. Walk the Avro docs&apos; own four topics and see where the format sits against Parquet and Arrow.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the foundations checklist</title><link>https://emanisha.in/de-agent/tutorials/foundations-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-capstone-checklist/</guid><description>Ten lessons compress into one checklist — place every decision on the lifecycle, lay out analytics files with row groups and statistics, expect Arrow at the boundaries, evolve event payloads with Avro&apos;s rules, and run jobs twelve-factor style. Each line cites the source that owns the claim.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone: the data-platform observability checklist</title><link>https://emanisha.in/de-agent/tutorials/obs-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-capstone-checklist/</guid><description>Ten lessons compress into one page. Declare SLAs, express them as metrics and alerts with explicit no-data handling, instrument runs with traces, emit lineage events, keep the catalog authoritative — and gate both schedule changes and column changes pre-merge.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Choose storage engines on tradeoffs — reads, writes, and consistency</title><link>https://emanisha.in/de-agent/tutorials/system-design-storage-engines/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-storage-engines/</guid><description>Storage choice is where a design&apos;s promises become real: the engine you pick decides what replication buys, what partitioning costs, and which consistency semantics your merges get. This lesson builds a decision habit around the DDIA mechanisms instead of brand loyalty.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Choosing file formats — Parquet, Avro, and Arrow&apos;s role</title><link>https://emanisha.in/de-agent/tutorials/foundations-choosing-file-formats/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-choosing-file-formats/</guid><description>The three formats in this series are not competitors — they answer different questions. Parquet is the columnar file for analytics scans, Avro is the schema-evolving container for event payloads, and Arrow is the in-memory substrate between systems. Make the comparison explicit so the next format debate takes minutes, not days.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Column-level lineage: the concepts and the event standard</title><link>https://emanisha.in/de-agent/tutorials/obs-column-lineage-concepts/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-column-lineage-concepts/</guid><description>Table-level lineage says a job touched a table; column-level lineage says which columns feed which. Learn the concepts, the OpenLineage event model that makes lineage work across tools, and how an impact set is computed from a lineage store.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Compression and encodings — the tradeoffs behind the file</title><link>https://emanisha.in/de-agent/tutorials/foundations-compression-encodings/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-compression-encodings/</guid><description>Encodings and compression codecs are where file size and scan speed are actually decided — Parquet applies encodings and codecs per column chunk with statistics on top, while Avro carries schema plus encoding for event payloads. Learn what each layer buys you before you pick defaults.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Define reliability in numbers — SLIs, SLOs, and error budgets</title><link>https://emanisha.in/de-agent/tutorials/system-design-sli-slo/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-sli-slo/</guid><description>A design without reliability numbers is a wish. This lesson borrows the SRE toolkit — SLIs, SLOs, error budgets, incident management, postmortems, and capacity planning — and points it at data platforms, where freshness and completeness are the properties users actually feel.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Design resilient pipelines — retry, circuit breaker, bulkhead</title><link>https://emanisha.in/de-agent/tutorials/system-design-resilience-patterns/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-resilience-patterns/</guid><description>Failures are inputs, not exceptions. Microsoft&apos;s pattern catalogue gives each failure shape a name and a solution — retry, circuit breaker, compensating transaction, bulkhead — and each pattern page carries the considerations that decide when it backfires. This lesson fits them to pipeline components.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Format-driven performance incidents — small scans and wrong layouts</title><link>https://emanisha.in/de-agent/tutorials/foundations-format-performance-incidents/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-format-performance-incidents/</guid><description>When a scan reads the whole lake for one column, the cause is usually the file layout, not the engine — missing statistics, row groups sized without intent, encodings chosen by default. Walk two incident patterns grounded in what the Parquet sources actually claim about statistics and pruning.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Incident drill: a broken upstream caught by freshness and lineage</title><link>https://emanisha.in/de-agent/tutorials/obs-lineage-incident/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-lineage-incident/</guid><description>The source job quietly changed from hourly to daily; the mart&apos;s 6h freshness SLA now fails by construction. Run the drill — confirm the breach from the diff, walk upstream with get_lineage, and report the impact set with owner, criticality and the earliest SLA that breaks.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Instrument pipelines with OpenTelemetry: traces for data jobs</title><link>https://emanisha.in/de-agent/tutorials/obs-otel-traces/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-otel-traces/</guid><description>Traces give every pipeline run a story — which task ran, how long, with what attributes. Wrap a job with OpenTelemetry, adopt the semantic conventions so attribute names match across teams, and see exactly where runtime traces end and lineage events begin.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Lineage tooling in practice: DataHub MCP and the lineage-graph plugin</title><link>https://emanisha.in/de-agent/tutorials/obs-lineage-tooling/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-lineage-tooling/</guid><description>Put lineage to work with two tools — a DataHub MCP server that lets an agent search entities and read lineage and schema, and a lineage-graph plugin that turns column-level impact analysis into agent commands. Wire both, learn each tool surface, and scope the token before sharing it.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas: alert fatigue, missing contracts, no-data silence</title><link>https://emanisha.in/de-agent/tutorials/obs-prod-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-prod-gotchas/</guid><description>Three failure modes of a monitoring stack that looks healthy: alerts that page until nobody reads them, metrics with no declared SLA behind them, and no-data windows that pass as health. Grounded in the alerting semantics of Prometheus and Grafana and the schedule-vs-SLA contract.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Read reference architectures like an engineer — AWS as precedent</title><link>https://emanisha.in/de-agent/tutorials/system-design-reference-architectures/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-reference-architectures/</guid><description>Reference architectures are precedent, not homework. This lesson teaches a reading method: name the moving parts, find the pillar each choice defends, spot the serverless data lake pattern, and re-state the diagram in DDIA vocabulary so vendor drawings become reusable design evidence.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Reading data files — from bytes to columnar memory</title><link>https://emanisha.in/de-agent/tutorials/foundations-reading-data-files/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/foundations-reading-data-files/</guid><description>A read is a pipeline in miniature — the reader consults statistics, prunes row groups, decodes only the columns you asked for, and hands you an in-memory columnar structure. Walk the read path with the sources, then place it on the lifecycle between storage and transformation.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Speak the scaling vocabulary — load balancing, caching, sharding</title><link>https://emanisha.in/de-agent/tutorials/system-design-scaling-vocabulary/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-scaling-vocabulary/</guid><description>Scale arguments go wrong when the words do: horizontal versus vertical, cache-aside versus write-through, shard by range versus hash. This lesson fixes the Primer&apos;s vocabulary and lines it up with DDIA&apos;s partitioning and replication so one argument covers both worlds.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Walkthrough: the lineage-explainer skill, from question to impact set</title><link>https://emanisha.in/de-agent/tutorials/obs-lineage-explainer-walkthrough/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/obs-lineage-explainer-walkthrough/</guid><description>Install the lineage-explainer skill and walk it end to end: ask what breaks if a column changes, read technical and business lineage from the store, and produce an impact report with owner, criticality and the earliest SLA that breaks.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone checklist — a design is done when these all hold</title><link>https://emanisha.in/de-agent/tutorials/system-design-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-capstone-checklist/</guid><description>Nine lessons compress into one checklist: tradeoffs named, numbers written, storage chosen by mechanism, scaling lever identified, budget defined, failure patterns assigned, precedent cited. Run it on your next design and on the platform you already run.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Interview walkthrough — design a data platform end-to-end</title><link>https://emanisha.in/de-agent/tutorials/system-design-interview-walkthrough/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-interview-walkthrough/</guid><description>The full arc in one 45-minute shape: requirements, back-of-envelope numbers, the storage and scaling argument, reliability as SLIs and budgets, and a deployed precedent to close. Every claim traces to one of the five sources, so nothing in the answer is invented under pressure.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas — premature scaling and the missing capacity plan</title><link>https://emanisha.in/de-agent/tutorials/system-design-prod-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/system-design-prod-gotchas/</guid><description>The two self-inflicted design failures: complexity bought before load requires it, and capacity treated as an afterthought until the pager goes off. This lesson puts the SRE discipline of capacity planning next to the pattern catalogue&apos;s warnings, so design reviews catch both before production does.</description><pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate></item><item><title>First hands-on — a correct SELECT with a justified join</title><link>https://emanisha.in/de-agent/tutorials/sql-first-correct-select/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-first-correct-select/</guid><description>Stand up a local DuckDB through the DuckDB MCP server, inspect before you query with list_tables and describe_table, and write one SELECT with a join whose cardinality you can justify. You read CSV and Parquet straight into the engine, state the grain of the result, and finish by proving the join cannot fan out — the habit the sql-review skill demands.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Hold the cloud data stack mental model — storage, catalog, compute, IAM</title><link>https://emanisha.in/de-agent/tutorials/cloud-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cloud-mental-model/</guid><description>Build the map before opening a console: object storage holds the bytes, a managed catalog describes them, and serverless compute bills for what a query scans. Walk the same shape through five managed engines — Glue, Athena, BigQuery, Snowflake, Databricks — and note the IAM surface each one needs before the first query.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The data reliability mental model — freshness, completeness, correctness</title><link>https://emanisha.in/de-agent/tutorials/reliability-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/reliability-mental-model/</guid><description>Build the map before writing a single check: a consumer experiences a table as three properties — freshness, completeness, correctness — declared as an SLA in a data contract, enforced by a CI test, and spent like an error budget when failures land.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The lakehouse mental model — lake vs warehouse vs table formats vs zones</title><link>https://emanisha.in/de-agent/tutorials/lakehouse-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/lakehouse-mental-model/</guid><description>Build the map before touching a table: object storage is files with no structure for trust or ownership, a table format (Iceberg or Delta) adds snapshots, manifests, hidden partitioning, ACID, and evolution, and medallion zones make trust legible from raw to serving. Multi-catalog means the formats coexist — pick each one deliberately.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The orchestration mental model — DAGs, schedules, idempotency, backfills</title><link>https://emanisha.in/de-agent/tutorials/orchestration-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/orchestration-mental-model/</guid><description>Build the map before touching code: a DAG plus its schedule decides when runs happen, the idempotency test decides whether re-runs are safe, catchup decides what happens to missed intervals, and a backfill decides how history gets fixed — four decisions every later lesson sharpens.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The relational mental model — sets, grain, and NULL</title><link>https://emanisha.in/de-agent/tutorials/sql-relational-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-relational-mental-model/</guid><description>Before the first SELECT, build the model every later lesson uses: a query returns a set with a stated grain, a join changes that grain by its cardinality, and NULL never compares as you expect. You learn the first question every SQL review asks, the five rules that follow from it, and the failure modes — fan-out joins, NULL-unsafe predicates, implicit casts, non-deterministic ordering, functions that silently change grain — the rest of the series attacks.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The warehouse mental model — micro-partitions, clustering, scan vs compute</title><link>https://emanisha.in/de-agent/tutorials/warehouse-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/warehouse-mental-model/</guid><description>Build the map before tuning anything: a table is a set of micro-partitions, every query is described by bytes scanned, partitions scanned ratio, and queue time, a clustering key decides how much gets pruned, and a slow query is either a scan problem or a compute problem — never both at once.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>What makes an agent — model, tools, loop, guardrails</title><link>https://emanisha.in/de-agent/tutorials/agentic-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-mental-model/</guid><description>Build the map before touching anything: an agent is a model that reasons, tools that act, a loop that iterates, and guardrails that bound it. Meet a real data-engineering agent from the registry, point at each of the four parts, and see where the guardrails come from — hooks and the human gate.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Wire cloud tooling — registry skills, MCP servers, and one review workflow</title><link>https://emanisha.in/de-agent/tutorials/cloud-agent-tooling/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cloud-agent-tooling/</guid><description>Wire the registry&apos;s cloud tooling into one agent workflow: install the Glue and Athena review skills, bind the AWS MCP server to a least-privilege profile, and compose both skills plus the MCP server into the architecture reviewer. The same pattern covers GCP with the BigQuery server.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Your first lakehouse table — create, query, measure, compact</title><link>https://emanisha.in/de-agent/tutorials/first-lakehouse-table/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/first-lakehouse-table/</guid><description>Run the whole loop in one sitting on a scratch table: create and query a first Delta or Iceberg table from the official docs, read its health from the files metadata table with one SQL query, run a first OPTIMIZE or rewrite_data_files, and prove it worked by comparing numFiles and bytes scanned before and after.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>ACID and concurrent writes — why compaction and ingestion collide</title><link>https://emanisha.in/de-agent/tutorials/acid-concurrent-writes/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/acid-concurrent-writes/</guid><description>What ACID on object storage actually guards, and where it stops: Delta commits transactions on files, but compaction is also a writer, and the two meet in the ingestion window. Learn the schedule rule, the write-path/layout-path separation, and how a guardrail blocks maintenance from running in the wrong window.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the checklist that decides whether a DAG ships</title><link>https://emanisha.in/de-agent/tutorials/orchestration-capstone/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/orchestration-capstone/</guid><description>Close the series by running the full review pass over your own pipeline: the idempotency test per task, partitioned or MERGE writes, deliberate catchup, backoff retries, reschedule sensors, bounded concurrency — and a documented runbook for the day history needs fixing.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the cloud guardrail checklist</title><link>https://emanisha.in/de-agent/tutorials/cloud-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cloud-capstone-checklist/</guid><description>Close the series by turning nine lessons into one standing checklist: workgroup bytes limits and compaction on storage, sized workers and stable bookmarks on compute, resource monitors and unit-metric alerts on spend, and least-privilege IAM everywhere — then produce the four review outputs as evidence.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the reliability checklist for a pipeline you can page on</title><link>https://emanisha.in/de-agent/tutorials/reliability-capstone/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/reliability-capstone/</guid><description>Close the series by running the reliability checklist over your own pipeline: a declared and enforced SLA, idempotent tasks with backoff retries, a documented backfill runbook — then drill the incident path from alert to blameless postmortem with dated, owned action items.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the SQL correctness checklist</title><link>https://emanisha.in/de-agent/tutorials/sql-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-capstone-checklist/</guid><description>Close the series by turning nine lessons into one standing checklist: a grain statement for every SELECT, a cardinality justification for every join, NULL-safe anti-joins, explicit casts, lint in CI, and one decision rule for slow queries. Each line cites the lesson that earned it, and the checklist ends where the review agent ends — with findings that cite severity, location, rule, and fix.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the standing lakehouse checklist</title><link>https://emanisha.in/de-agent/tutorials/lakehouse-capstone/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/lakehouse-capstone/</guid><description>Close the series by running the full checklist on one table you own: zones with gates, a deliberately chosen format, the three standing monitors, the four-part maintenance plan as a scheduled job, guardrail-enforced windows, and the escalation line that decides when it pages.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the warehousing checklist, end to end</title><link>https://emanisha.in/de-agent/tutorials/warehouse-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/warehouse-capstone-checklist/</guid><description>Close the series by auditing one warehouse project against everything it taught: models with tests and docs, layered staging to marts with a declared grain, incremental loads with a lookback, CI on a staging schema, monitored query history, and a repo structure a new joiner can read.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>DR and replication — design the recovery path before you need it</title><link>https://emanisha.in/de-agent/tutorials/reliability-dr-replication/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/reliability-dr-replication/</guid><description>Disaster recovery for data systems starts before the outage: DDIA&apos;s replication and consistency chapters name the mechanisms, and the registry&apos;s runbooks name the recovery paths — code rollback for deterministic failures, quarantine-then-retry for data errors, shadow-then-swap for recomputes.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Fan out over date batches with dynamic task mapping</title><link>https://emanisha.in/de-agent/tutorials/dynamic-mapping-date-batches/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dynamic-mapping-date-batches/</guid><description>Run one task definition over many date batches with dynamic task mapping — the docs&apos; mapping feature applied the way the backfill material demands: batched ranges, smallest first, a validated sample after each batch.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Govern cloud spend — right-sizing, resource monitors, and unit economics</title><link>https://emanisha.in/de-agent/tutorials/cloud-cost-governance/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cloud-cost-governance/</guid><description>Govern cloud spend the way you govern data quality: right-size each warehouse per environment, put a resource monitor between the workload and the invoice, and alert on cost-per-run instead of total spend. Ends with the unit-economics rule that turns a 4x regression into a number, not a surprise.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Hooks — deterministic gates around an agent</title><link>https://emanisha.in/de-agent/tutorials/agentic-hooks-gates/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-hooks-gates/</guid><description>The model can be talked into anything; a hook is code on the tool path. Walk the four safety hooks every data repo should know — destructive-SQL guard, prod write confirmation, secret scan, backfill safety check — and wire the two the starter plugin ships.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Idempotency and reruns — make every task safe to run twice</title><link>https://emanisha.in/de-agent/tutorials/reliability-idempotent-reruns/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/reliability-idempotent-reruns/</guid><description>Retries are inevitable, so a task that appends duplicates rows every time it is cleared: hold each task to the idempotency test, replace its partition atomically instead of appending, and assert the invariant in CI with a test that runs the same date twice.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Incident — the dashboard query that went slow</title><link>https://emanisha.in/de-agent/tutorials/warehouse-query-incident/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/warehouse-query-incident/</guid><description>Run the slow-query runbook as an incident: confirm the regression, split scan cost from compute contention, pull partitions_scanned and bytes from query history as evidence, apply the matched fix, and escalate on the shared-warehouse SLA before the queue takes other teams down with it.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Incident — the job that quadrupled in cost overnight</title><link>https://emanisha.in/de-agent/tutorials/cloud-cost-spike-incident/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cloud-cost-spike-incident/</guid><description>An invoice alert or a cost-per-run dashboard spike lands: one job&apos;s compute cost quadrupled with no functional change. Work the runbook — diff shuffle write and input bytes run-over-run, rank the four usual suspects, fix per cause, and cap the damage with a resource monitor while you diagnose.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Incident — the numbers doubled and no alarm fired</title><link>https://emanisha.in/de-agent/tutorials/sql-incident-silent-fanout/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-incident-silent-fanout/</guid><description>Row counts are inflated and metrics double-counted after a retry, a fan-out join or a backfill — the incident signature of a silent fan-out. You work the duplicate-records runbook end to end: count duplicates per key with one query, correlate the first duplicate date with a deploy, check whether the write is append or merge/overwrite, then dedupe on the business key and rewrite only the affected partitions.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Inside a skill — SKILL.md, references, examples, the loading protocol</title><link>https://emanisha.in/de-agent/tutorials/agentic-skill-anatomy/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-skill-anatomy/</guid><description>A skill is the unit of reusable agent behavior: one SKILL.md with front-matter, plus directories the agent loads on demand. Dissect a real registry skill file by file, learn the evaluation rubric its objectives set, then install it and compare the layout with your own draft.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Make a DAG data-aware with reschedule-mode sensors</title><link>https://emanisha.in/de-agent/tutorials/sensors-data-aware-scheduling/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sensors-data-aware-scheduling/</guid><description>Stop guessing when upstream data arrives: add a sensor in reschedule mode so the DAG waits for its input without holding a worker slot, read the scheduling-semantics pages first, and bound the sensor with timeout and concurrency settings like any other task.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Make queries prune — clustering keys and scan diagnosis</title><link>https://emanisha.in/de-agent/tutorials/warehouse-clustering-pruning/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/warehouse-clustering-pruning/</guid><description>Choose a clustering key from the predicates of your most expensive queries, prove the prune with partitions_scanned versus partitions_total, and fix the disease you actually have — a lost predicate or a low-selectivity key on the scan side, or queue time on the compute side.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Model a star schema — facts, conformed dimensions, declared grain</title><link>https://emanisha.in/de-agent/tutorials/warehouse-star-schema/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/warehouse-star-schema/</guid><description>Turn the analytical layer into facts surrounded by conformed dimensions: declare the fact grain in schema.yml, stage and intermediate models below it, SCD2 where history must survive, and scaffold the whole thing from the dbt project template so staging, marts, tests, and CI exist from commit one.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Plan and execute a backfill that doesn&apos;t break production</title><link>https://emanisha.in/de-agent/tutorials/reliability-safe-backfills/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/reliability-safe-backfills/</guid><description>Historical output is wrong or missing, and the fix touches a production table: define correct first, map the blast radius from lineage, then shadow-write in date batches smallest-first, validate a sample per batch, and swap atomically — behind a gate that demands a rollback path.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas — NULL traps, implicit casts, silent drift</title><link>https://emanisha.in/de-agent/tutorials/sql-production-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-production-gotchas/</guid><description>The bugs that survive testing compare wrong instead of failing loud: NOT IN over a nullable subquery, a comparison across types left to an implicit cast, and a schema change that silently turns a column to NULLs. You walk the review rules that ban each pattern, then use the schema-drift runbook to tell a hard failure from a silent one and to decide between an explicit cast and a quarantine.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas — silent failures and partial writes</title><link>https://emanisha.in/de-agent/tutorials/reliability-prod-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/reliability-prod-gotchas/</guid><description>The failures that become pages are the ones nobody was watching: a regression hiding in growth, a cron change that silently widens the freshness SLA, and appends that duplicate on retry — cap each with a guard, a computed worst-case lag, and an atomic partition replace.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas — surprise bills, region defaults, and IAM overreach</title><link>https://emanisha.in/de-agent/tutorials/cloud-prod-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cloud-prod-gotchas/</guid><description>The surprises that turn into invoices: workers sized by habit, a renamed prefix that silently resets a bookmark, thousands of small files, an agent holding an admin role, and a query that scans everything because the predicate missed the partition column. Each gotcha names the metric that catches it early.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas — topology, timeouts, concurrency</title><link>https://emanisha.in/de-agent/tutorials/production-dag-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/production-dag-gotchas/</guid><description>The DAG failures that become pages: unbounded concurrency, missing catchup policy, and a backfill that starves the daily run — cap them with max_active_runs and pools, then wire the monitoring and escalation path the backfill runbook prescribes.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Schema evolution and time travel — change the table, keep the past</title><link>https://emanisha.in/de-agent/tutorials/schema-evolution-time-travel/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/schema-evolution-time-travel/</guid><description>Change a table without breaking its readers or its history: the Iceberg spec&apos;s schema and partition evolution, Delta time travel, the history metadata table you query to see what happened, and the snapshot-expiry rule that keeps time travel working while storage stays bounded. The immutable raw zone is the floor under all of it.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Table format mechanics — snapshots, manifests, and the metadata tables</title><link>https://emanisha.in/de-agent/tutorials/iceberg-metadata-mechanics/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/iceberg-metadata-mechanics/</guid><description>Open the hood on an Iceberg table: the spec&apos;s layers (snapshots, manifests, hidden partitioning), the files and history metadata tables you query with plain SQL, and the manifest list as a maintenance target in its own right. One catalog then spans Iceberg, Delta, Hudi, and Hive.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Window functions — keep the grain, rank the rows</title><link>https://emanisha.in/de-agent/tutorials/sql-window-functions-grain/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-window-functions-grain/</guid><description>A window function computes over a set of rows and hands the answer back to every row, so the result keeps its grain — the property that makes a keep-latest dedupe safe and a bare GROUP BY grain-changing. You find the duplicates first with one GROUP BY query, dedupe on the business key keeping the latest by event time, and learn when a window over the same key is a shuffle that can skew or spill.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Wire task dependencies and retries that survive failure</title><link>https://emanisha.in/de-agent/tutorials/dag-dependencies-retries/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dag-dependencies-retries/</guid><description>Model the pipeline as task groups and give every task deliberate retries with backoff, a timeout and a pool — the skeleton&apos;s guarantees, verified the way the DAG reviewer verifies them before the DAG ships.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the guarded agent checklist</title><link>https://emanisha.in/de-agent/tutorials/agentic-capstone/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-capstone/</guid><description>Run the whole series against one agent setup: skills that load on demand, tools scoped at the connection, least-privilege credentials, audited tool contracts, hooks that fail closed, and a human gate on anything irreversible. Prove each box with an attempted violation, not a promise.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas — untrusted content, destructive actions, permission scope</title><link>https://emanisha.in/de-agent/tutorials/agentic-prod-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-prod-gotchas/</guid><description>An agent executes with your credentials, so its context and config are an attack surface. Read the MCP security model, treat fetched content as untrusted input, keep destructive statements deny-by-default, and scope every credential to the role and repositories the task needs.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Warehouse production gotchas — cost, full refreshes, late data</title><link>https://emanisha.in/de-agent/tutorials/warehouse-production-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/warehouse-production-gotchas/</guid><description>The three ways a healthy warehouse model hurts production: a full-refresh that rebuilds a 4B-row table unannounced, a lookback window too short to catch late-arriving orders, and cost drift nobody reviews. Guard the destructive command, harden CI, and put the cost query on a weekly cadence.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>When an agent does the wrong thing — contain, audit, postmortem</title><link>https://emanisha.in/de-agent/tutorials/agentic-incident-rollback/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-incident-rollback/</guid><description>An agent merged a change it should not have. Roll back first, use the scoping you configured to contain and reconstruct what happened — diffs, logs and approve-once records — walk the incident workflow, and close with a blameless postmortem whose action items name the missing gate.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Apache Arrow Documentation</title><link>https://emanisha.in/de-agent/references/arrow-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/arrow-docs/</guid><description>Official Arrow docs: the columnar in-memory format, its language bindings, IPC and Flight protocols, and zero-copy interchange between systems. Use it for exact memory-layout and type-system semantics behind every &quot;columnar&quot; claim in the registry.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Apache Avro Documentation</title><link>https://emanisha.in/de-agent/references/avro-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/avro-docs/</guid><description>Avro&apos;s official documentation: schema declaration, the schema-registry evolution rules, encoding and the container format widely used for event/stream payloads and Kafka wire formats.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Apache Parquet Format Documentation</title><link>https://emanisha.in/de-agent/references/parquet-format-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/parquet-format-docs/</guid><description>The Parquet file format documentation: page structure, encodings, compression codecs, statistics and the predicate-pushdown behavior that columnar readers rely on. The ground truth for why columnar files scan less data and how row-group pruning works.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>AWS Architecture Center</title><link>https://emanisha.in/de-agent/references/aws-architecture-center/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/aws-architecture-center/</guid><description>AWS&apos;s official collection of architecture diagrams, reference architectures and best-practice guidance (Well-Architected pillars, serverless data lake patterns). Concrete vendor material for grounding sizing and tradeoff arguments in real deployed patterns.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Azure Cloud Design Patterns</title><link>https://emanisha.in/de-agent/references/cloud-design-patterns/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/cloud-design-patterns/</guid><description>Microsoft&apos;s catalogue of cloud design patterns: retry, circuit breaker, compensating transaction, CQRS, event sourcing, bulkhead and more — each with problem/solution and considerations. Vendor-neutral in practice, and directly applicable to pipeline component design.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Google SRE Books</title><link>https://emanisha.in/de-agent/references/sre-books/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/sre-books/</guid><description>Google&apos;s Site Reliability Engineering books, free online: SLIs/SLOs/error budgets, incident management, postmortem culture and capacity planning. The vocabulary source for reliability engineering that data platform teams borrow from when they define data SLAs and run incident drills.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Grafana Documentation</title><link>https://emanisha.in/de-agent/references/grafana-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/grafana-docs/</guid><description>Grafana&apos;s official documentation: dashboards, panel queries, alerting (including the unified alerting model), and provisioning. The standard surface where pipeline freshness, volume and job-health dashboards live.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>OpenTelemetry Documentation</title><link>https://emanisha.in/de-agent/references/opentelemetry-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/opentelemetry-docs/</guid><description>OpenTelemetry&apos;s official documentation: traces, metrics and logs through a vendor-neutral API/SDK, the collector, and semantic conventions. Increasingly the default instrumentation layer for distributed pipelines and services.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>PostgreSQL Documentation — Tutorial &amp; Reference</title><link>https://emanisha.in/de-agent/references/postgres-manual/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/postgres-manual/</guid><description>PostgreSQL&apos;s official documentation: the tutorial, SQL reference, indexes, transactions and MVCC chapters. The semantics of transaction isolation and index behavior here are the ground truth for correctness arguments in pipeline source systems.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Prometheus Documentation</title><link>https://emanisha.in/de-agent/references/prometheus-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/prometheus-docs/</guid><description>Official Prometheus docs: the pull-based metrics model, PromQL, exporters, service discovery and alerting rules. Data platforms lean on it for infrastructure- and job-level metrics that sit underneath data-quality signals like freshness and volume.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Python Official Documentation</title><link>https://emanisha.in/de-agent/references/python-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/python-docs/</guid><description>The official Python 3 documentation: language reference, standard library (itertools, collections, dataclasses, json, csv), and the data-model chapter that explains iteration, mutability and hashing semantics every data script depends on.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>SQLBolt — Learn SQL with Simple Interactive Exercises</title><link>https://emanisha.in/de-agent/references/sqlbolt/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/sqlbolt/</guid><description>Free interactive SQL lessons: SELECT basics, filtering, joins, NULL handling and aggregate clauses, each runnable in the browser. A zero-setup first step before touching a real warehouse or local DuckDB.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The System Design Primer</title><link>https://emanisha.in/de-agent/references/system-design-primer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/system-design-primer/</guid><description>The widely-used open-source study guide for system design: scaling vocabulary (load balancers, caching, sharding), back-of-envelope estimation, and worked design exercises. Data platform architectures are a special case of the same throughput/consistency tradeoffs it teaches.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The Twelve-Factor App</title><link>https://emanisha.in/de-agent/references/twelve-factor/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/twelve-factor/</guid><description>The classic twelve principles for building services that run portably: config in the environment, backing services as attached resources, logs as event streams, disposability and dev/prod parity. Data pipelines inherit these ideas whenever they run as jobs on shared infrastructure.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Author your first data contract</title><link>https://emanisha.in/de-agent/tutorials/author-first-data-contract/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/author-first-data-contract/</guid><description>Draft an enforceable contract for one real dataset by walking the six parts — owner, schema, semantics, SLA, breaking-change policy, enforcement — starting from the data-contract template, and finish with the CI test that makes it a contract instead of documentation.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Compute unit economics for a pipeline</title><link>https://emanisha.in/de-agent/tutorials/cost-unit-economics-report/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cost-unit-economics-report/</guid><description>Turn cluster and warehouse billing into unit economics — cost per run, per 1M rows, per model build — so a regression shows up as a number, not a surprise invoice. The Cost Optimizer starts with attribution; this walkthrough ends with an alert on cost-per-run instead of total spend.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Cut Athena bytes scanned with partitions and projection</title><link>https://emanisha.in/de-agent/tutorials/athena-cut-bytes-scanned/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/athena-cut-bytes-scanned/</guid><description>Walk one expensive Athena query through the Partition Advisor&apos;s levers in order: confirm the per-TB bill model, partition on the dominant filter column, replace MSCK REPAIR with partition projection, compact small files, and move to columnar compression. Every move is judged by a single number — bytes scanned.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Decide when a Delta table needs OPTIMIZE or Z-ORDER</title><link>https://emanisha.in/de-agent/tutorials/delta-optimize-decision/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/delta-optimize-decision/</guid><description>Apply the Delta Optimization Advisor&apos;s decision rules to one table: read file stats for the OPTIMIZE trigger, pick Z-ORDER columns from actual query predicates, weigh liquid clustering for high-cardinality write-heavy tables, and prove the choice by comparing numFiles and bytes scanned before and after.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Deduplicate records without rewriting the table</title><link>https://emanisha.in/de-agent/tutorials/dq-deduplicate-records/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dq-deduplicate-records/</guid><description>Row counts are inflated and revenue double-counted after a retry or a fan-out join. Work the duplicate-records runbook: find the first duplicate date, correlate it with a deploy, dedupe on the business key, and rewrite only the affected partitions.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Enforce contracts in CI with the schema change check</title><link>https://emanisha.in/de-agent/tutorials/gate-contracts-in-ci/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/gate-contracts-in-ci/</guid><description>Install the Schema Change Check as a pre-commit gate over staged schema files so a breaking change exits non-zero unless a migration plan or deprecation annotation rides along with it — the producer-CI placement that catches breakage before merge.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Fix SQL lint with the SQLFluff core rule pack</title><link>https://emanisha.in/de-agent/tutorials/sql-sqlfluff-core-rules/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-sqlfluff-core-rules/</guid><description>Install the SQLFluff core rule pack, point it at your warehouse dialect, and lint a fixture that fails on purpose: indentation, keyword capitalisation, SELECT star, and unused CTEs. You fix each finding while the passing fixture stays green, then wire the same lint run into CI.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Hold the streaming mental model: events, partitions, delivery semantics</title><link>https://emanisha.in/de-agent/tutorials/streaming-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/streaming-mental-model/</guid><description>Build the vocabulary before touching a cluster: events instead of rows, partitions instead of tables, at-least-once delivery instead of exactly-once, and the lambda/kappa decision for speed versus correctness. Every later lesson in this series leans on these four ideas.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Inspect Kafka topics and groups with the Kafka MCP server</title><link>https://emanisha.in/de-agent/tutorials/kafka-topics-via-mcp/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/kafka-topics-via-mcp/</guid><description>Connect an agent to a Kafka cluster through the Kafka MCP server and work through its four tools: list_topics for inventory, describe_topic for a single topic, describe_consumer_group for lag, and consume_messages for sampling — stream debugging from an agent, with the sampling risks called out up front.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Install cost guardrails before the invoice</title><link>https://emanisha.in/de-agent/tutorials/cost-guardrails-setup/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cost-guardrails-setup/</guid><description>Instrument, attribute, then guard: the Cost Guardrails pattern in four moves — a unit metric per pipeline, a baseline of the last N runs, CI failing on regression, and hard caps. It ends with a build that fails on a 3.9x shuffle jump instead of a surprise invoice.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Keep an agent read-only until a human approves</title><link>https://emanisha.in/de-agent/tutorials/agentic-agent-in-the-loop/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-agent-in-the-loop/</guid><description>Coding agents can do real data-engineering work, but can also ship a schema change or drop a table. Walk the Agent-in-the-Loop Review pattern: separate read/recommend from write/execute, put a human gate before anything irreversible, and encode the policy as hooks.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Name the four dimensions of data quality</title><link>https://emanisha.in/de-agent/tutorials/dq-four-dimensions/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dq-four-dimensions/</guid><description>Build the mental model before writing a single test: freshness, completeness, validity, consistency. See each dimension in a real registry artifact — the SLA part of a contract, the profiling workflow of the data-quality reviewer, the rule vocabulary of the quarantine starter — and leave able to name the dimension behind any &quot;the data is bad&quot; complaint.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Respond to a failing quality expectation</title><link>https://emanisha.in/de-agent/tutorials/dq-respond-failing-expectation/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dq-respond-failing-expectation/</guid><description>A quality expectation failed in production and bad data may be reaching consumers. Follow the data-quality-failure runbook: read the failure precisely, quantify it, then make the one decision that matters — block, quarantine, or pass-with-warning.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Review a DAG for idempotency and retry safety</title><link>https://emanisha.in/de-agent/tutorials/review-dag-idempotency/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/review-dag-idempotency/</guid><description>Walk the Pipeline Reviewer&apos;s four-step pass over a DAG: apply the idempotency test to every task, check retry, timeout and concurrency settings, predict backfill behaviour, and propose missing integration tests — then close the loop with the Airflow DAG Reviewer&apos;s checklist so every task is safe to re-run before the DAG merges.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Review a Glue job for sizing, bookmarks, and catalogue drift</title><link>https://emanisha.in/de-agent/tutorials/glue-job-review-pass/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/glue-job-review-pass/</guid><description>Take a Glue/Spark job through the AWS Glue Job Reviewer&apos;s three checks: size workers from the input files&apos; partitions instead of habit, verify the job bookmark against the input path layout, and diff the Glue Data Catalog schema against the Parquet file footer. Each check targets a silent cost leak that ends in full reprocessing.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Run the dbt warehouse tests starter end to end</title><link>https://emanisha.in/de-agent/tutorials/dbt-warehouse-tests-starter/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dbt-warehouse-tests-starter/</guid><description>Clone the dbt-warehouse-tests starter, seed its deterministic customers and orders data, and build the staging → intermediate → marts pipeline with dbt build --target dev. You serve the docs, add the tests that protect the fct grain, and finish against the failure scenarios the project warns about.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Run the full SQL review pass on a PR</title><link>https://emanisha.in/de-agent/tutorials/sql-review-full-pass/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-review-full-pass/</guid><description>Run the SQL Reviewer agent&apos;s full pass over a pull request: read the diff in context, state the grain of every result set, then check the correctness bugs the SQL Review skill targets — fan-out joins, NULL-unsafe NOT IN and = predicates — and emit findings with file:line and a rewritten clause you can verify against the evaluation fixture.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Scaffold an idempotent DAG from the template</title><link>https://emanisha.in/de-agent/tutorials/scaffold-airflow-dag/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/scaffold-airflow-dag/</guid><description>Generate a new pipeline from the Airflow DAG template and keep its guarantees — an idempotent skeleton with task groups, retries and backoff, SLA, pools, and a reschedule-mode sensor — then make catchup a deliberate choice and every write partition-keyed or a MERGE.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Stand up the S3 → Glue → Athena starter</title><link>https://emanisha.in/de-agent/tutorials/s3-glue-athena-starter/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/s3-glue-athena-starter/</guid><description>Deploy the serverless query-in-place starter end to end: Terraform provisions buckets, catalog, and a bounded Athena workgroup, Parquet lands in a Hive layout, the table is registered with partition projection, and pruning is proven with explain analyze. The sample data ships one deliberately oversized file to demonstrate compaction.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Start a PySpark project from the template</title><link>https://emanisha.in/de-agent/tutorials/spark-pyspark-template-start/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/spark-pyspark-template-start/</guid><description>Scaffold a testable PySpark project with one command and learn where each piece lives: transforms in src/, 3-10 row fixtures in tests/data/, and a Makefile that runs lint plus tests offline. Finish by hardening the first transform with row-count and null assertions.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The batch processing mental model</title><link>https://emanisha.in/de-agent/tutorials/batch-processing-mental-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/batch-processing-mental-model/</guid><description>Batch processing in partition terms. Learn what a partition, a shuffle and a spill are, why &quot;the job is slow&quot; resolves into four named causes — skew, partition count, spill, over-scan — and why the write side carries one invariant: same date twice, same output.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Troubleshoot a lagging group with the Kafka Troubleshooter</title><link>https://emanisha.in/de-agent/tutorials/kafka-troubleshooter-workflow/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/kafka-troubleshooter-workflow/</guid><description>Hand the Kafka Troubleshooter agent the consumer-group describe output, per-partition offsets, and consumer logs, then follow its four-step workflow from lag trend to the least destructive fix. The agent works read-only against the cluster, never resets offsets, and ships every fix with a risk rating.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Wire the core MCP servers for a data repo</title><link>https://emanisha.in/de-agent/tutorials/agentic-core-mcp-wiring/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-core-mcp-wiring/</guid><description>Wire the three reference MCP servers a data repo needs: filesystem for the working directory, git for history and commits, and GitHub for issues and pull requests. Each connection is scoped — one directory, one repository, one fine-grained token.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Write the minimum dbt test set for a model</title><link>https://emanisha.in/de-agent/tutorials/minimum-dbt-test-set/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/minimum-dbt-test-set/</guid><description>Start from the model&apos;s grain, then rank dbt tests by the cost of the failure they prevent: uniqueness and not-null on the grain key, relationships on foreign keys, accepted values on enums, and freshness on sources. You add one custom singular test, wire freshness on a source, and finish by running the set in data-aware CI against a staging schema.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Aggregations and windows without the skew</title><link>https://emanisha.in/de-agent/tutorials/spark-aggregations-windows/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/spark-aggregations-windows/</guid><description>Aggregations and windows are shuffles in disguise. Treat the group-by key as a skew suspect, read p50 vs p99 and the spill bytes, then apply the matching fix — a salted two-stage aggregate, more partitions, or a partition predicate — and never repartition(1).</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Attribute a 4x Spark cost regression</title><link>https://emanisha.in/de-agent/tutorials/cost-attribute-4x-regression/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cost-attribute-4x-regression/</guid><description>One job&apos;s compute cost quadrupled overnight with no functional change. Run the 4x runbook: diff shuffle and input bytes run-over-run, find the guilty stage, reverse the regression — then wire hook-spark-cost-check so the next one fails CI before the invoice.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Attribute spend with the Cost Lens plugin</title><link>https://emanisha.in/de-agent/tutorials/cost-lens-plugin-walkthrough/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/cost-lens-plugin-walkthrough/</guid><description>Install the Cost Lens plugin and use its three commands to attribute spend, compute unit economics, and guard cost-per-run. The plugin pairs the unit-economics skill with the Spark cost regression guard, and ships the hooks that enforce the guard in CI.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Audit an MCP server&apos;s tool contracts</title><link>https://emanisha.in/de-agent/tutorials/agentic-mcp-contract-audit/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-mcp-contract-audit/</guid><description>Before connecting an MCP server, audit its tools for blast radius. Read each tool schema, classify every tool as Read, Write, Destructive, Spend or Exfiltrate, and produce a least-privilege connection config that grants only what the task needs.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — the batch pipeline checklist</title><link>https://emanisha.in/de-agent/tutorials/batch-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/batch-capstone-checklist/</guid><description>Bring the API → S3 → Spark → Parquet starter up end to end, then audit it: offline transform tests, idempotent partition-scoped writes, complete partitions, replay-safe extraction, and baseline metrics with a CI guard. One pipeline that exercises every lesson in the series.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Capstone — wire a dataset&apos;s quality gates end to end</title><link>https://emanisha.in/de-agent/tutorials/dq-capstone-checklist/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dq-capstone-checklist/</guid><description>Close the series by walking one SLA-bearing dataset through every gate the series taught — six-part contract, CI compatibility check, staged quality suite, quarantine split, quarantine-rate alerts — and finish with the monitoring signals and incident paths that keep the gates honest.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Check lakehouse table health with Lakehouse Guard</title><link>https://emanisha.in/de-agent/tutorials/lakehouse-guard-health/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/lakehouse-guard-health/</guid><description>Use the Lakehouse Guard plugin&apos;s three commands on a Delta/Iceberg table: /table-health for a status read, /plan-compaction for a maintenance plan, and /expire-snapshots for a safe expiry plan. The guard exists to block compaction or snapshot expiry during peak ingestion windows, so plans cannot run in the wrong window.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Debug a Kafka stream with the Kafka Console plugin</title><link>https://emanisha.in/de-agent/tutorials/kafka-console-commands/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/kafka-console-commands/</guid><description>Drive the Kafka Console plugin&apos;s three commands across a lag incident: /topic-info for inventory, /lag-triage for per-partition lag and rebalance detection, and /sample-topic for a read-only message sample with a PII redaction pass. Permissions stay at kafka-sasl-read throughout.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Diagnose a skewed Spark stage</title><link>https://emanisha.in/de-agent/tutorials/spark-skew-diagnosis-walkthrough/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/spark-skew-diagnosis-walkthrough/</guid><description>One Spark stage hangs while other executors idle. Open the stage view, read the p50-vs-p99 task durations, and follow the skew skill&apos;s decision order: AQE skew join first, salting second, broadcast only under a size budget — and never repartition(1).</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Diagnose a small-files explosion</title><link>https://emanisha.in/de-agent/tutorials/small-files-diagnosis/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/small-files-diagnosis/</guid><description>Follow the small-files runbook from symptom to prevention: confirm the tens-of-thousands-of-tiny-files signature, query the metadata tables for the average file size, compact to a 128-256 MB target, coarsen an over-partitioned layout, and schedule compaction outside the ingestion window. The fix follows the small-files compaction pattern — separate the write path from the layout path.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Gate backfills with the safety check hook</title><link>https://emanisha.in/de-agent/tutorials/gate-backfills-with-hook/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/gate-backfills-with-hook/</guid><description>Wire the Backfill Safety Check as a pre-run gate that refuses any backfill lacking an explicit date range, a shadow or snapshotted target, and a window clear of the scheduled production run — and watch it block the bare backfill command that would otherwise corrupt the target.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Gate promotion with a pre-deploy DQ check</title><link>https://emanisha.in/de-agent/tutorials/dq-pre-deploy-dq-gate/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dq-pre-deploy-dq-gate/</guid><description>Wire the pre-deployment DQ check so a pipeline is only promoted when its quality suite passes against staged output. You attach the pre-deploy trigger, run dbt/GE tests on the staging namespace, and prove a failed expectation leaves production untouched.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Incremental processing with a watermark</title><link>https://emanisha.in/de-agent/tutorials/incremental-watermark-batch/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/incremental-watermark-batch/</guid><description>Full reloads stop scaling once a table grows past millions of rows. Process a bounded window instead: a watermark ends it, a lookback absorbs late files, and an idempotent write (partition overwrite or MERGE) makes every re-run safe — including re-processing a late window.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Make the sink idempotent so replays never duplicate rows</title><link>https://emanisha.in/de-agent/tutorials/streaming-idempotent-sink/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/streaming-idempotent-sink/</guid><description>The core producer-side reliability skill for streams: you cannot stop replays, so the sink must converge. Deduplicate by a business key and event time within the watermark, MERGE on the key, and rank change events by (lsn, ts_ms) — never by arrival time.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Onboard an agent with the DE Data Toolkit</title><link>https://emanisha.in/de-agent/tutorials/agentic-de-data-toolkit-start/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/agentic-de-data-toolkit-start/</guid><description>Onboard an agent onto a data repo with the DE Data Toolkit plugin: the SQL/Spark review skills, the destructive-SQL guard, a secret scanner, and the file/git MCP servers already wired. Learn the three commands and which hooks run underneath.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Own the consumer side — offsets, rebalances, and the KIP-848 protocol</title><link>https://emanisha.in/de-agent/tutorials/streaming-consumer-reliability/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/streaming-consumer-reliability/</guid><description>Consumer reliability is where streams quietly break: a rebalance loop looks like slowness, consumers past the partition count buy nothing, and stop-the-world rebalances pause consumption. Read group state, fix the timeouts, and know what the next-generation protocol changes.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Plan and execute a safe backfill</title><link>https://emanisha.in/de-agent/tutorials/plan-safe-backfill/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/plan-safe-backfill/</guid><description>Use the Backfill Planner&apos;s four-step plan — correctness criteria, downstream impact from lineage, cost and contention, staged batches — then execute it the way the backfill runbook demands: shadow table, sample validation per batch, and never beside the daily production run.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Production gotchas — the configs and capacities that break streams</title><link>https://emanisha.in/de-agent/tutorials/streaming-prod-gotchas/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/streaming-prod-gotchas/</guid><description>The five causes of consumer lag on one card, the two destructive shortcuts that must never happen, and the capacity trap of scaling past the partition count. Ends with the alert that matters — lag slope, not absolute lag — and the sampling rules that keep PII out of agent contexts.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Read a Spark event log with the Spark Lens plugin</title><link>https://emanisha.in/de-agent/tutorials/spark-lens-event-log/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/spark-lens-event-log/</guid><description>Install the Spark Lens plugin and work its three commands over a Spark event log: /spark-analyze to build a task histogram and flag skew, /spark-explain-plan to check the join strategy, and /spark-baseline to store the cost baseline the guard enforces.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Read an EXPLAIN plan and pick the one fix</title><link>https://emanisha.in/de-agent/tutorials/sql-query-plan-read/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-query-plan-read/</guid><description>Take the EXPLAIN output of a slow query and read it bottom-up, naming the expensive node before you touch anything. You compare estimated rows to actual rows to catch stale statistics, separate scan cost from compute time with the warehouse runbook, and finish by deciding between an index, a rewrite, or a stats refresh — one change, with a way to measure it.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Respond when a data contract breaks</title><link>https://emanisha.in/de-agent/tutorials/respond-broken-contract/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/respond-broken-contract/</guid><description>Work the broken-contract runbook end to end: identify which clause broke, bound the consumer impact set from lineage before anything else, decide whether the producer reverts or the consumer adapts, and close with consumer-driven contract tests in the producer&apos;s pipeline.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Review a dbt model PR before merge</title><link>https://emanisha.in/de-agent/tutorials/review-dbt-model-pr/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/review-dbt-model-pr/</guid><description>Take a pull request that adds or changes a dbt model and walk the reviewer&apos;s pass: read the diff in context, state the model&apos;s grain and check it against the unique key test, choose table vs incremental vs view deliberately, and handle late-arriving data in the incremental filter. You finish with findings a reviewer can verify before the model merges.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Review a PySpark transform for silent quality failures</title><link>https://emanisha.in/de-agent/tutorials/spark-dq-review-pass/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/spark-dq-review-pass/</guid><description>Run the five-check pass over a PySpark transform before it merges: null propagation, join fan-out, silent coercion, non-determinism, and missing post-write assertions. Each finding lands as severity, file:line, rule and a suggested patch.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Review a schema change against its contract</title><link>https://emanisha.in/de-agent/tutorials/review-schema-change-against-contract/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/review-schema-change-against-contract/</guid><description>Run the Schema Reviewer&apos;s four-step pass over a producer&apos;s schema diff — classify each field change, resolve consumers from lineage, emit a dated migration plan — and use the schema-drift runbook to separate hard failures from silent nulls before anything merges.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Run an AWS data architecture review pass</title><link>https://emanisha.in/de-agent/tutorials/aws-architecture-review-pass/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/aws-architecture-review-pass/</guid><description>Point the AWS Architecture Reviewer at an architecture description or IaC and follow its four-step workflow: map the services to a data flow, check IAM for least privilege, estimate dominant cost drivers, and identify single points of failure. The agent is read-only and never creates resources.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Run dbt model review and tests from the workbench plugin</title><link>https://emanisha.in/de-agent/tutorials/dbt-workbench-commands/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dbt-workbench-commands/</guid><description>Install the dbt Workbench plugin and drive one model change through its three commands: /dbt-review-model for the model review, /dbt-write-tests for a proposed test set, and /dbt-impact before you merge. Along the way you apply the same grain and blast-radius checks the plugin&apos;s underlying skills use, with the full-refresh guard watching destructive rebuilds.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Run the Iceberg maintenance routine</title><link>https://emanisha.in/de-agent/tutorials/iceberg-maintenance-routine/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/iceberg-maintenance-routine/</guid><description>Work an Iceberg table through the maintenance skill&apos;s plan: read the files metadata table to size the problem, rewrite data files to a 128-256 MB target, rewrite manifests when the manifest list is huge, expire snapshots without breaking time travel, and remove orphan files on a schedule with a safety margin.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Split a batch into quarantine and publish</title><link>https://emanisha.in/de-agent/tutorials/dq-quarantine-publish-walkthrough/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/dq-quarantine-publish-walkthrough/</guid><description>Build the pipeline-dq-quarantine starter the way the Quarantine then Publish pattern prescribes: a quality contract splits each batch into a published set and a quarantine with reasons. You finish with a test that proves no row is ever lost and an alert on the quarantine rate.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Stream changes, not tables — CDC from Postgres into the lakehouse</title><link>https://emanisha.in/de-agent/tutorials/streaming-cdc-lakehouse/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/streaming-cdc-lakehouse/</guid><description>The intermediate pattern that replaces nightly extraction: read the write-ahead log through Debezium, stream through Kafka, dedupe by LSN, and MERGE into Delta/Iceberg. Covers tombstones, decimal handling, and what a dropped replication slot costs you.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Triage Kafka consumer lag from per-partition offsets</title><link>https://emanisha.in/de-agent/tutorials/kafka-lag-triage-drill/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/kafka-lag-triage-drill/</guid><description>Combine the lag-triage skill&apos;s three questions with the lagging-consumer runbook: read per-partition lag to separate capacity from key skew, check the group state history for a rebalance loop, find the one stuck offset that marks a poison message, then apply the matching fix — and never reset offsets.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Window a stream correctly — watermarks, dedupe, and late data</title><link>https://emanisha.in/de-agent/tutorials/streaming-windows-watermarks/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/streaming-windows-watermarks/</guid><description>Stream processing in practice: start from the kafka-streaming template, pick event-time over processing-time windows, set a watermark you can defend, and prove what happens to late data. Checkpointing and an idempotent MERGE sink make the job restartable without duplicating output.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The 3am batch incident path</title><link>https://emanisha.in/de-agent/tutorials/spark-incident-diagnosis/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/spark-incident-diagnosis/</guid><description>The nightly job is crawling or dead under memory pressure or skew. Follow the incident path: collect the four pieces of evidence, read p50 vs p99 and the spill bytes, decide revert vs fix, escalate on golden-hour SLAs, and record the skew/spill/scan signature so the next run is faster to diagnose.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Tune a slow job — memory, partitions, baselines</title><link>https://emanisha.in/de-agent/tutorials/spark-tuning-memory-partitions/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/spark-tuning-memory-partitions/</guid><description>Run the tuning loop on a slow batch job: parse task-duration and shuffle metrics, classify the stage as skew, partition count, spill or scan, apply the single highest-impact change, and verify it against a stored baseline the CI guard enforces.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Review SQL for fan-out joins</title><link>https://emanisha.in/de-agent/tutorials/sql-fanout-review/</link><guid isPermaLink="true">https://emanisha.in/de-agent/tutorials/sql-fanout-review/</guid><description>Follow the SQL Reviewer agent&apos;s four-step pass over a real query: read the diff and its context, establish the grain of every result set, apply the SQL Review skill&apos;s five rules while stopping at the first fan-out, and emit findings with file positions plus a rewritten clause you can verify against the twelve-case evaluation fixture.</description><pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate></item><item><title>DataHub MCP Server</title><link>https://emanisha.in/de-agent/mcp/datahub/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/datahub/</guid><description>Exposes a DataHub catalog: search entities, read lineage and schema, and inspect metadata, so an agent can answer &quot;what is this table and what depends on it?&quot;.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate></item><item><title>dbt MCP Server</title><link>https://emanisha.in/de-agent/mcp/dbt/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/dbt/</guid><description>dbt Labs server that exposes project discovery, the semantic layer, and the dbt CLI (`run`, `test`, `compile`) as tools, so an agent can build and inspect models.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate></item><item><title>AWS MCP Servers (Labs)</title><link>https://emanisha.in/de-agent/mcp/aws/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/aws/</guid><description>A suite of AWS Labs servers — including documentation search, CDK/Terraform assistance, and service-specific servers — for agents working on AWS.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate></item><item><title>SQL Review</title><link>https://emanisha.in/de-agent/skills/sql-review/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/sql-review/</guid><description>Reviews a SQL statement for fan-out joins, NULL-unsafe predicates, implicit casts, non-deterministic ordering, and functions that silently change grain.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark Data Quality Review</title><link>https://emanisha.in/de-agent/skills/spark-data-quality-review/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/spark-data-quality-review/</guid><description>A review skill an agent runs against a Spark/PySpark transform. It checks null propagation, join fan-out, silent type coercion, non-deterministic row counts and missing post-write assertions, then reports findings as a diff-level list.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Fetch MCP Server</title><link>https://emanisha.in/de-agent/mcp/fetch/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/fetch/</guid><description>Retrieves a URL and converts it to markdown for the model. Commonly used to read documentation during a task.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Filesystem MCP Server</title><link>https://emanisha.in/de-agent/mcp/filesystem/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/filesystem/</guid><description>Reference server that exposes a sandboxed set of directories as readable and (optionally) writable tools. Useful for pipelines that operate on local files.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Git MCP Server</title><link>https://emanisha.in/de-agent/mcp/git/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/git/</guid><description>Exposes local Git operations — status, diff, log, commit, branch — as tools, so an agent can inspect history and prepare changes without shelling out blindly.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>PostgreSQL MCP Server</title><link>https://emanisha.in/de-agent/mcp/postgres/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/postgres/</guid><description>Connects an agent to a Postgres database with a read-only query tool and schema introspection. The canonical example of a &quot;database over MCP&quot; server.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>DE Data Toolkit</title><link>https://emanisha.in/de-agent/plugins/de-data-toolkit/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/de-data-toolkit/</guid><description>The opinionated starter plugin: SQL/Spark review skills, the destructive-SQL guard, a secret scanner and the file/git MCP servers, wired for data engineers.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>SQL Reviewer</title><link>https://emanisha.in/de-agent/agents/sql-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/sql-reviewer/</guid><description>Review SQL before it merges, catching correctness bugs and fan-out joins.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Local Docker Data Stack</title><link>https://emanisha.in/de-agent/templates/docker-local-stack/</link><guid isPermaLink="true">https://emanisha.in/de-agent/templates/docker-local-stack/</guid><description>A docker-compose stack (Postgres, Kafka, MinIO, Spark, and a DuckDB CLI) for developing and testing pipelines entirely offline.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>DuckDB Documentation</title><link>https://emanisha.in/de-agent/references/duckdb-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/duckdb-docs/</guid><description>DuckDB&apos;s documentation — the embedded analytics SQL engine, Parquet and CSV readers, in-process query execution, and extensions (ICU, JSON, Parquet, Excel). The fastest way to make a pipeline testable locally; covers everything our SQL review and testing skills reference, plus the DuckDB docs themselves.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Model Context Protocol Specification</title><link>https://emanisha.in/de-agent/references/mcp-specification/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/mcp-specification/</guid><description>The Model Context Protocol Specification — definitive reference for transports (stdio, SSE, HTTP), tool definitions, resource templates, prompts, and the security model. The security section is required reading before connecting any MCP server to real data; the transport section explains stdio vs HTTP tradeoffs. The canonical reference for all MCP server implementations on this platform.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>MCP Tool Contract Auditor</title><link>https://emanisha.in/de-agent/skills/mcp-tool-contract-auditor/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/mcp-tool-contract-auditor/</guid><description>Inspects an MCP server&apos;s tool list and schemas, flags tools that can write, delete, spend money or exfiltrate data, and produces a least-privilege connection recommendation.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>GitHub MCP Server</title><link>https://emanisha.in/de-agent/mcp/github/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/github/</guid><description>First-party GitHub server exposing repositories, issues, pull requests and code search, plus optional write operations.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Destructive SQL Guard</title><link>https://emanisha.in/de-agent/hooks/destructive-sql-guard/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/destructive-sql-guard/</guid><description>Intercept DROP / TRUNCATE / DELETE-without-WHERE before an agent executes it.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline failed</title><link>https://emanisha.in/de-agent/runbooks/pipeline-failed/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/pipeline-failed/</guid><description>A task or DAG run has failed and downstream work is blocked — triage, classify and recover.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Agent-in-the-Loop Review</title><link>https://emanisha.in/de-agent/patterns/agent-in-the-loop-review/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/agent-in-the-loop-review/</guid><description>Coding agents can do real data-engineering work, but can also ship a schema change or drop a table.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Apache Airflow Documentation</title><link>https://emanisha.in/de-agent/references/airflow-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/airflow-docs/</guid><description>Airflow&apos;s documentation — DAG authoring, scheduling semantics and timetables, backfills and catchup, task state and retries, dynamic task mapping, and best practices. The scheduling and best-practices pages answer the idempotency and backfill questions our orchestration skills only sketch; read them before designing any recurring pipeline.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>MCP Registry (official)</title><link>https://emanisha.in/de-agent/references/mcp-registry/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/mcp-registry/</guid><description>The official MCP Registry — community-driven registry of MCP servers with a metadata schema for discovery. The canonical place to discover MCP servers — treat entries as *discovery*, never as a trust signal. The metadata schema defines server capabilities, transport, and authentication; essential for building MCP-aware tooling.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt Test Writer</title><link>https://emanisha.in/de-agent/skills/dbt-test-writer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/dbt-test-writer/</guid><description>Proposes dbt tests ranked by blast radius: uniqueness/not-null on the grain key, accepted values on enums, relationships on foreign keys, and freshness on sources.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt Model Review</title><link>https://emanisha.in/de-agent/skills/dbt-model-review/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/dbt-model-review/</guid><description>Checks a dbt model&apos;s grain statement, ref/dependency hygiene, incremental strategy and late-arriving-data handling, then proposes a test set.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>DuckDB / MotherDuck MCP Server</title><link>https://emanisha.in/de-agent/mcp/duckdb/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/duckdb/</guid><description>Queries DuckDB databases and MotherDuck, including reading Parquet/CSV directly from object storage. Excellent for local, offline analysis with an agent.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt Workbench</title><link>https://emanisha.in/de-agent/plugins/dbt-workbench/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/dbt-workbench/</guid><description>Model review, test generation, incremental-safety checks and a full-refresh guard, plus the dbt MCP server for running commands from the agent.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Schema Change Check</title><link>https://emanisha.in/de-agent/hooks/schema-change-check/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/schema-change-check/</guid><description>Block a commit that introduces a breaking schema change without a migration plan.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark Optimizer</title><link>https://emanisha.in/de-agent/agents/spark-optimizer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/spark-optimizer/</guid><description>Diagnose and fix slow or expensive Spark jobs from their metrics.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>PySpark Project Template</title><link>https://emanisha.in/de-agent/templates/pyspark-project/</link><guid isPermaLink="true">https://emanisha.in/de-agent/templates/pyspark-project/</guid><description>A testable PySpark project: src/transforms, tests with a local Spark session, a Dockerfile, and a Makefile that runs lint + tests offline.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>API → S3 → Spark → Parquet</title><link>https://emanisha.in/de-agent/projects/api-s3-spark-parquet/</link><guid isPermaLink="true">https://emanisha.in/de-agent/projects/api-s3-spark-parquet/</guid><description>Land a paginated REST API into S3 raw, transform with PySpark into partitioned Parquet, and make the whole thing idempotent and testable offline.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark job is slow</title><link>https://emanisha.in/de-agent/runbooks/spark-job-slow/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/spark-job-slow/</guid><description>A batch Spark job&apos;s runtime has jumped — find whether it is skew, partition count, spill or over-scan.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Medallion Zones (raw / curated / serving)</title><link>https://emanisha.in/de-agent/patterns/medallion-zones/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/medallion-zones/</guid><description>Object storage gives you a place to put files but no structure for trust or ownership.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Agent Skills (open format)</title><link>https://emanisha.in/de-agent/references/agent-skills/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/agent-skills/</guid><description>The Agent Skills format specification — a SKILL.md file with front-matter (name, description, version), plus references/, scripts/, and examples/ directories that an agent loads on demand. The format this platform&apos;s Skill object is modelled on — portable across compatible agents. Covers the SKILL.md schema, the directory layout convention, and the agent loading protocol.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Apache Spark Documentation</title><link>https://emanisha.in/de-agent/references/spark-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/spark-docs/</guid><description>The authoritative reference for Spark SQL, the DataFrame API, tuning and the configuration catalogue, versioned per Spark release. Use it for exact semantics and config keys — when a job skews or slows, check the config reference and the tuning guide before changing code, alongside our skew-diagnosis and cost skills.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline Test Author</title><link>https://emanisha.in/de-agent/skills/pipeline-test-author/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/pipeline-test-author/</guid><description>Builds a local DuckDB/pyarrow harness with tiny fixtures so pipeline logic is testable in CI without a cluster, and asserts on invariants, not snapshots.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Snowflake MCP Server (Labs)</title><link>https://emanisha.in/de-agent/mcp/snowflake/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/snowflake/</guid><description>Snowflake Labs server exposing object management and SQL execution against a Snowflake account, including Cortex Search and Analyst services.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Contract Kit</title><link>https://emanisha.in/de-agent/plugins/contract-kit/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/contract-kit/</guid><description>Authors data contracts, enforces them in CI, and classifies schema changes as compatible/risky/breaking for producers and consumers.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Pre-deployment DQ Check</title><link>https://emanisha.in/de-agent/hooks/pre-deployment-dq-check/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/pre-deployment-dq-check/</guid><description>Run the quality suite against a staged run before promoting to production.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt Project Template</title><link>https://emanisha.in/de-agent/templates/dbt-project/</link><guid isPermaLink="true">https://emanisha.in/de-agent/templates/dbt-project/</guid><description>A layered dbt project (staging/intermediate/marts) with tests, docs, a CI workflow that builds against a staging schema, and a source freshness config.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt → warehouse → tests → docs</title><link>https://emanisha.in/de-agent/projects/dbt-warehouse-tests/</link><guid isPermaLink="true">https://emanisha.in/de-agent/projects/dbt-warehouse-tests/</guid><description>Transform raw landed data into a tested, documented star schema with dbt, and gate every change on data-aware CI.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data quality failure</title><link>https://emanisha.in/de-agent/runbooks/data-quality-failure/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/data-quality-failure/</guid><description>A quality expectation failed in production and bad data may be reaching consumers.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Kafka consumer lagging</title><link>https://emanisha.in/de-agent/runbooks/kafka-consumer-lagging/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/kafka-consumer-lagging/</guid><description>A consumer group is falling behind the topic and downstream tables are going stale.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Quarantine then Publish</title><link>https://emanisha.in/de-agent/patterns/quarantine-publish/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/quarantine-publish/</guid><description>One bad batch of rows can poison a whole table and every downstream metric.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Apache Kafka Documentation</title><link>https://emanisha.in/de-agent/references/kafka-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/kafka-docs/</guid><description>Kafka&apos;s official documentation — architecture and design, delivery semantics, the protocol, consumer groups and offsets, operations, and security. The design section explains why ordering and partitions behave the way they do; the operations section companions our lag-triage skill and consumer-lag runbook when a group falls behind.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt Documentation</title><link>https://emanisha.in/de-agent/references/dbt-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/dbt-docs/</guid><description>dbt&apos;s documentation — the analytics-engineering workflow, project structure with models and sources, materialisations and incremental-model patterns, tests (unique, not-null, relationships, accepted values) and the docs-as-data approach. The materialisation and incremental-model pages are the reference behind our dbt review and testing skills; pair with our warehouse-testing guide for the practical path.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Schema Change Contract Review</title><link>https://emanisha.in/de-agent/skills/schema-change-contract-review/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/schema-change-contract-review/</guid><description>Diffs an old and new schema, classifies the change (compatible / risky / breaking) against consumers, and produces the migration and comms plan.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark Lens</title><link>https://emanisha.in/de-agent/plugins/spark-lens/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/spark-lens/</guid><description>Parses Spark event logs into a task histogram, flags skew and shuffle amplification, and compares against a stored cost baseline.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Secret Scan on Commit</title><link>https://emanisha.in/de-agent/hooks/secret-scan-commit/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/secret-scan-commit/</guid><description>Stop credentials from being committed into a pipeline repo.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data Quality Reviewer</title><link>https://emanisha.in/de-agent/agents/data-quality-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/data-quality-reviewer/</guid><description>Audit a dataset or pipeline for the quality failures that reach consumers.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline → DQ → quarantine → publish</title><link>https://emanisha.in/de-agent/projects/pipeline-dq-quarantine/</link><guid isPermaLink="true">https://emanisha.in/de-agent/projects/pipeline-dq-quarantine/</guid><description>Put a contract in front of a table: validate each batch, publish the clean rows, quarantine the rest with reasons, and alert on the quarantine rate.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Schema drift</title><link>https://emanisha.in/de-agent/runbooks/schema-drift/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/schema-drift/</guid><description>The upstream schema changed without notice and a cast broke or a column silently nulled.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt as Models + Tests + Docs</title><link>https://emanisha.in/de-agent/patterns/dbt-tests-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/dbt-tests-docs/</guid><description>Transformation logic lives in untested, undocumented SQL scattered across scripts.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Incremental Batch with a Watermark</title><link>https://emanisha.in/de-agent/patterns/batch-incremental-watermark/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/batch-incremental-watermark/</guid><description>Full reloads are too slow and too expensive once a table grows past millions of rows.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt Best Practices Guide</title><link>https://emanisha.in/de-agent/references/dbt-best-practices/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/dbt-best-practices/</guid><description>dbt Labs&apos; official best practices guide — project structure, staging/marts layering, naming conventions, testing conventions (unique, not_null, relationships, accepted_values), model contracts, and incremental model patterns. A widely-adopted convention set; agreeing on it early avoids enormous friction later. The testing conventions section directly backs our dbt test writer skill; the materialization guide supports our warehouse testing patterns.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Delta Lake Documentation</title><link>https://emanisha.in/de-agent/references/delta-lake-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/delta-lake-docs/</guid><description>Delta Lake&apos;s official docs — ACID transactions on object storage, time travel, OPTIMIZE and Z-ORDER clustering, Delta Live Tables, and Unity Catalog integration. The definitive source for Delta features and the maintenance operations our lakehouse skills reference; compare with our Delta vs Iceberg decision guide before committing to a format.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Incident Postmortem Writer</title><link>https://emanisha.in/de-agent/skills/incident-postmortem-writer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/incident-postmortem-writer/</guid><description>Structures incident notes into a blameless postmortem: timeline, impact, detection gap, contributing factors, and action items with owners and dates.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Runbook Runner</title><link>https://emanisha.in/de-agent/plugins/runbook-runner/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/runbook-runner/</guid><description>Loads the production playbooks into the agent, matches an alert to a runbook, and walks the operator through diagnosis and mitigation step by step.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Production Write Confirmation</title><link>https://emanisha.in/de-agent/hooks/prod-write-confirm/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/prod-write-confirm/</guid><description>Force human confirmation for any write against a production data target.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Incident Assistant</title><link>https://emanisha.in/de-agent/agents/incident-assistant/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/incident-assistant/</guid><description>Guide an on-call engineer through a data incident and produce the postmortem.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Postgres → CDC → Kafka → Lakehouse</title><link>https://emanisha.in/de-agent/projects/postgres-cdc-kafka-lakehouse/</link><guid isPermaLink="true">https://emanisha.in/de-agent/projects/postgres-cdc-kafka-lakehouse/</guid><description>Capture changes from Postgres with Debezium, stream through Kafka, and merge into a lakehouse table with correct ordering, deletes and replay safety.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Backfill required</title><link>https://emanisha.in/de-agent/runbooks/backfill-required/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/backfill-required/</guid><description>Historical output is wrong or missing and must be recomputed safely, without breaking production.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark job suddenly costs 4x</title><link>https://emanisha.in/de-agent/runbooks/spark-job-suddenly-costs-4x/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/spark-job-suddenly-costs-4x/</guid><description>One job&apos;s compute cost quadrupled without an obvious functional change — attribute it and reverse the regression.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Postgres CDC to Lakehouse</title><link>https://emanisha.in/de-agent/patterns/postgres-cdc-lakehouse/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/postgres-cdc-lakehouse/</guid><description>Batch extraction from an OLTP database loads it and still misses deletes and mid-day changes.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Apache Iceberg Documentation</title><link>https://emanisha.in/de-agent/references/iceberg-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/iceberg-docs/</guid><description>Iceberg&apos;s specification and documentation — the table format, snapshots and manifests, hidden partitioning, schema and partition evolution, and maintenance procedures like compaction and snapshot expiry. The table format is a specification, so the spec is the ground truth when engines disagree; essential reading for multi-engine shops where Spark, Trino, and warehouses share tables.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Airflow DAG Reviewer</title><link>https://emanisha.in/de-agent/skills/airflow-dag-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/airflow-dag-reviewer/</guid><description>Checks a DAG for non-idempotent tasks, unsafe retries, missing catchup policy, ambiguous catchup/backfill semantics and unbounded concurrency.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark Cost Check</title><link>https://emanisha.in/de-agent/hooks/spark-cost-check/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/spark-cost-check/</guid><description>Fail a build when a Spark job&apos;s shuffle/spill/scan metrics regress past a threshold.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Schema Reviewer</title><link>https://emanisha.in/de-agent/agents/schema-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/schema-reviewer/</guid><description>Classify schema changes and prevent breaking changes from shipping.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Airflow DAG Template</title><link>https://emanisha.in/de-agent/templates/airflow-dag/</link><guid isPermaLink="true">https://emanisha.in/de-agent/templates/airflow-dag/</guid><description>An idempotent DAG skeleton with task groups, retries and backoff, SLA, pools, and a sensor using reschedule mode.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>CDC stopped</title><link>https://emanisha.in/de-agent/runbooks/cdc-stopped/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/cdc-stopped/</guid><description>Change events stopped flowing from a source and the target table is silently diverging.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Idempotent Partition Overwrite</title><link>https://emanisha.in/de-agent/patterns/idempotent-partition-overwrite/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/idempotent-partition-overwrite/</guid><description>Retries and backfills duplicate or corrupt data because writes are appends.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Safe Backfill</title><link>https://emanisha.in/de-agent/patterns/backfill-safety/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/backfill-safety/</guid><description>Backfills corrupt production or take down the daily run.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Debezium Documentation</title><link>https://emanisha.in/de-agent/references/debezium-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/debezium-docs/</guid><description>Debezium&apos;s documentation — source and sink connectors, the change-event envelope format, initial snapshots, schema history handling, and the operational pitfalls of running connectors in production. The connector matrix and the events section are what you need to design a correct CDC merge; pair with our Postgres CDC lakehouse project for the full path.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Snowflake Documentation</title><link>https://emanisha.in/de-agent/references/snowflake-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/snowflake-docs/</guid><description>Snowflake&apos;s official documentation — comprehensive coverage of micro-partitions, clustering keys, virtual warehouses, streams and tasks, time travel, and zero-copy cloning. The performance and cost sections are the definitive reference for clustering-key design, warehouse sizing, and query optimization. The Snowflake Cortex and ML functions sections document built-in ML capabilities. The security chapter covers RBAC, network policies, and Tri-Secret Secure. Essential reading for anyone operating Snowflake at scale; pairs with our cost-engineering and warehouse-clustering skills.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Warehouse Explorer</title><link>https://emanisha.in/de-agent/plugins/warehouse-explorer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/warehouse-explorer/</guid><description>Schema browsing, query-plan explanation, clustering advice and a read-only connection profile for Snowflake/BigQuery/Redshift.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Pipeline Reviewer</title><link>https://emanisha.in/de-agent/agents/pipeline-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/pipeline-reviewer/</guid><description>Review a DAG or pipeline for idempotency, retries and backfill safety.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Template</title><link>https://emanisha.in/de-agent/templates/data-contract-template/</link><guid isPermaLink="true">https://emanisha.in/de-agent/templates/data-contract-template/</guid><description>A contract skeleton (ownership, schema, semantics, SLA, compatibility policy) with the CI check that enforces it and a deprecation checklist.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Kafka → Spark Streaming → Delta</title><link>https://emanisha.in/de-agent/projects/kafka-spark-delta/</link><guid isPermaLink="true">https://emanisha.in/de-agent/projects/kafka-spark-delta/</guid><description>A low-latency stream into Delta Lake with watermarking, windowed aggregation and idempotent upserts that survive replays.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Duplicate records</title><link>https://emanisha.in/de-agent/runbooks/duplicate-records/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/duplicate-records/</guid><description>Row counts are inflated and metrics double-counted after a retry, a fan-out join or a backfill.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Streaming Dedup and Upsert</title><link>https://emanisha.in/de-agent/patterns/streaming-dedup-upsert/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/streaming-dedup-upsert/</guid><description>Streaming sinks either duplicate on replay or lose rows on failure.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>SQL Query Plan Explainer</title><link>https://emanisha.in/de-agent/skills/sql-query-plan-explainer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/sql-query-plan-explainer/</guid><description>Reads EXPLAIN / EXPLAIN ANALYZE output and explains scans, joins, spills and estimated-vs-actual row skew, then proposes the single highest-impact change.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Backfill Safety Check</title><link>https://emanisha.in/de-agent/hooks/backfill-safety-check/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/backfill-safety-check/</guid><description>Refuse to start a backfill that lacks a rollback path or overlaps the daily run.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>S3 → Glue → Athena</title><link>https://emanisha.in/de-agent/projects/s3-glue-athena/</link><guid isPermaLink="true">https://emanisha.in/de-agent/projects/s3-glue-athena/</guid><description>A serverless, query-in-place pattern: land Parquet in S3, catalogue it with Glue, and query with Athena while keeping scanned bytes (and cost) low.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Small files explosion</title><link>https://emanisha.in/de-agent/runbooks/small-files-explosion/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/small-files-explosion/</guid><description>A table has fragmented into thousands of tiny files and query planning now dominates runtime.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Compaction &amp; File-Size Management</title><link>https://emanisha.in/de-agent/patterns/small-files-compaction/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/small-files-compaction/</guid><description>High-frequency writes shatter a table into thousands of tiny files and queries crawl.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Contracts as a Quality Gate</title><link>https://emanisha.in/de-agent/patterns/contracts-quality-gate/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/contracts-quality-gate/</guid><description>Producers change schemas and semantics with no notice; consumers break in production.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Great Expectations Documentation</title><link>https://emanisha.in/de-agent/references/great-expectations-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/great-expectations-docs/</guid><description>Great Expectations documentation — expectations (expectations, suites, checkpoints) as a YAML DSL for data quality, plus the data-doc approach that connects quality rules to documentation. The expectation catalogue is a practical vocabulary for expressing rules with precision; pairs with our Soda Core reference and data-quality starter guide.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>AWS Glue Job Reviewer</title><link>https://emanisha.in/de-agent/skills/aws-glue-job-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/aws-glue-job-reviewer/</guid><description>Reviews Glue/Spark jobs for worker sizing, job bookmarks, partition pruning, and the catalogue/schema pitfalls that cause silent full reprocessing.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Kafka Console</title><link>https://emanisha.in/de-agent/plugins/kafka-console/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/kafka-console/</guid><description>Topic inventory, per-partition lag triage, rebalance detection and a read-only message sampler with a PII redaction pass.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>dbt Full-Refresh Guard</title><link>https://emanisha.in/de-agent/hooks/dbt-full-refresh-guard/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/dbt-full-refresh-guard/</guid><description>Require confirmation before a full-refresh of a large incremental model.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>AWS Architecture Reviewer</title><link>https://emanisha.in/de-agent/agents/aws-architecture-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/aws-architecture-reviewer/</guid><description>Review an AWS data architecture for cost, IAM and reliability risks.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Kafka Streaming Job Template</title><link>https://emanisha.in/de-agent/templates/kafka-streaming/</link><guid isPermaLink="true">https://emanisha.in/de-agent/templates/kafka-streaming/</guid><description>A structured-streaming job with checkpointing, watermarking, a dedupe stage and an idempotent MERGE sink to Delta/Iceberg.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data contract broken</title><link>https://emanisha.in/de-agent/runbooks/data-contract-broken/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/data-contract-broken/</guid><description>A producer violated its contract and a consumer broke in production — bound the impact before fixing.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery Documentation</title><link>https://emanisha.in/de-agent/references/bigquery-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/bigquery-docs/</guid><description>BigQuery&apos;s official documentation — comprehensive coverage of partitioning, clustering, slot management, and the query optimizer&apos;s behavior. Covers BigQuery ML, BI Engine, materialized views, and authorized views. The partitioning/clustering pages explain the exact levers for cost control; the query optimizer section explains slot utilization and query planning. Essential for our Athena/BigQuery cost comparison guide and BigQuery cost-optimization patterns.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Kafka Consumer Lag Triage</title><link>https://emanisha.in/de-agent/skills/kafka-consumer-lag-triage/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/kafka-consumer-lag-triage/</guid><description>Triages consumer lag from the consumer-group offsets: distinguishing a slow consumer, a partitioned hot key, a rebalance storm, and a poison-pill retry loop.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>BigQuery MCP Server</title><link>https://emanisha.in/de-agent/mcp/bigquery/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/bigquery/</guid><description>Community server for BigQuery that lists datasets and runs SQL against a project, with support for the BigQuery SQL dialect.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Lineage Graph</title><link>https://emanisha.in/de-agent/plugins/lineage-graph/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/lineage-graph/</guid><description>Column-level impact analysis over a lineage store, with a change-impact command that lists the downstream consumers a schema change would break.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>PII Leak Guard</title><link>https://emanisha.in/de-agent/hooks/pii-leak-guard/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/pii-leak-guard/</guid><description>Prevent raw PII from entering model context or being written to an unprotected path.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Kafka Troubleshooter</title><link>https://emanisha.in/de-agent/agents/kafka-troubleshooter/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/kafka-troubleshooter/</guid><description>Triage consumer lag, rebalance loops and poison messages in minutes.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Terraform AWS Data Platform</title><link>https://emanisha.in/de-agent/templates/terraform-aws-data-platform/</link><guid isPermaLink="true">https://emanisha.in/de-agent/templates/terraform-aws-data-platform/</guid><description>S3 buckets with lifecycle + encryption, Glue catalogue, IAM roles scoped to least privilege, and Athena workgroups with query limits.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Bad deployment</title><link>https://emanisha.in/de-agent/runbooks/bad-deployment/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/bad-deployment/</guid><description>A deploy broke production; correlate the signal with the change and roll back first.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Dimensional Model (star schema)</title><link>https://emanisha.in/de-agent/patterns/dimensional-model/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/dimensional-model/</guid><description>Analysts re-derive the same joins and disagree on metric definitions.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Apache Parquet Documentation &amp; Spec</title><link>https://emanisha.in/de-agent/references/parquet-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/parquet-docs/</guid><description>Apache Parquet documentation and specification — columnar encoding, row groups, statistics, predicate pushdown, and how to structure files for efficient reads. Understanding statistics and row-group sizing is the practical step that turns &quot;use Parquet&quot; into &quot;and lay out the file like this&quot;; pairs with small-files and lambda-vs-kappa guides.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Backfill Planner</title><link>https://emanisha.in/de-agent/skills/backfill-planner/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/backfill-planner/</guid><description>Produces a backfill plan: date ranges, blast radius, resource contention, idempotency check, validation gates and rollback.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Lakehouse Guard</title><link>https://emanisha.in/de-agent/plugins/lakehouse-guard/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/lakehouse-guard/</guid><description>Delta/Iceberg table maintenance advisor plus a guard that blocks compaction or snapshot expiry during peak ingestion windows.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Backfill Planner</title><link>https://emanisha.in/de-agent/agents/backfill-planner-agent/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/backfill-planner-agent/</guid><description>Produce a safe, staged backfill plan with validation and rollback.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Late files</title><link>https://emanisha.in/de-agent/runbooks/late-files/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/late-files/</guid><description>Partner files arrive after the job has already run, so historical numbers keep changing.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Cost Guardrails</title><link>https://emanisha.in/de-agent/patterns/cost-guardrails/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/cost-guardrails/</guid><description>A working pipeline silently becomes expensive and nobody notices until the invoice.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Databricks Documentation</title><link>https://emanisha.in/de-agent/references/databricks-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/databricks-docs/</guid><description>Databricks Documentation — comprehensive coverage of Delta Live Tables, Unity Catalog, jobs and clusters, liquid clustering, Photon engine, and Unity Catalog governance. The Liquid Clustering and Unity Catalog pages are platform-specific and only documented here; the Delta Live Tables section is the definitive reference for building reliable pipelines. Essential for our lakehouse skills and Databricks-specific patterns.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark Skew Diagnosis</title><link>https://emanisha.in/de-agent/skills/spark-skew-diagnosis/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/spark-skew-diagnosis/</guid><description>Walks an agent through reading the Spark UI/event log to distinguish key skew, partition skew, and shuffle-write amplification, then selects between salting, AQE skew join, broadcast, and repartition strategies.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Freshness Pre-Merge Check</title><link>https://emanisha.in/de-agent/hooks/freshness-pre-merge/</link><guid isPermaLink="true">https://emanisha.in/de-agent/hooks/freshness-pre-merge/</guid><description>Warn when a change would silently widen the freshness SLA of a source.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Databricks Reviewer</title><link>https://emanisha.in/de-agent/agents/databricks-reviewer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/databricks-reviewer/</guid><description>Review notebooks, jobs and Delta tables for the Databricks-specific pitfalls.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Warehouse query is slow</title><link>https://emanisha.in/de-agent/runbooks/warehouse-query-slow/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/warehouse-query-slow/</guid><description>A query that used to be fast became slow — separate scan inefficiency from compute contention.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>DataHub Documentation</title><link>https://emanisha.in/de-agent/references/datahub-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/datahub-docs/</guid><description>DataHub&apos;s documentation — the open metadata model for ownership and lineage, ingestion framework, search, and governance integration. Explains how to represent ownership and lineage consistently across tools; the key vocabulary resource for any catalog-related pipeline design.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Warehouse Clustering Advisor</title><link>https://emanisha.in/de-agent/skills/warehouse-clustering-advisor/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/warehouse-clustering-advisor/</guid><description>Advises on Snowflake/BigQuery/Redshift tuning: clustering keys, warehouse sizing, result caching, and the difference between a scan problem and a compute problem.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Cost Lens</title><link>https://emanisha.in/de-agent/plugins/cost-lens/</link><guid isPermaLink="true">https://emanisha.in/de-agent/plugins/cost-lens/</guid><description>Attributes warehouse/cluster spend to pipelines, computes unit economics, and alerts on cost-per-run regressions rather than on total spend.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Lambda vs Kappa (batch + stream)</title><link>https://emanisha.in/de-agent/patterns/lambda-vs-kappa/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/lambda-vs-kappa/</guid><description>Streaming is fast but hard; batch is simple but slow; you need both speed and correctness.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>AWS Glue Documentation</title><link>https://emanisha.in/de-agent/references/aws-glue-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/aws-glue-docs/</guid><description>AWS Glue Documentation — complete reference for Glue jobs, crawlers, the Data Catalog, job bookmarks, DPU configuration, and Ray integration. The job bookmarks and catalog behavior sections are the source of the most common Glue surprises; the Spark UI integration pages explain how to debug slow jobs. Essential for our Glue review skills and CDC pipeline patterns.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Iceberg Table Maintenance</title><link>https://emanisha.in/de-agent/skills/iceberg-table-maintenance/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/iceberg-table-maintenance/</guid><description>Diagnoses small-file and manifest bloat and generates the compaction, snapshot expiry and orphan-file cleanup plan for an Iceberg table.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Cost Optimizer</title><link>https://emanisha.in/de-agent/agents/cost-optimizer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/cost-optimizer/</guid><description>Reduce the unit cost of pipelines without breaking them.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Missing partition</title><link>https://emanisha.in/de-agent/runbooks/missing-partition/</link><guid isPermaLink="true">https://emanisha.in/de-agent/runbooks/missing-partition/</guid><description>An expected date partition is absent, so a downstream report silently excludes a day.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>OpenLineage Documentation</title><link>https://emanisha.in/de-agent/references/openlineage-docs/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/openlineage-docs/</guid><description>OpenLineage documentation — the open specification for lineage events, plus integrations for Airflow, Spark and dbt. Not a tool or a service; it is a standard for emitting lineage events, which is what makes cross-tool lineage possible. Read it before wiring any line-tracking pipeline.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>CDC Merge Designer</title><link>https://emanisha.in/de-agent/skills/cdc-merge-designer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/cdc-merge-designer/</guid><description>Produces a MERGE (or Delta/Iceberg merge) that applies inserts, updates and deletes from a CDC stream correctly, including out-of-order events and tombstones.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Kafka MCP Server</title><link>https://emanisha.in/de-agent/mcp/kafka/</link><guid isPermaLink="true">https://emanisha.in/de-agent/mcp/kafka/</guid><description>Community server for Apache Kafka that lists topics, reads consumer-group lag, and samples messages, for stream debugging from an agent.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Delta Optimization Advisor</title><link>https://emanisha.in/de-agent/skills/delta-optimization-advisor/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/delta-optimization-advisor/</guid><description>Reads Delta table history and file statistics to decide between OPTIMIZE, Z-ORDER, liquid clustering and partitioning changes.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Spark Cost Regression Guard</title><link>https://emanisha.in/de-agent/skills/spark-cost-regression-guard/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/spark-cost-regression-guard/</guid><description>Compares a job&apos;s shuffle/spill/scan metrics against a stored baseline and fails the change if cost-per-run regresses beyond a threshold, with the diff explained.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data Vault (hubs, links, satellites)</title><link>https://emanisha.in/de-agent/patterns/data-vault/</link><guid isPermaLink="true">https://emanisha.in/de-agent/patterns/data-vault/</guid><description>Integrating many changing sources into a warehouse without constant rework.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Soda Core</title><link>https://emanisha.in/de-agent/references/soda-core/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/soda-core/</guid><description>Soda Core — open-source checks-as-code for data quality with a YAML DSL for column and row-level checks, metrics, and thresholds. The SQL-metric approach is easier to reason about than Great Expectations&apos; expectation suites; the programmatic API enables CI/CD integration. Lightweight alternative to Great Expectations; pairs with our data-quality starter guide and Great Expectations reference.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data Contract Author</title><link>https://emanisha.in/de-agent/skills/data-contract-author/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/data-contract-author/</guid><description>Drafts a data contract (schema, semantics, freshness SLA, ownership, breaking- change policy) and the tests that enforce it in CI.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Athena Partition Advisor</title><link>https://emanisha.in/de-agent/skills/athena-partition-advisor/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/athena-partition-advisor/</guid><description>Recommends partition projection, bucketing or file-layout changes to reduce Athena bytes-scanned, and writes the projection DDL.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Lineage Explainer</title><link>https://emanisha.in/de-agent/skills/lineage-explainer/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/lineage-explainer/</guid><description>Traces column-level lineage from an asset to its upstream sources and downstream consumers, and reports the impact set for a proposed change.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data Catalog Assistant</title><link>https://emanisha.in/de-agent/agents/data-catalog-assistant/</link><guid isPermaLink="true">https://emanisha.in/de-agent/agents/data-catalog-assistant/</guid><description>Answer &quot;what is this data, who owns it, and is it safe to use?&quot;.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Data Mesh (O&apos;Reilly)</title><link>https://emanisha.in/de-agent/references/data-mesh/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/data-mesh/</guid><description>Organizational principles for analytical data at scale — domain ownership, data as a product, self-serve data platform, and federated computational governance. Zhamak Dehghani&apos;s Data Mesh provides the organizational counterpoint to a central platform team; the vocabulary and principles are essential for governance discussions and platform strategy. The four principles (domain ownership, data as product, self-serve platform, federated governance) map directly to our governance and platform patterns.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Designing Data-Intensive Applications (O&apos;Reilly)</title><link>https://emanisha.in/de-agent/references/designing-data-intensive-applications/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/designing-data-intensive-applications/</guid><description>The canonical book on the principles behind data systems: reliability, scalability, replication, partitioning, consistency, and batch/stream processing. Martin Kleppmann&apos;s DDIA is the single highest-value read for system-design interviews and for understanding why data tools are shaped as they are. Every chapter maps directly to patterns in this registry — replication to CDC, partitioning to lakehouse, consistency to transaction semantics. The definitive textbook for data engineers.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Fundamentals of Data Engineering (O&apos;Reilly)</title><link>https://emanisha.in/de-agent/references/fundamentals-of-data-engineering/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/fundamentals-of-data-engineering/</guid><description>A lifecycle view of data engineering — generation, storage, ingestion, transformation, and serving — with the &quot;undercurrents&quot; of security, governance, and cost. Joe Reis and Matt Housley provide a modern, practitioner-oriented map of the field. The best overview for someone moving into data engineering; pairs perfectly with this platform&apos;s roadmap. Covers the full lifecycle from ingestion through serving, with practical patterns for each stage.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Cost Unit-Economics Reporter</title><link>https://emanisha.in/de-agent/skills/cost-unit-economics-reporter/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/cost-unit-economics-reporter/</guid><description>Turns cluster/warehouse billing into unit economics (cost per 1M rows, per run, per model) so a 4x regression shows up as a number, not a surprise invoice.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>PII Classifier</title><link>https://emanisha.in/de-agent/skills/pii-classifier/</link><guid isPermaLink="true">https://emanisha.in/de-agent/skills/pii-classifier/</guid><description>Scans column names and sample values for PII categories, then proposes classification tags and a masking/pseudonymisation policy.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate></item><item><title>SQLFluff Core Rule Pack</title><link>https://emanisha.in/de-agent/resources/sqlfluff-core-rules/</link><guid isPermaLink="true">https://emanisha.in/de-agent/resources/sqlfluff-core-rules/</guid><description>A curated SQLFluff configuration with rules optimized for modern data engineering workflows. Includes dialect-specific rules for dbt (Jinja), Spark SQL, Snowflake, BigQuery, and Redshift. Enforces naming conventions, formatting standards, performance anti-patterns, and security rules.</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Data Classification &amp; Tagging Governance Pack</title><link>https://emanisha.in/de-agent/resources/data-classification-governance/</link><guid isPermaLink="true">https://emanisha.in/de-agent/resources/data-classification-governance/</guid><description>A complete governance pack for implementing data classification across your organization. Includes: standardized tag taxonomy (PII, PCI, confidential, public), business glossary terms, automated classification rules (regex, ML-based), and access policies by classification level. Integrates with DataHub, OpenMetadata, and native warehouse tagging.</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>OPA Data Access Control Policy</title><link>https://emanisha.in/de-agent/resources/opa-data-access-policy/</link><guid isPermaLink="true">https://emanisha.in/de-agent/resources/opa-data-access-policy/</guid><description>A comprehensive OPA policy bundle for enforcing data access controls across your data platform. Includes policies for: row-level security, column masking, table-level permissions, and audit logging. Compatible with Trino, Presto, Snowflake, BigQuery, and Databricks via their OPA integrations.</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Snowflake Warehouse Configuration Template</title><link>https://emanisha.in/de-agent/resources/snowflake-warehouse-config/</link><guid isPermaLink="true">https://emanisha.in/de-agent/resources/snowflake-warehouse-config/</guid><description>A comprehensive Snowflake warehouse configuration template covering: warehouse sizing, auto-suspend/resume, resource monitors for cost control, query acceleration, and multi-cluster settings. Includes environments for dev, staging, and production with appropriate defaults.</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>A DuckDB Database with No Data in It</title><link>https://emanisha.in/de-agent/references/a-duckdb-database-with-no-data-in-it/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/a-duckdb-database-with-no-data-in-it/</guid><description>A DuckDB database file does not have to hold any data. It can store nothing but view definitions that point at Parquet files on object storage, so a few hundred kilobytes behave like a shared catalog over a whole data lake. This post shows how to build one, host it, and attach it</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Cost-effective ETL with DuckDB and Amazon S3 Tables on AWS Glue</title><link>https://emanisha.in/de-agent/references/cost-effective-etl-with-duckdb-and-amazon-s3-tables-on-aws-glue/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/cost-effective-etl-with-duckdb-and-amazon-s3-tables-on-aws-glue/</guid><description>Learn how to pair DuckDB with AWS Glue 6.0 to run SQL-centric ETL on a single worker, reading Parquet from Amazon S3 and writing Apache Iceberg tables to Amazon S3 Tables. This post walks through a complete, runnable example and compares measured cost and runtime against an equiv</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Daily Life as a Jenkins Administrator</title><link>https://emanisha.in/de-agent/references/daily-life-as-a-jenkins-administrator-2/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/daily-life-as-a-jenkins-administrator-2/</guid><description>Jenkins Kubernetes setup As a team, we introduced Jenkins Kubernetes for every user a few months ago. Our goal was to make it easy to get started with Jenkins — no need for your own agent. We prepared guides on how to use it, which tools are already included in the image used by</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Daily Life as a Jenkins Administrator</title><link>https://emanisha.in/de-agent/references/daily-life-as-a-jenkins-administrator/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/daily-life-as-a-jenkins-administrator/</guid><description>Agent ecosystem overview The second blog post focused on one specific part of your Kubernetes environment. I felt the urge to write more about it, so I thought a post about agents and managing them would be a good follow-up. Our agents include: 200 user-managed agents running on</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>DuckDB and Hugging Face: Querying Datasets Directly</title><link>https://emanisha.in/de-agent/references/duckdb-and-hugging-face-querying-datasets-directly/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/duckdb-and-hugging-face-querying-datasets-directly/</guid><description>Hugging Face hosts hundreds of thousands of datasets, and DuckDB can read them directly, exactly where they are and without downloading anything, over the DuckDB `hf://` protocol. This post looks at how the integration works and the scenarios where it works best.</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>GSoC 2026 Final Blog: How It Was to Be a Contributor at Jenkins</title><link>https://emanisha.in/de-agent/references/gsoc-2026-final-blog-how-it-was-to-be-a-contributor-at-jenkins/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/gsoc-2026-final-blog-how-it-was-to-be-a-contributor-at-jenkins/</guid><description>Hello everyone! I am Mallikarjun G D, and I have been a GSoC 2026 contributor for the project Continue: AI-Powered Chatbot for Quick Access to Jenkins Resources. Over the past few months, I have learnt a lot, not just about AI and Jenkins, but also about contributing to a large o</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Importing Data using Java Table Functions</title><link>https://emanisha.in/de-agent/references/importing-data-using-java-table-functions/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/importing-data-using-java-table-functions/</guid><description>When the analytics screen running on our main operational database got too slow, we moved a year of data into DuckDB on the same server. Getting the data in was the hard part. This is the story of every method we tried, and why a table function written in pure Java is the one we</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Investigating Build Regressions From the Last Known-Good Build</title><link>https://emanisha.in/de-agent/references/investigating-build-regressions-from-the-last-known-good-build/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/investigating-build-regressions-from-the-last-known-good-build/</guid><description>The following scenario is a case study. A Jenkins build fails in an integration test. The console contains a NoSuchMethodError, so the immediate task seems straightforward: find the incompatible dependency. Then someone points out that the last three builds failed too. Another de</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Jenkins and AI Agents: The Trusted Engine for Faster Software Delivery</title><link>https://emanisha.in/de-agent/references/jenkins-and-ai-agents-the-trusted-engine-for-faster-software-del/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/jenkins-and-ai-agents-the-trusted-engine-for-faster-software-del/</guid><description>The 2026 Reality Check By 2026, software development has crossed a threshold. AI coding assistants are no longer just suggesting lines of code: agentic systems can take on larger tasks, refactor existing code, open pull requests, and attempt to fix defects with less hands-on dire</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Jev and DuckDB: Plain-English Conditions in SQL</title><link>https://emanisha.in/de-agent/references/jev-and-duckdb-plain-english-conditions-in-sql/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/jev-and-duckdb-plain-english-conditions-in-sql/</guid><description>TypeSafe AI released Jev, a model that returns typed answers instead of text, on September 15, 2026. Within ten days, several community extensions let you filter, classify and score DuckDB rows with plain-English conditions. This post covers what Jev is, how the extensions work a</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>kitfunso/hippo-memory</title><link>https://emanisha.in/de-agent/references/kitfunso-hippo-memory/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/kitfunso-hippo-memory/</guid><description>Stop re-teaching your agent. Make your agent&apos;s memory work like a brain. Hippo is long-term memory for coding agents. It&apos;s a critical layer for your AI harness that connects across your different tool</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Materialize once, query anywhere: Introducing Iceberg materialized views in Amazon Redshift</title><link>https://emanisha.in/de-agent/references/materialize-once-query-anywhere-introducing-iceberg-materialized/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/materialize-once-query-anywhere-introducing-iceberg-materialized/</guid><description>Amazon Redshift now supports Iceberg materialized views. Compute an aggregation once in Amazon Redshift and store the result as a standard Apache Iceberg table in Amazon S3, queryable by Amazon Athena, Apache Spark, Amazon SageMaker, and AWS Glue. This post covers use cases, incr</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Monitoring MWAA-orchestrated ETL pipelines with Amazon OpenSearch Service</title><link>https://emanisha.in/de-agent/references/monitoring-mwaa-orchestrated-etl-pipelines-with-amazon-opensearc/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/monitoring-mwaa-orchestrated-etl-pipelines-with-amazon-opensearc/</guid><description>Troubleshooting a multi-service, MWAA-orchestrated ETL pipeline often means hunting across scattered Amazon CloudWatch log groups. This post shows how to centralize your ETL logs in Amazon OpenSearch Service and query them in plain language through an MCP server on Amazon Bedrock</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>oaslananka/kicad-mcp-pro</title><link>https://emanisha.in/de-agent/references/oaslananka-kicad-mcp-pro/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/oaslananka-kicad-mcp-pro/</guid><description>MCP server for KiCad, connecting AI agents to schematic and PCB workflows, ERC/DRC validation, DFM checks, BOM analysis, and manufacturing preparation—with controlled edits and human-gated release wor</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Optimize consumer rebalancing on Amazon MSK with next generation protocol</title><link>https://emanisha.in/de-agent/references/optimize-consumer-rebalancing-on-amazon-msk-with-next-generation/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/optimize-consumer-rebalancing-on-amazon-msk-with-next-generation/</guid><description>The KIP-848 consumer protocol in Apache Kafka 4.0 redesigns consumer group rebalancing to eliminate stop-the-world pauses. This post explains how the consumer protocol works on Amazon MSK, how to enable it on MSK Standard and Express brokers, and how to diagnose and resolve slow</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Query across accounts and table formats with multi-catalog in Amazon EMR</title><link>https://emanisha.in/de-agent/references/query-across-accounts-and-table-formats-with-multi-catalog-in-am/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/query-across-accounts-and-table-formats-with-multi-catalog-in-am/</guid><description>Amazon EMR 8.1.0 adds multi-catalog support through the RedirectingSessionCatalog, so you can query Iceberg, Delta Lake, Hudi, and Hive tables through a single catalog and join data across AWS accounts without copying it. This post shows how to put these capabilities into practic</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item><item><title>Reading CI Failures Across Pipelines, Not One Build at a Time</title><link>https://emanisha.in/de-agent/references/reading-ci-failures-across-pipelines-not-one-build-at-a-time/</link><guid isPermaLink="true">https://emanisha.in/de-agent/references/reading-ci-failures-across-pipelines-not-one-build-at-a-time/</guid><description>Jenkins is good at explaining a single build. The console, the stage view and the test report all answer &quot;what happened in build #247&quot;. On a busy controller, most CI questions are not about a single build: Five pipelines are red. Is that five problems or one? Which of them broke</description><pubDate>Sat, 24 Oct 2026 07:06:14 GMT</pubDate></item></channel></rss>