Parent: #589
Java apache/iceberg#10861 added a ruleset validating v1→v3 / v2→v3 upgrades — format-version monotonically increases, required v3 fields appear, last-column-id is preserved, and so on. iceberg-go has a subset of these checks today; this issue tracks porting the remainder.
Step one is enumerating Java's rules (a structured walk through MetadataValidators or equivalent) into a checklist in this issue body, then auditing each against iceberg-go's existing validation surface. Step two is adding the missing rules with a unit test per rule (each rule has a clear failure case in the Java suite that ports cleanly).
Scope is decomposable: the audit can land first as a checklist update on this issue, then individual rules can ship as small follow-up PRs without one big monolithic change.
Parent: #589
Java apache/iceberg#10861 added a ruleset validating v1→v3 / v2→v3 upgrades — format-version monotonically increases, required v3 fields appear, last-column-id is preserved, and so on. iceberg-go has a subset of these checks today; this issue tracks porting the remainder.
Step one is enumerating Java's rules (a structured walk through
MetadataValidatorsor equivalent) into a checklist in this issue body, then auditing each against iceberg-go's existing validation surface. Step two is adding the missing rules with a unit test per rule (each rule has a clear failure case in the Java suite that ports cleanly).Scope is decomposable: the audit can land first as a checklist update on this issue, then individual rules can ship as small follow-up PRs without one big monolithic change.