gapline reads its configuration from TOML files. Unknown keys are rejected: a typo in a section or field produces a parse error with the path to the offending file. See getting started / configuration for how the lookup chain works.
This page documents every accepted key. Some are forward-compatible stubs — they deserialize cleanly but are not yet read by any runtime code. They are documented for completeness and will become live as the features land.
[ validation . thresholds . speed_limits ]
[ validation . thresholds . distances ]
[ validation . thresholds . time ]
[ validation . thresholds . coordinates ]
[ validation . thresholds . calendar ]
[ validation . thresholds . naming ]
Any section can be omitted — every key has a default.
Defaults for CLI arguments that can be omitted from the command line.
Key Type Default Description feedpath — Feed path used when --feed is omitted. Accepts a ZIP archive or directory. formatstring — Output format: text, json, csv, xml, html. Overridden by --format. outputpath — Output destination when --output is omitted. Per-command.
Rule selection and high-level behaviour.
Key Type Default Description min_severityerror|warning|info— Filter out findings below this level. Overridden by --min-severity. disabled_rulesarray of string []Rule IDs to skip. CLI --disable-rule appends to this list. max_rowsinteger — Maximum data rows per file (consumed by TooManyRowsRule). Omit to disable the check. fail_fastboolean falseForward-compat. Not yet wired.max_errors_per_ruleinteger — Forward-compat. Not yet wired.enabled_rulesarray of string []Forward-compat. Not yet wired. When non-empty, will pin the rule set.
Per-route-type maximum speeds in km/h. Consumed by speed_validation.
Key Type Default Applies to route_type tram_kmhnumber 150.00 subway_kmhnumber 150.01 rail_kmhnumber 500.02 bus_kmhnumber 150.03 ferry_kmhnumber 150.04 cable_tram_kmhnumber 30.05 aerial_lift_kmhnumber 50.06 funicular_kmhnumber 50.07 trolleybus_kmhnumber 150.011 monorail_kmhnumber 150.012 default_kmhnumber 150.0Extended/unknown route types
Every value must be a finite number strictly greater than zero.
Distance thresholds in metres.
Key Type Default Description max_stop_to_shape_distance_mnumber 100.0Max allowed distance from a stop to its nearest shape point. min_shape_point_distance_mnumber 1.11Minimum spacing between consecutive shape points. shape_dist_incoherence_rationumber 0.5Tolerance for shape_dist_traveled mismatch. Must be in [0, 1]. max_transfer_distance_mnumber 10000.0Upper bound on transfers.min_transfer_time-derived distance. transfer_distance_warning_mnumber 2000.0Warning threshold. Must be ≤ max_transfer_distance_m.
All values must be finite and non-negative.
Key Type Default Description max_trip_duration_hoursinteger 24Maximum allowed trip duration. Omit to disable the check. Must be > 0 when set.
Key Type Default Description min_distance_from_origin_mnumber 1000.0Reject coordinates closer than this to 0/0. min_distance_from_poles_mnumber 1000.0Reject coordinates closer than this to either pole.
Key Type Default Description min_feed_coverage_daysinteger 30Minimum calendar coverage. Must be > 0. feed_expiration_warning_daysinteger 7Warn when the feed expires in fewer days than this. min_trip_activity_daysinteger 7Flag trips active on fewer days than this.
Key Type Default Description max_route_short_name_lengthinteger 12Warn when route_short_name exceeds this many characters. Must be > 0.
Key Type Default Description num_threadsinteger — Worker pool size. Auto-detected when omitted. Overridden by --threads. csv_buffer_sizeinteger 8192CSV reader buffer size in bytes. parallel_parsingboolean trueForward-compat. Not yet wired.parallel_validationboolean trueForward-compat. Not yet wired.
Key Type Default Description force_colorboolean falseForce ANSI colors. Overridden by --force-color. no_colorboolean falseSuppress ANSI colors. Overridden by --no-color. show_progressboolean trueWhether to render per-group progress bars during validation. verbosityquiet | normal | verbosenormalLog verbosity. timestamp_formatnone | iso8601 | unix | relativenoneTimestamp style in report headers. group_by_fileboolean trueGroup findings by file_name in the text report. group_by_ruleboolean falseGroup findings by rule_id in the text report.
Key Type Default Description continue_on_errorboolean falsePlanned: keep running after a failed directive in .gl scripts. echo_commandsboolean truePlanned: print each directive to stderr before execution.
Key Type Default Description enabledboolean falseMaster switch. validate_flexboolean falsePlanned GTFS-Flex validation. validate_fares_v2boolean falsePlanned GTFS Fares v2 validation. validate_geojsonboolean falsePlanned GeoJSON shape validation.
output = " ./reports/latest.json "
disabled_rules = [ " block_id_trip_overlap " ]
[ validation . thresholds . speed_limits ]
[ validation . thresholds . distances ]
max_transfer_distance_m = 5000
transfer_distance_warning_m = 1500
[ validation . thresholds . calendar ]
min_feed_coverage_days = 60
feed_expiration_warning_days = 14
timestamp_format = " iso8601 "
A missing config file (any of the three lookup layers) is silently skipped.
A file that exists but cannot be read (permission denied, I/O error) aborts with exit code 3.
A file that parses to invalid TOML , or contains an unknown key , aborts with exit code 2 and a message that includes the path and the offending token.
A semantically invalid value (negative speed, zero calendar coverage, incoherent thresholds) aborts with exit code 2 and a message that cites the specific field.
See concepts / exit codes .