Skip to content

Codes registry

Generated by scripts/gen_code_pages.py from the code registries — do not hand-edit.

Every diagnostic chiptime emits carries a stable machine code. Each code has its own page; the complete agent-facing contract (schema, exit codes) lives in Built for agents.

Code Kind Meaning
FIT_EMPTY error The file contains no bytes.
FIT_TOO_SMALL error The file is smaller than any valid FIT header.
FIT_NO_CONTENT error Structurally valid container, zero messages; data genuinely absent (#16).
NOT_FIT_FORMAT error The content is not FIT (detail names what it looks like).
FIT_HEADER_INVALID error The file header is malformed (size, magic, or fields).
FIT_HEADER_CRC_MISMATCH error The 14-byte header's CRC is nonzero and wrong.
FIT_TRUNCATED error The file ends before its declared content is complete.
FIT_CRC_MISSING error The 2-byte file CRC trailer is absent.
FIT_CRC_MISMATCH error The file CRC does not match the content.
FIT_DATA_SIZE_MISMATCH error The header's data_size disagrees with the actual bytes.
FIT_UNDEFINED_LOCAL_TYPE error A data message references a local type with no definition.
FIT_DEFINITION_INVALID error A definition message is malformed.
FIT_FIELD_SIZE_INVALID error A field's size is not a multiple of its base type size.
FIT_BASE_TYPE_INVALID error A definition declares an unknown base type.
FIT_MISSING_TIMESTAMP_ANCHOR error A compressed-timestamp record has no timestamp anchor.
FIT_TRAILING_JUNK error Bytes after the final CRC are not a chained FIT file.
REPAIR_NOTHING_TO_SALVAGE error Nothing usable survives parsing; repair refuses to fabricate data (#16).
FIT_CRC_MISMATCH warning File CRC is wrong but content decodes; continued.
FIT_HEADER_CRC_MISMATCH warning Header CRC is wrong; continued.
FIT_HEADER_INVALID warning Header is nonstandard; continued on best interpretation.
FIT_CRC_MISSING warning File CRC trailer absent; content used as-is.
FIT_DATA_SIZE_MISMATCH warning Header data_size is wrong; trusting actual content.
FIT_MISSING_TIMESTAMP_ANCHOR warning Compressed timestamps had no anchor; those stamps absent.
STRING_DECODE_REPLACED warning A string field contained invalid UTF-8; replacements used.
STRING_UNTERMINATED warning A string field had no NUL terminator; whole buffer used.
NONFINITE_FLOAT_NULLED warning A float field carried NaN/Infinity; treated as absent.
RELATIVE_TIMESTAMP warning A date_time value is device-relative (< 0x10000000), not absolute.
FIT_TRAILING_JUNK warning Bytes after the final CRC are not a chained FIT file; ignored.
COMPRESSED_AND_EXPLICIT_TIMESTAMP warning Record had both timestamp forms; explicit kept.
DEV_FIELD_NAME_SYNTHESIZED warning Developer field lacked usable metadata; name synthesized, data kept.
DEV_DATA_ID_MISSING warning field_description references a developer_data_index that was never announced.
DEV_INDEX_REDEFINED warning A developer_data_index was redefined mid-file by another app.
ENHANCED_PAIR_DISAGREES warning speed/altitude and their enhanced_ twins disagree; enhanced kept.
RECORDS_OUTSIDE_SESSIONS warning Records fall outside every session's bounds; attached to nearest.
LOCAL_TIMESTAMP_IMPLAUSIBLE warning activity.local_timestamp is impossible for any real timezone (Zwift 1989 bug class).
UNRELIABLE_ABSOLUTE_TIME warning Timestamps predate 2010; device likely never got GPS time. Relative timeline kept.
TIMESTAMPS_AFTER_CREATION warning Records postdate file_id.time_created by more than 7 days; device clock suspect.
TIMER_STOP_WITHOUT_START warning Timer stop event had no preceding start; interval opened at first record.
SUMMARY_AVG_EXCEEDS_MAX warning A declared average exceeds its declared maximum (#93).
SUMMARY_NEGATIVE_TOTAL warning A declared total is negative (#93).
ZERO_DURATION_SESSION warning Session declares zero duration but contains records (#97).
MOVEMENT_WITHOUT_DISTANCE warning Speed present but distance never advances (#97).
ACTIVITY_MESSAGE_MISSING warning No activity message present (#96); repair can synthesize.
NUM_SESSIONS_MISMATCH warning activity.num_sessions disagrees with actual session count.
HR_IMPLAUSIBLE warning Heart-rate samples above the physiological ceiling; flagged (#62).
HR_FLATLINE warning Heart rate flatlined for 2+ minutes; sensor suspect (#62).
POWER_IMPLAUSIBLE warning Power above 2500 W; flagged, never removed (#63).
DISTANCE_DECREASES warning Distance stream decreases (#59).
DISTANCE_RESET warning Distance resets to zero mid-activity (#59).
DISTANCE_FROZEN warning Distance frozen while moving; dead distance source (#59).
POOL_ZERO_LENGTH warning Active pool lengths under 2 s; push-off artifacts (#73).
POOL_LENGTH_IMPLAUSIBLE warning Distance/lengths imply an implausible pool size (#73).
LAP_ZERO_DURATION warning Zero-duration laps; double button press (#94).
LAP_COVERAGE_GAP warning Laps do not cover the session span (#94).
TIMESTAMP_DECLARED_AS_BYTES warning Field 253 declared as byte[4]; reassembled (Xiaomi-pipeline class).
HR_EXPANSION_NO_ANCHOR warning hr.event_timestamp_12 appeared before any full event_timestamp; samples not expandable.
TRUNCATED_TAIL_SALVAGED provenance File ends mid-content; complete records before the cut kept.
STREAM_STOPPED_AT_DEFECT provenance Decoding stopped at a structural defect; prefix salvaged.
PARTIAL_RECORD_DISCARDED provenance Trailing bytes formed an incomplete record; discarded.
FIELD_RAW_SALVAGED provenance Field bytes undecodable as declared type; raw bytes kept.
TIMESTAMP_ANCHOR_FROM_FILE_ID provenance Compressed timestamps anchored from file_id.time_created.
PII_STRIPPED provenance Personally identifying content removed (strip_pii=True).
UNKNOWN_MESSAGES_OMITTED provenance Unknown-message content omitted (include_unknown=False).
ZIP_ENTRIES_CHAINED provenance Multiple .fit entries in a zip parsed as chained parts.
RESYNC_SKIPPED_BYTES provenance Undecodable bytes skipped; decoding resumed at the next plausible definition frame.
PREAMBLE_GARBAGE_SKIPPED provenance Garbage before the FIT header skipped; header re-anchored.
DEV_FIELD_RESOLVED_LATE provenance Developer fields re-resolved after their field_description arrived later in the file.
ENHANCED_PAIR_MERGED provenance enhanced_speed/altitude merged into the base stream (enhanced preferred, taxonomy #28).
RECORDS_REORDERED provenance Records were not in chronological order; stably sorted (ADR-0005 §1).
TIMER_STOP_SYNTHESIZED provenance No final timer stop; timer closed at the last record.
SESSION_REBUILT provenance No session message; session synthesized from records (#95).
GPS_SPIKES_DROPPED provenance Physically impossible GPS bounce spikes removed (lenient) or flagged (forensic) (#53).
NULL_ISLAND_DROPPED provenance Records at exactly (0,0) nulled or flagged (#51).
VIRTUAL_GPS_EXEMPT provenance Virtual-world coordinates exempt from plausibility gating (#57).
REPAIR_FILE_ID_SYNTHESIZED provenance Repair synthesized a missing file_id message.
REPAIR_EVENTS_SYNTHESIZED provenance Repair synthesized timer start/stop events (#96).
REPAIR_LAP_SYNTHESIZED provenance Repair synthesized one covering lap.
REPAIR_SESSION_SYNTHESIZED provenance Repair synthesized the session message from records (#95).
REPAIR_ACTIVITY_SYNTHESIZED provenance Repair synthesized the activity message (#96).
REPAIR_REENCODED provenance Repair re-encoded the file canonically; CRCs recomputed.
REPAIR_LOCAL_TIMESTAMP_DROPPED provenance Implausible local_timestamp not re-emitted (Zwift bug class, #37).
PACING_NEGATIVE_SPLIT insight Second half faster than the first by more than 2%
PACING_POSITIVE_SPLIT insight Second half slower than the first by more than 2%
HR_DRIFT_HIGH insight Speed/power per heartbeat fell >5% first half to second (aerobic decoupling)
COASTING_HIGH insight More than 25% of ride samples at 0 W
WORKOUT_STRUCTURE insight Repeated interval structure found (label in evidence)