Codes registry¶
Generated by
scripts/gen_code_pages.pyfrom 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) |