# ══════════════════════════════════════════════════════════════════════════════
# Pipeline Quickstart — _system.yaml
# Demonstrates a 3-layer medallion pipeline with LakeLogic.
# ══════════════════════════════════════════════════════════════════════════════

domain: hr
system: employees
storage_mode: direct  # local files, not Unity Catalog tables

# ── Variables (resolved at contract load time) ─────────────────────────────
variables:
  bronze_layer: bronze
  silver_layer: silver
  gold_layer: gold

# ── Contract Registry ──────────────────────────────────────────────────────
contracts:
  - layer: bronze
    entity: raw_employees
    path: "contracts/bronze/bronze_employees_v1.0.yaml"
    enabled: true

  - layer: silver
    entity: clean_employees
    path: "contracts/silver/silver_employees_v1.0.yaml"
    depends_on: [raw_employees]
    enabled: true

  - layer: gold
    entity: headcount
    path: "contracts/gold/gold_headcount_v1.0.yaml"
    depends_on: [clean_employees]
    enabled: true

# ── Server Defaults (per-layer) ────────────────────────────────────────────
server_defaults:
  bronze:
    schema_evolution: append
  silver:
    schema_evolution: strict
  gold:
    schema_evolution: strict

# ── Materialization Defaults (per-layer) ───────────────────────────────────
materialization:
  bronze:
    strategy: append
    format: parquet
  silver:
    strategy: overwrite
    format: parquet
  gold:
    strategy: overwrite
    format: parquet
