Skip to content

6.4.2.14 IngestionSkip

6.4.2.14.1 Purpose

Counts the source values that were not published as canonical data, per parse job, field and reason, with a row-by-row log next to the raw file. A missing observation can mean "not publishable" rather than "not measured"; this is where to check.

6.4.2.14.2 Questions it answers

  • Why is a value missing from the canonical data?
  • Which fields of a source cannot be mapped yet?
  • How many values were skipped, and where are the row-level details?

6.4.2.14.3 Fields

Field Type Cardinality Description
id string (uuid) 1..1 Key.
raw_metadata RawMetadata 1..1
source_field string 1..1
reason enum 1..1 Values: unit_unknown, semantic_basis_unknown, unmapped_field, out_of_range, not_measured_marker, invalid_format, unresolved_subject, invalid_identifier, out_of_scope, unsupported_result_form, proprietary_index.
count integer 1..1 Default: 1.
mapping_version string 1..1
detail_path string 1..1 Row-level log in the bucket next to the raw file (JSONL: record/field locator, source_record_key, time, animal only if safely resolved, raw value). Summary counts alone are not row-level evidence; this file is.
parse_job ParseJob 1..1
created_at datetime 1..1

6.4.2.14.4 Relationships

References

6.4.2.14.5 Rules & constraints

  • A result not published canonically; raw remains retrievable. Not synonymous with not measured.
  • One row per (parse_job, source_field, reason): counts in the database, detail in the bucket, technical errors in Cloud Logging (hybrid log).
  • An unknown subject is never assigned to an arbitrary animal.
  • A row present in raw but skipped during parsing is still present at the source; never infer its deletion.
  • Invalid analytical test outcomes belong in a typed result category when reported, not in ingestion errors.