Full pipeline to link bottle casts to the SWFSC cruise table
by: (1) finding unmatched ship codes, (2) running match_ships() for
fuzzy matching, (3) adding ship_key and cruise_key columns
to casts, (4) validating against the cruise table.
Value
List with components:
ship_matches: tibble of ship match resultscruise_stats: tibble of cruise bridge match statisticsunmatched_report: tibble of unmatched ship codes
Details
The cruise_key format is YYYY-MM-NODC (4-digit year, 2-digit month, NODC ship code), e.g. "1998-02-33JD".
Requires that ship and cruise tables are already loaded in
the DuckDB connection (e.g., via load_prior_tables()).