{
  "reviewed_at": "2026-10-28",
  "status": "Source-history mapping only; no new profile, alias, current-presence or legal permission is asserted.",
  "input_sha256": "668e320507f2de68cf52f16f97e9e6a08e5bd0698d87c1813ccd5abf399ed3ed",
  "counts": {
    "broad_group_or_source_history_only": 178,
    "existing_lexical_alias": 8,
    "exact_profile": 62,
    "unresolved": 14,
    "no_fish_or_non_taxonomic_history": 4
  },
  "rows": [
    {
      "layer": "ifi_shore",
      "source_species_raw": "Dogfish",
      "occurrences": "369",
      "features": "369",
      "normalized": "dogfish",
      "profile_alias_candidates": "Dogfish",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Dogfish",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Seabass",
      "occurrences": "311",
      "features": "311",
      "normalized": "seabass",
      "profile_alias_candidates": "Bass",
      "disposition": "existing_lexical_alias",
      "profile_key": "Bass",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Flounder",
      "occurrences": "286",
      "features": "286",
      "normalized": "flounder",
      "profile_alias_candidates": "Flounder",
      "disposition": "exact_profile",
      "profile_key": "Flounder",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Pollack",
      "occurrences": "239",
      "features": "238",
      "normalized": "pollack",
      "profile_alias_candidates": "Pollock",
      "disposition": "existing_lexical_alias",
      "profile_key": "Pollock",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Ray",
      "occurrences": "203",
      "features": "199",
      "normalized": "ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Mackerel",
      "occurrences": "198",
      "features": "197",
      "normalized": "mackerel",
      "profile_alias_candidates": "Mackerel",
      "disposition": "exact_profile",
      "profile_key": "Mackerel",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Conger",
      "occurrences": "196",
      "features": "195",
      "normalized": "conger",
      "profile_alias_candidates": "Conger",
      "disposition": "exact_profile",
      "profile_key": "Conger",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Wrasse",
      "occurrences": "186",
      "features": "185",
      "normalized": "wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Coalfish",
      "occurrences": "167",
      "features": "167",
      "normalized": "coalfish",
      "profile_alias_candidates": "Coalfish",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Coalfish is a literal profile key and existing alias target, but the snapshot also has a separate Coalie profile and conditional identity text. Hold source identity/profile merge unresolved; do not silently map Coalie, saithe, or Pollock, or apply species-specific legal rules."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Cod",
      "occurrences": "139",
      "features": "139",
      "normalized": "cod",
      "profile_alias_candidates": "Cod",
      "disposition": "exact_profile",
      "profile_key": "Cod",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Mullet",
      "occurrences": "134",
      "features": "133",
      "normalized": "mullet",
      "profile_alias_candidates": "Mullet",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Mullet",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Sea Trout",
      "occurrences": "134",
      "features": "132",
      "normalized": "sea trout",
      "profile_alias_candidates": "Sea Trout",
      "disposition": "exact_profile",
      "profile_key": "Sea Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Dab",
      "occurrences": "124",
      "features": "123",
      "normalized": "dab",
      "profile_alias_candidates": "Dab",
      "disposition": "exact_profile",
      "profile_key": "Dab",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Flatfish",
      "occurrences": "117",
      "features": "117",
      "normalized": "flatfish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Flatfish",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Bull Huss",
      "occurrences": "107",
      "features": "106",
      "normalized": "bull huss",
      "profile_alias_candidates": "Bull Huss",
      "disposition": "exact_profile",
      "profile_key": "Bull Huss",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Whiting",
      "occurrences": "86",
      "features": "85",
      "normalized": "whiting",
      "profile_alias_candidates": "Whiting",
      "disposition": "exact_profile",
      "profile_key": "Whiting",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Plaice",
      "occurrences": "80",
      "features": "80",
      "normalized": "plaice",
      "profile_alias_candidates": "Plaice",
      "disposition": "exact_profile",
      "profile_key": "Plaice",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Tope",
      "occurrences": "60",
      "features": "60",
      "normalized": "tope",
      "profile_alias_candidates": "Tope",
      "disposition": "exact_profile",
      "profile_key": "Tope",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Turbot",
      "occurrences": "49",
      "features": "49",
      "normalized": "turbot",
      "profile_alias_candidates": "Turbot",
      "disposition": "exact_profile",
      "profile_key": "Turbot",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Rockling",
      "occurrences": "45",
      "features": "41",
      "normalized": "rockling",
      "profile_alias_candidates": "Rockling",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Rockling",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Gurnard",
      "occurrences": "30",
      "features": "30",
      "normalized": "gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Smooth Hound",
      "occurrences": "30",
      "features": "30",
      "normalized": "smooth hound",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Thornback Ray",
      "occurrences": "29",
      "features": "29",
      "normalized": "thornback ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Gilthead Bream",
      "occurrences": "24",
      "features": "24",
      "normalized": "gilthead bream",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Eel",
      "occurrences": "22",
      "features": "22",
      "normalized": "eel",
      "profile_alias_candidates": "Eel",
      "disposition": "exact_profile",
      "profile_key": "Eel",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Garfish",
      "occurrences": "22",
      "features": "22",
      "normalized": "garfish",
      "profile_alias_candidates": "Garfish",
      "disposition": "exact_profile",
      "profile_key": "Garfish",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Spurdog",
      "occurrences": "20",
      "features": "20",
      "normalized": "spurdog",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Painted Ray",
      "occurrences": "18",
      "features": "18",
      "normalized": "painted ray",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Ballan Wrasse",
      "occurrences": "17",
      "features": "17",
      "normalized": "ballan wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Ling",
      "occurrences": "17",
      "features": "17",
      "normalized": "ling",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Trigger Fish",
      "occurrences": "15",
      "features": "15",
      "normalized": "trigger fish",
      "profile_alias_candidates": "Trigger Fish",
      "disposition": "exact_profile",
      "profile_key": "Trigger Fish",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Dabs",
      "occurrences": "12",
      "features": "12",
      "normalized": "dabs",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Plausible plural/common-name/life-stage rewrites are deliberately not approved lexical aliases."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Pouting",
      "occurrences": "12",
      "features": "12",
      "normalized": "pouting",
      "profile_alias_candidates": "Pouting",
      "disposition": "exact_profile",
      "profile_key": "Pouting",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Corkwing Wrasse",
      "occurrences": "10",
      "features": "10",
      "normalized": "corkwing wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Haddock",
      "occurrences": "10",
      "features": "10",
      "normalized": "haddock",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Monkfish",
      "occurrences": "10",
      "features": "10",
      "normalized": "monkfish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Homelyn Ray",
      "occurrences": "8",
      "features": "8",
      "normalized": "homelyn ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "John Dory",
      "occurrences": "7",
      "features": "7",
      "normalized": "john dory",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Sting Ray",
      "occurrences": "7",
      "features": "7",
      "normalized": "sting ray",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Golden Grey Mullet",
      "occurrences": "7",
      "features": "7",
      "normalized": "golden grey mullet",
      "profile_alias_candidates": "Mullet",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Mullet",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Launce",
      "occurrences": "6",
      "features": "6",
      "normalized": "launce",
      "profile_alias_candidates": "Launce",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Launce profile describes Lesser sandeel, while OBIS and Havstovan associate launce with greater sandeel / Hyperoplus lanceolatus. Neither Lesser nor Greater sandeel is an existing lexical alias. Hold all three labels: no identity inference or profile correction is approved."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Red Gurnard",
      "occurrences": "5",
      "features": "5",
      "normalized": "red gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Megrim",
      "occurrences": "5",
      "features": "5",
      "normalized": "megrim",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Sole",
      "occurrences": "5",
      "features": "5",
      "normalized": "sole",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Silver Eel",
      "occurrences": "5",
      "features": "5",
      "normalized": "silver eel",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Plausible plural/common-name/life-stage rewrites are deliberately not approved lexical aliases."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Bass",
      "occurrences": "4",
      "features": "4",
      "normalized": "bass",
      "profile_alias_candidates": "Bass",
      "disposition": "exact_profile",
      "profile_key": "Bass",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Seatrout",
      "occurrences": "4",
      "features": "4",
      "normalized": "seatrout",
      "profile_alias_candidates": "Sea Trout",
      "disposition": "existing_lexical_alias",
      "profile_key": "Sea Trout",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Skate",
      "occurrences": "4",
      "features": "4",
      "normalized": "skate",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Three Bearded Rockling",
      "occurrences": "4",
      "features": "4",
      "normalized": "three bearded rockling",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Rockling",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Spotted Ray",
      "occurrences": "3",
      "features": "3",
      "normalized": "spotted ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Blue Shark",
      "occurrences": "3",
      "features": "3",
      "normalized": "blue shark",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Porbeagle Shark",
      "occurrences": "3",
      "features": "3",
      "normalized": "porbeagle shark",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Blue shark",
      "occurrences": "3",
      "features": "3",
      "normalized": "blue shark",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Flounders",
      "occurrences": "3",
      "features": "3",
      "normalized": "flounders",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Plausible plural/common-name/life-stage rewrites are deliberately not approved lexical aliases."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Black Sole",
      "occurrences": "3",
      "features": "3",
      "normalized": "black sole",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Torsk",
      "occurrences": "2",
      "features": "2",
      "normalized": "torsk",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Hake",
      "occurrences": "2",
      "features": "2",
      "normalized": "hake",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Cuckoo Wrasse",
      "occurrences": "2",
      "features": "2",
      "normalized": "cuckoo wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Goldsinny Wrasse",
      "occurrences": "2",
      "features": "2",
      "normalized": "goldsinny wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Tompot Blenny",
      "occurrences": "2",
      "features": "2",
      "normalized": "tompot blenny",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Grey gurnard",
      "occurrences": "2",
      "features": "2",
      "normalized": "grey gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Tub Gurnard",
      "occurrences": "2",
      "features": "2",
      "normalized": "tub gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Brill",
      "occurrences": "2",
      "features": "2",
      "normalized": "brill",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Undulate Ray",
      "occurrences": "2",
      "features": "2",
      "normalized": "undulate ray",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Grey Mullet",
      "occurrences": "2",
      "features": "2",
      "normalized": "grey mullet",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Mullet",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Eels",
      "occurrences": "2",
      "features": "2",
      "normalized": "eels",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Plausible plural/common-name/life-stage rewrites are deliberately not approved lexical aliases."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Silver eels",
      "occurrences": "1",
      "features": "1",
      "normalized": "silver eels",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Plausible plural/common-name/life-stage rewrites are deliberately not approved lexical aliases."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Gurnards",
      "occurrences": "1",
      "features": "1",
      "normalized": "gurnards",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Bluefin Tuna",
      "occurrences": "1",
      "features": "1",
      "normalized": "bluefin tuna",
      "profile_alias_candidates": "Bluefin Tuna",
      "disposition": "exact_profile",
      "profile_key": "Bluefin Tuna",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Dogfish.",
      "occurrences": "1",
      "features": "1",
      "normalized": "dogfish",
      "profile_alias_candidates": "Dogfish",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Dogfish",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Launce Dogfish",
      "occurrences": "1",
      "features": "1",
      "normalized": "launce dogfish",
      "profile_alias_candidates": "",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Multiple apparent labels or concatenation; do not split this raw row or infer independent species records without the original source feature."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Tuna",
      "occurrences": "1",
      "features": "1",
      "normalized": "tuna",
      "profile_alias_candidates": "Bluefin Tuna",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Tuna",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Generic Tuna must not become Bluefin Tuna."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Dragonet",
      "occurrences": "1",
      "features": "1",
      "normalized": "dragonet",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Clingfish",
      "occurrences": "1",
      "features": "1",
      "normalized": "clingfish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Sea Trout Mullet",
      "occurrences": "1",
      "features": "1",
      "normalized": "sea trout mullet",
      "profile_alias_candidates": "",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Multiple apparent labels or concatenation; do not split this raw row or infer independent species records without the original source feature."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Bait",
      "occurrences": "1",
      "features": "1",
      "normalized": "bait",
      "profile_alias_candidates": "",
      "disposition": "no_fish_or_non_taxonomic_history",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Source label does not identify a fish taxon; preserve original non-taxonomic history only."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Sea trout",
      "occurrences": "1",
      "features": "1",
      "normalized": "sea trout",
      "profile_alias_candidates": "Sea Trout",
      "disposition": "exact_profile",
      "profile_key": "Sea Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Salmon",
      "occurrences": "1",
      "features": "1",
      "normalized": "salmon",
      "profile_alias_candidates": "Salmon",
      "disposition": "exact_profile",
      "profile_key": "Salmon",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Blonde ray",
      "occurrences": "1",
      "features": "1",
      "normalized": "blonde ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Cuckoo ray",
      "occurrences": "1",
      "features": "1",
      "normalized": "cuckoo ray",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Thornback ray",
      "occurrences": "1",
      "features": "1",
      "normalized": "thornback ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "White skate",
      "occurrences": "1",
      "features": "1",
      "normalized": "white skate",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Red gurnard",
      "occurrences": "1",
      "features": "1",
      "normalized": "red gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Tub gurnard",
      "occurrences": "1",
      "features": "1",
      "normalized": "tub gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Halibut",
      "occurrences": "1",
      "features": "1",
      "normalized": "halibut",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Grey Gurnard",
      "occurrences": "1",
      "features": "1",
      "normalized": "grey gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Shanny",
      "occurrences": "1",
      "features": "1",
      "normalized": "shanny",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Cuckoo Wrasse and Ballan Wrasse",
      "occurrences": "1",
      "features": "1",
      "normalized": "cuckoo wrasse and ballan wrasse",
      "profile_alias_candidates": "",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Multiple apparent labels or concatenation; do not split this raw row or infer independent species records without the original source feature."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Bull huss",
      "occurrences": "1",
      "features": "1",
      "normalized": "bull huss",
      "profile_alias_candidates": "Bull Huss",
      "disposition": "exact_profile",
      "profile_key": "Bull Huss",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Rockcook Wrasse",
      "occurrences": "1",
      "features": "1",
      "normalized": "rockcook wrasse",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Blennies",
      "occurrences": "1",
      "features": "1",
      "normalized": "blennies",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Sea Scorpion",
      "occurrences": "1",
      "features": "1",
      "normalized": "sea scorpion",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Blonde Ray",
      "occurrences": "1",
      "features": "1",
      "normalized": "blonde ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Sea Bass",
      "occurrences": "1",
      "features": "1",
      "normalized": "sea bass",
      "profile_alias_candidates": "Bass",
      "disposition": "existing_lexical_alias",
      "profile_key": "Bass",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Thornback Ray.",
      "occurrences": "1",
      "features": "1",
      "normalized": "thornback ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Conger Bull Huss",
      "occurrences": "1",
      "features": "1",
      "normalized": "conger bull huss",
      "profile_alias_candidates": "",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Multiple apparent labels or concatenation; do not split this raw row or infer independent species records without the original source feature."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Raysh",
      "occurrences": "1",
      "features": "1",
      "normalized": "raysh",
      "profile_alias_candidates": "",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Unexplained raw token. No typo repair, Ray mapping, or biological identity is approved."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Spurdogs",
      "occurrences": "1",
      "features": "1",
      "normalized": "spurdogs",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Thick-lipped Mullet",
      "occurrences": "1",
      "features": "1",
      "normalized": "thick lipped mullet",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Mullet",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Wrasse Seabass",
      "occurrences": "1",
      "features": "1",
      "normalized": "wrasse seabass",
      "profile_alias_candidates": "",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Multiple apparent labels or concatenation; do not split this raw row or infer independent species records without the original source feature."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Blenny",
      "occurrences": "1",
      "features": "1",
      "normalized": "blenny",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Goby",
      "occurrences": "1",
      "features": "1",
      "normalized": "goby",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Electric Ray",
      "occurrences": "1",
      "features": "1",
      "normalized": "electric ray",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Corkwing wrasse",
      "occurrences": "1",
      "features": "1",
      "normalized": "corkwing wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Corkwing Wrasse.",
      "occurrences": "1",
      "features": "1",
      "normalized": "corkwing wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "ifi_shore",
      "source_species_raw": "Three-bearded Rockling",
      "occurrences": "1",
      "features": "1",
      "normalized": "three bearded rockling",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Rockling",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Brown trout",
      "occurrences": "2281",
      "features": "2281",
      "normalized": "brown trout",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "exact_profile",
      "profile_key": "Brown Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Salmon",
      "occurrences": "1307",
      "features": "1307",
      "normalized": "salmon",
      "profile_alias_candidates": "Salmon",
      "disposition": "exact_profile",
      "profile_key": "Salmon",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "European eel",
      "occurrences": "839",
      "features": "839",
      "normalized": "european eel",
      "profile_alias_candidates": "Eel",
      "disposition": "existing_lexical_alias",
      "profile_key": "Eel",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Three-spined stickleback",
      "occurrences": "838",
      "features": "838",
      "normalized": "three spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Stone loach",
      "occurrences": "764",
      "features": "764",
      "normalized": "stone loach",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Minnow",
      "occurrences": "720",
      "features": "720",
      "normalized": "minnow",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Lamprey Spp.",
      "occurrences": "421",
      "features": "421",
      "normalized": "lamprey spp",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. The source itself leaves identification broad or unidentified; do not narrow it."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Roach",
      "occurrences": "282",
      "features": "282",
      "normalized": "roach",
      "profile_alias_candidates": "Roach",
      "disposition": "exact_profile",
      "profile_key": "Roach",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Perch",
      "occurrences": "233",
      "features": "233",
      "normalized": "perch",
      "profile_alias_candidates": "Perch",
      "disposition": "exact_profile",
      "profile_key": "Perch",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Pike",
      "occurrences": "217",
      "features": "217",
      "normalized": "pike",
      "profile_alias_candidates": "Pike",
      "disposition": "exact_profile",
      "profile_key": "Pike",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Gudgeon",
      "occurrences": "176",
      "features": "176",
      "normalized": "gudgeon",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Dace",
      "occurrences": "113",
      "features": "113",
      "normalized": "dace",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Sea trout",
      "occurrences": "62",
      "features": "62",
      "normalized": "sea trout",
      "profile_alias_candidates": "Sea Trout",
      "disposition": "exact_profile",
      "profile_key": "Sea Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Flounder",
      "occurrences": "58",
      "features": "58",
      "normalized": "flounder",
      "profile_alias_candidates": "Flounder",
      "disposition": "exact_profile",
      "profile_key": "Flounder",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "No Fish",
      "occurrences": "52",
      "features": "52",
      "normalized": "no fish",
      "profile_alias_candidates": "",
      "disposition": "no_fish_or_non_taxonomic_history",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Explicit no-fish result; preserve history only. Not a taxon, not proof of permanent absence, and not a positive species occurrence."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Lamprey sp.",
      "occurrences": "33",
      "features": "33",
      "normalized": "lamprey sp",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. The source itself leaves identification broad or unidentified; do not narrow it."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Roach x Bream hybrid",
      "occurrences": "32",
      "features": "32",
      "normalized": "roach x bream hybrid",
      "profile_alias_candidates": "Hybrid",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Nine-spined stickleback",
      "occurrences": "24",
      "features": "24",
      "normalized": "nine spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Bream",
      "occurrences": "15",
      "features": "15",
      "normalized": "bream",
      "profile_alias_candidates": "Bream",
      "disposition": "exact_profile",
      "profile_key": "Bream",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Rudd",
      "occurrences": "12",
      "features": "12",
      "normalized": "rudd",
      "profile_alias_candidates": "Rudd",
      "disposition": "exact_profile",
      "profile_key": "Rudd",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Roach x bream hybrid",
      "occurrences": "3",
      "features": "3",
      "normalized": "roach x bream hybrid",
      "profile_alias_candidates": "Hybrid",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "No Fish Present",
      "occurrences": "3",
      "features": "3",
      "normalized": "no fish present",
      "profile_alias_candidates": "",
      "disposition": "no_fish_or_non_taxonomic_history",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Explicit no-fish result; preserve history only. Not a taxon, not proof of permanent absence, and not a positive species occurrence."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Rainbow trout",
      "occurrences": "2",
      "features": "2",
      "normalized": "rainbow trout",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Chub",
      "occurrences": "1",
      "features": "1",
      "normalized": "chub",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Roach x rudd hybrid",
      "occurrences": "1",
      "features": "1",
      "normalized": "roach x rudd hybrid",
      "profile_alias_candidates": "Hybrid",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "Tench",
      "occurrences": "1",
      "features": "1",
      "normalized": "tench",
      "profile_alias_candidates": "Tench",
      "disposition": "exact_profile",
      "profile_key": "Tench",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_river",
      "source_species_raw": "OTHER",
      "occurrences": "1",
      "features": "1",
      "normalized": "other",
      "profile_alias_candidates": "",
      "disposition": "no_fish_or_non_taxonomic_history",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Source label does not identify a fish taxon; preserve original non-taxonomic history only."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "European eel",
      "occurrences": "332",
      "features": "332",
      "normalized": "european eel",
      "profile_alias_candidates": "Eel",
      "disposition": "existing_lexical_alias",
      "profile_key": "Eel",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Brown trout",
      "occurrences": "254",
      "features": "254",
      "normalized": "brown trout",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "exact_profile",
      "profile_key": "Brown Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Perch",
      "occurrences": "237",
      "features": "237",
      "normalized": "perch",
      "profile_alias_candidates": "Perch",
      "disposition": "exact_profile",
      "profile_key": "Perch",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Pike",
      "occurrences": "181",
      "features": "181",
      "normalized": "pike",
      "profile_alias_candidates": "Pike",
      "disposition": "exact_profile",
      "profile_key": "Pike",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Roach",
      "occurrences": "162",
      "features": "162",
      "normalized": "roach",
      "profile_alias_candidates": "Roach",
      "disposition": "exact_profile",
      "profile_key": "Roach",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Roach x bream hybrid",
      "occurrences": "118",
      "features": "118",
      "normalized": "roach x bream hybrid",
      "profile_alias_candidates": "Hybrid",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Bream",
      "occurrences": "107",
      "features": "107",
      "normalized": "bream",
      "profile_alias_candidates": "Bream",
      "disposition": "exact_profile",
      "profile_key": "Bream",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Rudd",
      "occurrences": "101",
      "features": "101",
      "normalized": "rudd",
      "profile_alias_candidates": "Rudd",
      "disposition": "exact_profile",
      "profile_key": "Rudd",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Salmon",
      "occurrences": "96",
      "features": "96",
      "normalized": "salmon",
      "profile_alias_candidates": "Salmon",
      "disposition": "exact_profile",
      "profile_key": "Salmon",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Three-spined stickleback",
      "occurrences": "88",
      "features": "88",
      "normalized": "three spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Tench",
      "occurrences": "83",
      "features": "83",
      "normalized": "tench",
      "profile_alias_candidates": "Tench",
      "disposition": "exact_profile",
      "profile_key": "Tench",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Arctic char",
      "occurrences": "66",
      "features": "66",
      "normalized": "arctic char",
      "profile_alias_candidates": "Arctic Char",
      "disposition": "exact_profile",
      "profile_key": "Arctic Char",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Sea trout",
      "occurrences": "52",
      "features": "52",
      "normalized": "sea trout",
      "profile_alias_candidates": "Sea Trout",
      "disposition": "exact_profile",
      "profile_key": "Sea Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Minnow",
      "occurrences": "45",
      "features": "45",
      "normalized": "minnow",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Roach x rudd hybrid",
      "occurrences": "26",
      "features": "26",
      "normalized": "roach x rudd hybrid",
      "profile_alias_candidates": "Hybrid",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Gudgeon",
      "occurrences": "24",
      "features": "24",
      "normalized": "gudgeon",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Brown Trout",
      "occurrences": "15",
      "features": "15",
      "normalized": "brown trout",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "exact_profile",
      "profile_key": "Brown Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Brown trout (stocked)",
      "occurrences": "13",
      "features": "13",
      "normalized": "brown trout stocked",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Preserve the annotation; do not strip parentheses or infer Brown Trout identity from the prefix."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Flounder",
      "occurrences": "11",
      "features": "11",
      "normalized": "flounder",
      "profile_alias_candidates": "Flounder",
      "disposition": "exact_profile",
      "profile_key": "Flounder",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Rainbow trout",
      "occurrences": "11",
      "features": "11",
      "normalized": "rainbow trout",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Roach x Bream",
      "occurrences": "10",
      "features": "10",
      "normalized": "roach x bream",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Nine-spined stickleback",
      "occurrences": "9",
      "features": "9",
      "normalized": "nine spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Ferox trout",
      "occurrences": "8",
      "features": "8",
      "normalized": "ferox trout",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Historic candidate Brown Trout is not an existing lexical alias for this raw label. IFI publishes Ferox trout (Salmo ferox); do not silently flatten the distinct source label into Brown Trout. Keep unresolved, including the parenthetical source label."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Rudd x bream hybrid",
      "occurrences": "7",
      "features": "7",
      "normalized": "rudd x bream hybrid",
      "profile_alias_candidates": "Hybrid",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Stone loach",
      "occurrences": "7",
      "features": "7",
      "normalized": "stone loach",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Three-Spined Stickleback",
      "occurrences": "7",
      "features": "7",
      "normalized": "three spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Pollan",
      "occurrences": "5",
      "features": "5",
      "normalized": "pollan",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Killarney shad",
      "occurrences": "5",
      "features": "5",
      "normalized": "killarney shad",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Arctic Char",
      "occurrences": "5",
      "features": "5",
      "normalized": "arctic char",
      "profile_alias_candidates": "Arctic Char",
      "disposition": "exact_profile",
      "profile_key": "Arctic Char",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Gillaroo trout",
      "occurrences": "3",
      "features": "3",
      "normalized": "gillaroo trout",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Sonaghen trout",
      "occurrences": "3",
      "features": "3",
      "normalized": "sonaghen trout",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Sea Trout",
      "occurrences": "2",
      "features": "2",
      "normalized": "sea trout",
      "profile_alias_candidates": "Sea Trout",
      "disposition": "exact_profile",
      "profile_key": "Sea Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Carp",
      "occurrences": "1",
      "features": "1",
      "normalized": "carp",
      "profile_alias_candidates": "Carp",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Carp",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. The existing Carp description explicitly combines multiple carp labels; a literal key match cannot supply species-level identity."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Sea lamprey",
      "occurrences": "1",
      "features": "1",
      "normalized": "sea lamprey",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Brown trout (Ferox)",
      "occurrences": "1",
      "features": "1",
      "normalized": "brown trout ferox",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Historic candidate Brown Trout is not an existing lexical alias for this raw label. IFI publishes Ferox trout (Salmo ferox); do not silently flatten the distinct source label into Brown Trout. Keep unresolved, including the parenthetical source label."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Brown trout (Gillaroo)",
      "occurrences": "1",
      "features": "1",
      "normalized": "brown trout gillaroo",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Preserve the annotation; do not strip parentheses or infer Brown Trout identity from the prefix."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Brown trout (Sonaghan)",
      "occurrences": "1",
      "features": "1",
      "normalized": "brown trout sonaghan",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Preserve the annotation; do not strip parentheses or infer Brown Trout identity from the prefix."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Killarney Shad",
      "occurrences": "1",
      "features": "1",
      "normalized": "killarney shad",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_lake",
      "source_species_raw": "Rudd x Bream",
      "occurrences": "1",
      "features": "1",
      "normalized": "rudd x bream",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Hybrid",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping. Parent names remain text; do not emit either parent as a species observation or merge different crosses."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Flounder",
      "occurrences": "177",
      "features": "177",
      "normalized": "flounder",
      "profile_alias_candidates": "Flounder",
      "disposition": "exact_profile",
      "profile_key": "Flounder",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "European eel",
      "occurrences": "164",
      "features": "164",
      "normalized": "european eel",
      "profile_alias_candidates": "Eel",
      "disposition": "existing_lexical_alias",
      "profile_key": "Eel",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Sand goby",
      "occurrences": "152",
      "features": "152",
      "normalized": "sand goby",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Three-spined stickleback",
      "occurrences": "118",
      "features": "118",
      "normalized": "three spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Sprat",
      "occurrences": "107",
      "features": "107",
      "normalized": "sprat",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Thick-lipped grey mullet",
      "occurrences": "107",
      "features": "107",
      "normalized": "thick lipped grey mullet",
      "profile_alias_candidates": "Mullet",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Mullet",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Fivebeard rockling",
      "occurrences": "102",
      "features": "102",
      "normalized": "fivebeard rockling",
      "profile_alias_candidates": "Rockling",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Rockling",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Plaice",
      "occurrences": "101",
      "features": "101",
      "normalized": "plaice",
      "profile_alias_candidates": "Plaice",
      "disposition": "exact_profile",
      "profile_key": "Plaice",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Pollack",
      "occurrences": "81",
      "features": "81",
      "normalized": "pollack",
      "profile_alias_candidates": "Pollock",
      "disposition": "existing_lexical_alias",
      "profile_key": "Pollock",
      "group_history_bucket": "",
      "reason": "Exact existing _ALIASES lookup after its own whitespace/lowercase processing; lexical profile lookup only, not new biological equivalence, current catch, or legal verification."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Sand smelt",
      "occurrences": "78",
      "features": "78",
      "normalized": "sand smelt",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Brown trout",
      "occurrences": "70",
      "features": "70",
      "normalized": "brown trout",
      "profile_alias_candidates": "Brown Trout",
      "disposition": "exact_profile",
      "profile_key": "Brown Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Common goby",
      "occurrences": "70",
      "features": "70",
      "normalized": "common goby",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Long-spined sea scorpion",
      "occurrences": "68",
      "features": "68",
      "normalized": "long spined sea scorpion",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Cod",
      "occurrences": "66",
      "features": "66",
      "normalized": "cod",
      "profile_alias_candidates": "Cod",
      "disposition": "exact_profile",
      "profile_key": "Cod",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Fifteen-spined stickleback",
      "occurrences": "63",
      "features": "63",
      "normalized": "fifteen spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Whiting",
      "occurrences": "60",
      "features": "60",
      "normalized": "whiting",
      "profile_alias_candidates": "Whiting",
      "disposition": "exact_profile",
      "profile_key": "Whiting",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Lesser sandeel",
      "occurrences": "56",
      "features": "56",
      "normalized": "lesser sandeel",
      "profile_alias_candidates": "Launce",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Launce profile describes Lesser sandeel, while OBIS and Havstovan associate launce with greater sandeel / Hyperoplus lanceolatus. Neither Lesser nor Greater sandeel is an existing lexical alias. Hold all three labels: no identity inference or profile correction is approved."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Sea trout",
      "occurrences": "51",
      "features": "51",
      "normalized": "sea trout",
      "profile_alias_candidates": "Sea Trout",
      "disposition": "exact_profile",
      "profile_key": "Sea Trout",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "European seabass",
      "occurrences": "49",
      "features": "49",
      "normalized": "european seabass",
      "profile_alias_candidates": "Bass",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. Plausible plural/common-name/life-stage rewrites are deliberately not approved lexical aliases."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Smelt",
      "occurrences": "46",
      "features": "46",
      "normalized": "smelt",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Pogge",
      "occurrences": "40",
      "features": "40",
      "normalized": "pogge",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Salmon",
      "occurrences": "39",
      "features": "39",
      "normalized": "salmon",
      "profile_alias_candidates": "Salmon",
      "disposition": "exact_profile",
      "profile_key": "Salmon",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Corkwing wrasse",
      "occurrences": "39",
      "features": "39",
      "normalized": "corkwing wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Nilssons pipefish",
      "occurrences": "38",
      "features": "38",
      "normalized": "nilssons pipefish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Two-spotted goby",
      "occurrences": "38",
      "features": "38",
      "normalized": "two spotted goby",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Dace",
      "occurrences": "36",
      "features": "36",
      "normalized": "dace",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Greater Pipefish",
      "occurrences": "35",
      "features": "35",
      "normalized": "greater pipefish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Roach",
      "occurrences": "33",
      "features": "33",
      "normalized": "roach",
      "profile_alias_candidates": "Roach",
      "disposition": "exact_profile",
      "profile_key": "Roach",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Twaite shad",
      "occurrences": "30",
      "features": "30",
      "normalized": "twaite shad",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Short-spined sea scorpion",
      "occurrences": "28",
      "features": "28",
      "normalized": "short spined sea scorpion",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Dab",
      "occurrences": "28",
      "features": "28",
      "normalized": "dab",
      "profile_alias_candidates": "Dab",
      "disposition": "exact_profile",
      "profile_key": "Dab",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Ballan wrasse",
      "occurrences": "27",
      "features": "27",
      "normalized": "ballan wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Black goby",
      "occurrences": "25",
      "features": "25",
      "normalized": "black goby",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Brill",
      "occurrences": "24",
      "features": "24",
      "normalized": "brill",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Common sole",
      "occurrences": "24",
      "features": "24",
      "normalized": "common sole",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Poor cod",
      "occurrences": "23",
      "features": "23",
      "normalized": "poor cod",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Minnow",
      "occurrences": "23",
      "features": "23",
      "normalized": "minnow",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Gunnel",
      "occurrences": "23",
      "features": "23",
      "normalized": "gunnel",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Lesser spotted dogfish",
      "occurrences": "22",
      "features": "22",
      "normalized": "lesser spotted dogfish",
      "profile_alias_candidates": "Dogfish",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Dogfish",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Scad",
      "occurrences": "22",
      "features": "22",
      "normalized": "scad",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Deep-snouted pipefish",
      "occurrences": "20",
      "features": "20",
      "normalized": "deep snouted pipefish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Conger eel",
      "occurrences": "19",
      "features": "19",
      "normalized": "conger eel",
      "profile_alias_candidates": "Conger",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Common dragonet",
      "occurrences": "17",
      "features": "17",
      "normalized": "common dragonet",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Rock goby",
      "occurrences": "17",
      "features": "17",
      "normalized": "rock goby",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Coalfish",
      "occurrences": "17",
      "features": "17",
      "normalized": "coalfish",
      "profile_alias_candidates": "Coalfish",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Coalfish is a literal profile key and existing alias target, but the snapshot also has a separate Coalie profile and conditional identity text. Hold source identity/profile merge unresolved; do not silently map Coalie, saithe, or Pollock, or apply species-specific legal rules."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Perch",
      "occurrences": "16",
      "features": "16",
      "normalized": "perch",
      "profile_alias_candidates": "Perch",
      "disposition": "exact_profile",
      "profile_key": "Perch",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Painted goby",
      "occurrences": "14",
      "features": "14",
      "normalized": "painted goby",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Pouting",
      "occurrences": "14",
      "features": "14",
      "normalized": "pouting",
      "profile_alias_candidates": "Pouting",
      "disposition": "exact_profile",
      "profile_key": "Pouting",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Snake pipefish",
      "occurrences": "12",
      "features": "12",
      "normalized": "snake pipefish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Herring",
      "occurrences": "10",
      "features": "10",
      "normalized": "herring",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Greater sandeel",
      "occurrences": "10",
      "features": "10",
      "normalized": "greater sandeel",
      "profile_alias_candidates": "Launce",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Launce profile describes Lesser sandeel, while OBIS and Havstovan associate launce with greater sandeel / Hyperoplus lanceolatus. Neither Lesser nor Greater sandeel is an existing lexical alias. Hold all three labels: no identity inference or profile correction is approved."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Tub gurnard",
      "occurrences": "10",
      "features": "10",
      "normalized": "tub gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "River lamprey",
      "occurrences": "9",
      "features": "9",
      "normalized": "river lamprey",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Golden grey mullet",
      "occurrences": "9",
      "features": "9",
      "normalized": "golden grey mullet",
      "profile_alias_candidates": "Mullet",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Mullet",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Three-bearded rockling",
      "occurrences": "9",
      "features": "9",
      "normalized": "three bearded rockling",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Rockling",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Gadoid (uid)",
      "occurrences": "7",
      "features": "7",
      "normalized": "gadoid uid",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. The source itself leaves identification broad or unidentified; do not narrow it."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Dragonet spp.",
      "occurrences": "7",
      "features": "7",
      "normalized": "dragonet spp",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. The source itself leaves identification broad or unidentified; do not narrow it."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Grey gurnard",
      "occurrences": "7",
      "features": "7",
      "normalized": "grey gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Rudd",
      "occurrences": "6",
      "features": "6",
      "normalized": "rudd",
      "profile_alias_candidates": "Rudd",
      "disposition": "exact_profile",
      "profile_key": "Rudd",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Worm pipefish",
      "occurrences": "6",
      "features": "6",
      "normalized": "worm pipefish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Thin-lipped grey mullet",
      "occurrences": "6",
      "features": "6",
      "normalized": "thin lipped grey mullet",
      "profile_alias_candidates": "Mullet",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Mullet",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Lesser weever",
      "occurrences": "5",
      "features": "5",
      "normalized": "lesser weever",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Turbot",
      "occurrences": "5",
      "features": "5",
      "normalized": "turbot",
      "profile_alias_candidates": "Turbot",
      "disposition": "exact_profile",
      "profile_key": "Turbot",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Bull huss",
      "occurrences": "5",
      "features": "5",
      "normalized": "bull huss",
      "profile_alias_candidates": "Bull Huss",
      "disposition": "exact_profile",
      "profile_key": "Bull Huss",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Shanny",
      "occurrences": "5",
      "features": "5",
      "normalized": "shanny",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Thornback ray",
      "occurrences": "5",
      "features": "5",
      "normalized": "thornback ray",
      "profile_alias_candidates": "Ray",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Ray",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "pouting",
      "occurrences": "4",
      "features": "4",
      "normalized": "pouting",
      "profile_alias_candidates": "Pouting",
      "disposition": "exact_profile",
      "profile_key": "Pouting",
      "group_history_bucket": "",
      "reason": "Existing profile label match (case-only variation); no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Rock cook wrasse",
      "occurrences": "4",
      "features": "4",
      "normalized": "rock cook wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Stone loach",
      "occurrences": "4",
      "features": "4",
      "normalized": "stone loach",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Garfish",
      "occurrences": "4",
      "features": "4",
      "normalized": "garfish",
      "profile_alias_candidates": "Garfish",
      "disposition": "exact_profile",
      "profile_key": "Garfish",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Haddock",
      "occurrences": "3",
      "features": "3",
      "normalized": "haddock",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Lamprey spp.",
      "occurrences": "3",
      "features": "3",
      "normalized": "lamprey spp",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed. The source itself leaves identification broad or unidentified; do not narrow it."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Nine-spined stickleback",
      "occurrences": "3",
      "features": "3",
      "normalized": "nine spined stickleback",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Fivebearded rockling",
      "occurrences": "3",
      "features": "3",
      "normalized": "fivebearded rockling",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Rockling",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Mackerel",
      "occurrences": "3",
      "features": "3",
      "normalized": "mackerel",
      "profile_alias_candidates": "Mackerel",
      "disposition": "exact_profile",
      "profile_key": "Mackerel",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Goldsinny wrasse",
      "occurrences": "3",
      "features": "3",
      "normalized": "goldsinny wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Cuckoo wrasse",
      "occurrences": "3",
      "features": "3",
      "normalized": "cuckoo wrasse",
      "profile_alias_candidates": "Wrasse",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Wrasse",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Common Seasnail",
      "occurrences": "3",
      "features": "3",
      "normalized": "common seasnail",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Sand sole",
      "occurrences": "3",
      "features": "3",
      "normalized": "sand sole",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Gudgeon",
      "occurrences": "2",
      "features": "2",
      "normalized": "gudgeon",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Red gurnard",
      "occurrences": "2",
      "features": "2",
      "normalized": "red gurnard",
      "profile_alias_candidates": "Gurnard",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "Gurnard",
      "reason": "Group/source-history only. Keep the exact raw taxon label and any specificity it contains. The group bucket is not a species identity, approved alias, or legal-profile mapping."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Long rough dab",
      "occurrences": "2",
      "features": "2",
      "normalized": "long rough dab",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Lumpsucker",
      "occurrences": "2",
      "features": "2",
      "normalized": "lumpsucker",
      "profile_alias_candidates": "Lumpsucker",
      "disposition": "exact_profile",
      "profile_key": "Lumpsucker",
      "group_history_bucket": "",
      "reason": "Existing profile label match; no synonym, scientific-name identification, new profile, current-catch claim, or legal verification is inferred."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Fivebeard rocklingFlounder",
      "occurrences": "2",
      "features": "2",
      "normalized": "fivebeard rocklingflounder",
      "profile_alias_candidates": "",
      "disposition": "unresolved",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Multiple apparent labels or concatenation; do not split this raw row or infer independent species records without the original source feature."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Blenny",
      "occurrences": "1",
      "features": "1",
      "normalized": "blenny",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Hake",
      "occurrences": "1",
      "features": "1",
      "normalized": "hake",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Brook lamprey",
      "occurrences": "1",
      "features": "1",
      "normalized": "brook lamprey",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Sea lamprey",
      "occurrences": "1",
      "features": "1",
      "normalized": "sea lamprey",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "John dory",
      "occurrences": "1",
      "features": "1",
      "normalized": "john dory",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Striped red mullet",
      "occurrences": "1",
      "features": "1",
      "normalized": "striped red mullet",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Spotted dragonet",
      "occurrences": "1",
      "features": "1",
      "normalized": "spotted dragonet",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Smooth hound",
      "occurrences": "1",
      "features": "1",
      "normalized": "smooth hound",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Red mullet",
      "occurrences": "1",
      "features": "1",
      "normalized": "red mullet",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    },
    {
      "layer": "wfd_transitional",
      "source_species_raw": "Lesser pipefish",
      "occurrences": "1",
      "features": "1",
      "normalized": "lesser pipefish",
      "profile_alias_candidates": "",
      "disposition": "broad_group_or_source_history_only",
      "profile_key": "",
      "group_history_bucket": "",
      "reason": "Retain source-history label only: no exact/case-only profile key or existing lexical alias. No new alias, taxonomic identity, or profile is proposed."
    }
  ]
}