Architecture

Write-Audit-Publish

A data quality pattern where data lands in a raw S3 zone, undergoes validation, and is promoted to a curated zone only after passing audits.

6 connections 3 resources

Summary

What it is

A data quality pattern where data lands in a raw S3 zone, undergoes validation, and is promoted to a curated zone only after passing audits.

Where it fits

WAP is the quality gate for S3 data lakes. It prevents bad data from reaching production consumers by isolating writes in a staging area, running validation checks, and only publishing data that passes.

Misconceptions / Traps
  • WAP requires branching or snapshot isolation. Without a table format that supports branches (Iceberg) or staging areas (lakeFS), implementing WAP on raw S3 is manual and error-prone.
  • Audit logic must be idempotent. If audits fail and data is re-submitted, the system must handle duplicates gracefully.
Key Connections
  • depends_on S3 API — data lands in S3 for staging
  • solves Schema Evolution — catches incompatible changes before they affect consumers
  • scoped_to Data Lake, S3

Definition

What it is

A data quality pattern where incoming data lands in a raw S3 zone, undergoes automated validation (schema checks, data quality rules), and is promoted to a curated zone only after passing audits.

Why it exists

Publishing unchecked data directly into production zones causes downstream breakage. This pattern gates promotion behind validation, ensuring only quality data reaches consumers.

Primary use cases

Data lake quality gates, regulated data pipelines, self-service data onboarding with automated validation.

Recent developments

Latest signals
  • Apache Iceberg branching makes WAP native — wap.branch property is the 2026 production default. Iceberg's branch-level WAP property lets engines write to an isolated audit branch, validate, then atomically fast-forward main to the validated commit. Replaces the older "audit staging table" pattern with metadata-only operations. Per Dremio — Streamlining Data Quality in Apache Iceberg with WAP & Branching.
  • AWS published canonical reference: Iceberg branching + Glue Data Quality. AWS Big Data Blog's reference architecture pairs Iceberg's audit branch with AWS Glue Data Quality validation rules — the audit step runs against the branch, publish only happens after a Glue DQ pass. First major-cloud-vendor canonical pattern. Per AWS Big Data Blog — Build WAP with Iceberg branching and Glue Data Quality.
  • Three-step audit pattern: NULL detection + duplicate checks + schema integrity. The 2026 minimum audit set has consolidated around these three checks. Add freshness + range + cardinality for higher-stakes pipelines. Per Telmai Blog — What is Write-Audit-Publish in Apache Iceberg.
  • Expedia public engineering write-up: production WAP at scale. Expedia documented their production WAP rollout — branch-per-pipeline-run + DQ validators + automated rollback. Hands-on adoption signal that the pattern is production-mature, not just blog-post architecture. Per Expedia Group Tech — Chill Your Data with Iceberg Write-Audit-Publish.
  • Publish step is now a metadata-only atomic commit. WAP's "publish" used to require physically moving data; with Iceberg V3 branching it's a single fast-forward snapshot operation — the data already exists in the branch, only the metadata pointer moves. Drastically reduces publish-latency and failure modes. Per Hashnode — Write → Audit → Publish (WAP) pattern with Iceberg.
  • Version-controlled + testable + auditable pipelines is the 2026 framing. WAP is reframed in 2026 not just as data-quality but as the "Git for data pipelines" pattern — isolated branches, atomic publishes, version-controlled state. Operational discipline catches up to software-engineering discipline. Per Substack — Write-Audit-Publish (WAP) Pattern by Julien Hurault.

Connections 6

Outbound 4
scoped_to2
depends_on1
Inbound 2

Resources 3