Hi all,

Sung and I each started a thread on this recently [1][2], and together with
Andrei the discussion converged on a single design.

We've merged them into one proposal: a standalone, language-neutral
repository of conformance fixtures - starting with static inputs paired
with the expected value the spec fixes - modeled on parquet-testing, so
each implementation checks its reading of the spec against a shared set
instead of only against itself.

There are working POCs: Sung's iceberg-testing fork [3] with pyiceberg [4]
and
iceberg-rust [5], and iceberg-go's engine-free variant checks [6].

Document: [Proposal
<https://docs.google.com/document/d/1Qr82hccxJhWxKRT7B-3ylhOLSaJTYfc7hU51-mhzK6Y/edit?usp=sharing>
]

The plan: start with the smallest primitives (type strings, transforms),
grow outward
to binary fixtures; no harness and no central gate - each implementation
pins the repo
and asserts in its own suite; Java and Go first, covering v2 and v3.

Feedback welcome on this and happy to set up a short sync for anyone who
wants to dig in.

Thanks,
Neelesh, Sung, Andrei

[1] https://lists.apache.org/thread/964630c6q0jovs579x1jzb1t0o19jgjg
[2] https://lists.apache.org/thread/87cvl9gk0cjk1of7jh3nvm4lzvzxnc8m
[3] https://github.com/sungwy/iceberg-testing
[4] https://github.com/sungwy/iceberg-python/pull/1
[5] https://github.com/sungwy/iceberg-rust/pull/2
[6] https://github.com/apache/iceberg-go/pull/1238

Reply via email to