FLUIDFLUID
  • Introduction
  • Quickstart
  • Why FLUID
  • FAQ
  • What FLUID Is
  • Core Principles
  • Agentic-Native Layer
  • FLUID vs ODCS / ODPS
  • Anatomy
  • Cheatsheet
  • Full Specification
  • Versions
  • JSON Schema 0.7.5 ↗
  • Reference (HTML) ↗
Examples
How-to
What's New
Deck
GitHub
GitHub
  • Introduction
  • Quickstart
  • Why FLUID
  • FAQ
  • What FLUID Is
  • Core Principles
  • Agentic-Native Layer
  • FLUID vs ODCS / ODPS
  • Anatomy
  • Cheatsheet
  • Full Specification
  • Versions
  • JSON Schema 0.7.5 ↗
  • Reference (HTML) ↗
Examples
How-to
What's New
Deck
GitHub
GitHub
  • What's New

    • What's New
    • What's New in FLUID 0.7.5 — Streaming Kafka → Iceberg Sink & Confluent Tableflow
    • What's New in FLUID 0.7.4 — Runtime agentPolicy Enforcement at the MCP Gateway
    • What's New in FLUID 0.7.3 — Source-Aligned Acquisition
    • What's New in FLUID 0.7.2 — Semantic Truth Engine
    • What's New in FLUID 0.7.1 — Agentic Governance + Provider-First Orchestration

What's New in FLUID 0.7.2 — Semantic Truth Engine

FLUID 0.7.2 is the Semantic Truth Engine release. It is additive over 0.7.1 — every 0.7.1 contract remains valid unchanged — and completes the agentic contract: agentPolicy decides whether an AI agent may act on a data product, and semantics tells it how to act correctly.


🧠 Semantic Model (NEW)

Each exposes[] entry now accepts an optional semantics block that maps physical columns to business concepts — entities, measures, dimensions, and metrics — in a form agents and BI tools can reason about without re-deriving KPIs.

# NEW in v0.7.2: machine-readable business logic on an exposed table
exposes:
  - exposeId: customer_profiles
    kind: table
    # ...binding, contract, etc...
    semantics:
      entities:
        - name: customer
          primaryKey: customer_id
      measures:
        - name: revenue
          expr: "SUM(order_total)"
          agg: sum
      dimensions:
        - name: signup_month
          expr: "DATE_TRUNC('month', created_at)"
      metrics:
        - name: monthly_active_customers
          type: simple
          measure: customer_id
          filters: ["last_active_at >= CURRENT_DATE - INTERVAL 30 DAY"]

Why this matters: eliminates the semantic hallucination failure mode where an LLM asked "what's our MRR?" invents an SQL expression because the contract never told it how MRR is defined. The shape is aligned with dbt MetricFlow, Snowflake Semantic Views, and OSI-format metric definitions — portable across engines.


🧊 Apache Iceberg Binding Config (NEW)

binding.icebergConfig lets contracts declare Iceberg table format specifics — write version, file format, partition spec, sort order — directly in the FLUID contract, so provisioners don't need an out-of-band config file.

binding:
  platform: aws
  format: iceberg
  location: { bucket: warehouse, path: "gold/customer_profiles" }
  icebergConfig:
    writeVersion: 2
    fileFormat: parquet
    partitionSpec:
      - { sourceColumn: created_at, transform: month }

🔄 100% backward compatible with 0.7.1

  • ✅ No breaking changes
  • ✅ semantics and icebergConfig are both opt-in
  • ✅ All 0.7.1 features (agentPolicy, sovereignty, provider-first orchestration, root accessPolicy) fully preserved

Migration:

# Change version number — that's it.
fluidVersion: "0.7.2"  # was "0.7.1"
# Optionally add a semantics block on any expose.

See the Schema Changelog for the full version history, or the 0.7.1 → 0.7.2 diff for the auto-generated change list.

Edit this page on GitHub
Last Updated: 5/29/26, 5:26 PM
Contributors: fas89, Claude Opus 4.8
Prev
What's New in FLUID 0.7.3 — Source-Aligned Acquisition
Next
What's New in FLUID 0.7.1 — Agentic Governance + Provider-First Orchestration