License
BSD-3-Clause
Canonical-identity and behavioural-parity proofs for the columnar extraction: the historical ddn.df spellings and the canonical ddn.columnar spellings denote the same nominal types (never two implementations), exception catches work through both names with messages and causes preserved, storage is shared across slicing and frame wrapping without copies, and the empty conventions match the pre-extraction baseline exactly.