- registrant_* rather than owner_*, status rather than registration_status, so both
registries describe the same concept with the same column name
- registrant_zip_code carries the Canadian postal code: a union table needs one column per
concept, not one per country's vocabulary
- set source="TC", matching the discriminator the FAA frame already carries
- raises the column names shared with the FAA frame from 9 to 21
Generated-by: Claude Opus 5 <noreply@anthropic.com>
- publish street, city, postal code and care-of, which the FAA asset already carries as
registrant_* for 99.7% of US registrants; dropping them here left one repository with
two different postures on the same class of data
- take the address from the single MAIL_RECIPIENT row rather than merging across parties,
since a co-owned mark lists several people in different cities
Generated-by: Claude Opus 5 <noreply@anthropic.com>
- reject Mode S fields that are not 24 binary digits; a short field zero-padded into a
plausible address belonging to a different aircraft
- check the "N rows selected." footer against the parsed row count and enforce a row floor,
so an upstream short export fails instead of publishing as a smaller register
- prefer ACTIVE_FLAG "A" parties but fall back to all: 1,932 Registered marks carry only "I"
rows, and those are the MAIL_RECIPIENT, so filtering on "A" alone drops real owners
- count distinct owner names rather than rows, fixing 154 marks labelled Co-owner in error
- match the spool footer by pattern instead of a brittle ragged-row count
Generated-by: Claude Opus 5 <noreply@anthropic.com>
- parse the headerless latin1 CCARCS export against its declared column layout
- derive transponder_code_hex from the 24-bit Mode S binary, populated for all 34,913 rows
- expand marks to C- and vintage CF- registrations and drop owner mailing addresses
- mirror the FAA build: same concat-with-latest-release dedup and output conventions
Generated-by: Claude Opus 5 <noreply@anthropic.com>