Card Schema Ingestion Docket / 卡牌结构入库案卷

Card Schema Ingestion Docket records a card row whose declared family may not match the slot, reader, or route that wants to consume it.

schema_ingestion_row:
  source_card_id: card.schedule_or_character_or_resource_or_explicit_absence
  declared_card_family: schedule | character | scene | resource | secret | thought | blackout | equivalent | explicit_absence
  observed_fields:
    - mirror_rights
    - allowed_slots
    - resource_tags
    - secret_tags
    - risks
    - route_hooks
    - folds_to
    - legacy_hooks
  requested_use: schedule_slot | on_screen_slot | route_asset | proof_bridge | public_narrative | lawful_annex | sacrifice_payment | blackout_repair | equivalent
  required_card_family_or_slot: schedule | character | scene | resource | secret | thought | blackout | protagonist | narrative | material | sacrifice | ending | equivalent
  mismatch_kind: missing_field | wrong_family | stale_countdown | hidden_blackout | owner_absent | reader_scope_gap | equivalent
  carrier_or_owner: producer | character | sponsor | archive | editor | lawful_reader | public_fan | explicit_absence | equivalent
  proof_bridge_or_absence: receipt | checksum | testimony | schedule_row | source_tape | explicit_absence | equivalent
  handler_or_reader: management | sponsor | archive | editor | lawful_reader | fan_public | route_asset | explicit_absence | equivalent
  selected_response: certify_declared_schema | narrow_schema_scope | convert_with_receipt | split_card_faces | quarantine_miscast_card | schema_waiver_with_debt | schema_miscast_default
  schema_state_after: schema_certified | schema_narrowed | schema_converted_with_receipt | schema_split_faces | schema_quarantined | schema_waived_with_debt | schema_miscast_defaulted
  future_reader_or_route_effect: declared_family_locked | narrow_reader_only | converted_with_receipt | split_custody | quarantine_required | waived_with_debt | recovery_only
  default_risk: storyteller.event.schema_miscast_default.v1 | none

Required fields: source card id or explicit absence, declared card family, observed fields, requested use, required family or slot, mismatch kind, carrier or owner, proof bridge or absence, selected response, schema state after, and future reader or route effect.

The docket fails if it records only a generic invalid-card warning. It must say who wants to use the card, what family the card declares, why that family is enough or not enough, and what future reader inherits the answer.