Agent experiments should not learn by poking production tables and hoping rollback is enough.

Experiments need table-state isolation

Apache Iceberg branches and tags are snapshot references. Tags point at individual snapshots. Branches are mutable named references that can advance as new snapshots are committed. That sounds like a metadata detail until an agent starts proposing writes, feature fixes, cleanup jobs, or evaluation changes against real tables.

An agent experiment needs a place to be wrong. A branch gives the team an isolated table lineage for validation work while production readers stay on the main branch. That isolation is useful for testing generated SQL, replaying proposed transformations, and comparing metrics before a promotion decision.

A branch is useful only when it creates evidence

The branch itself is not governance. The governance comes from the evidence around it: who created the branch, which snapshot it started from, which agent or workflow wrote to it, which checks ran, and who approved promotion or deletion.

Iceberg documentation also matters for retention. Snapshots referenced by branches or tags have retention behavior, so experiment branches need an expiration rule. Without one, testing infrastructure quietly becomes a storage and compliance problem.

Core idea: agent experiment isolation is a promotion workflow, not a sandbox label.

The ODI pattern keeps experiments portable

Open Data Infrastructure treats the table format, catalog, policy path, lineage system, and evaluation harness as one operating surface. That matters because agent experiments rarely stay inside one engine.

For related patterns, read Iceberg row-level deletes for agent safety, agentic data write approval queues, and ODI control loops for data products. The same control loop applies here: propose, isolate, test, review, promote, and record.

What breaks first

The failure mode is usually not that branches fail. The failure is that nobody treats them as production-adjacent infrastructure.

  • Experiment branches live forever because no expiration policy was attached.
  • Agents write to a branch, but the evaluation index reads from main.
  • Promotion happens by manual copy instead of a reviewed table operation.
  • Lineage records the final table state but not the branch that produced it.

Questions to ask before agents write

Ask which catalog exposes branch access, which engines can read the branch, which evaluation suite runs before promotion, and which owner approves the merge back into production behavior.

A good agent experiment is boring to operate. It has a named branch, a bounded lifetime, repeatable checks, and a promotion record that a tired engineer can read at 3am.

Sources to start with

These primary sources anchor the technical claims in this guide.

An agent branch is not a toy copy of production. It is the table-level boundary between experimentation and accountability.