- Action
- The vocabulary this console decides in, defined
- As of
- Definitions, not measurements. This screen does not go stale.
Rules
6 in ruleset v2Every trust decision in Interchange is one of these rules firing. The gate is deterministic: a rule reads measured quantities and returns a verdict, and no model has any part in it. A rule that cannot be evaluated returns “not applicable”, which is recorded distinctly from a pass.
- R1 the feed did not respond across consecutive polls
- Consecutive polls that got no usable response. Three in a row raises Watch, twelve raises Quarantine. A 304 Not Modified is a successful poll and ends the run, and a poll that failed at this end is not counted against the publisher at all.
- R2 the feed reports a last-updated time older than its own declared cadence allows
- How old the feed says its own data is, against both a fixed floor and the update interval the publisher declared to the registry. A publisher declaring a one-minute cadence is judged more strictly than one declaring a week.
- R3 the feed does not validate against the WZDx version it declares
- Schema errors against the exact WZDx version the publisher declares. If that version cannot be resolved the rule is suppressed rather than failed, so an Interchange-side gap never counts against a publisher.
- R4 the feed marks work zones active whose end date has already passed
- The share of zones marked active whose end date is in the past, over the dated active zones only. Zero dated active zones is not a pass; the rule abstains.
- R5 the feed content has not changed while its last-updated time advanced
- Whether the structure of the feed stayed byte-identical across a window of polls while the publisher kept advancing its own timestamp. This is the claim of freshness no timestamp check and no schema check can catch.
- R6 the feed reports a last-updated time that is missing, unreadable or in the future
- Whether the feed carries a usable timestamp at all. Never quarantines on its own, and is suppressed on a failed poll, where there is no document to carry one.
Terms
22 defined- Admit
- The publisher passed every rule that could be evaluated on its most recent polls. Its zones go into the merged feed.
- Watch
- At least one rule raised a reservation. The publisher still contributes to the merged feed; the reservation is recorded against it.
- Quarantine
- A rule failed severely enough that this publisher contributes nothing to the merged feed until it recovers. Every quarantine opens a notice for a human to decide on.
- No access
- The feed is behind an API key Interchange does not hold, so it has never been polled. This is not a trust verdict: the publisher has passed nothing and failed nothing, and it is excluded from coverage denominators rather than counted either way.
- Latching
- Which rules are currently holding this publisher out of Admit. A rule latches when it fails and stays latched until the publisher produces a run of clean polls, so one good poll cannot clear a standing failure.
- Clean streak
- Consecutive polls on which no latched rule fired and the rule could actually be evaluated. A poll that could not be evaluated does not extend the streak, because "we did not check" is not a clean poll.
- Ruleset
- The version of the rule definitions in force when a decision was made. It travels with every transition, so a decision made last month is read against the rules that were in force then rather than against today’s.
- Churn
- How much the feed’s structure actually changes between polls. R5 needs a window of polls carrying real bodies before it can measure this; until then the publisher reads as insufficient history rather than as passing.
- Not modified, carried forward
- The publisher answered 304 Not Modified, so no new body arrived and the previous body was reused for the rules that need one. The poll counts as successful; the measurements come from the last body actually fetched.
- No response
- The poll produced no HTTP response at all: a timeout, a refused connection, a DNS failure, or an Interchange-side error before the request completed. Distinct from a response carrying an error status.
- Screened text
- Every piece of free text a publisher sends, road names included, is put through a screening gate before it reaches a model, a notice or the republished feed. Structural fields are never screened; they cannot carry an instruction.
- Redacted
- The screening gate did not return a pass for this text, so the text was replaced rather than carried. Interchange never passes unscreened free text onward, so a gate that cannot answer redacts exactly as one that refuses does.
- Cadence
- Two intervals, not one: the update interval the publisher declared to the registry, and how often Interchange actually polls it. They differ when adaptive backoff slows a publisher that keeps answering unchanged.
- Version
- The WZDx specification version the publisher declares for its own feed. R3 validates against that exact version rather than against the newest one, so a publisher is never failed for not having upgraded.
- Last polled
- When Interchange last completed a poll of this feed. A publisher behind an API key Interchange does not hold has never been polled at all, which is not the same as a poll that failed.
- Tier 1, declared upstream
- Two publishers were merged because they declare the same upstream data source. This is the strongest evidence in the system and needs no model: it is the publishers’ own declaration.
- Tier 2, adjudicated
- Two zones matched on geometry but the identifiers were ambiguous, so the pair was put to a model for a yes or no. The model never touches a trust decision; it only answers whether two zones are the same work zone.
- Single source
- Only one publisher claims this zone, so there was nothing to reconcile.
- Symmetric coverage
- The fraction of BOTH zones’ lengths that lie within the distance threshold of the other. Distance alone matches a 4.8 km ramp closure to a 33 km pavement project that runs through it; requiring that a substantial part of each coincide does not.
- Withheld before the merge
- Zones a quarantined publisher never contributed. They are held back upstream of the merge, which is why they never appear in the exclusion counts below: those can only count zones the republisher actually received.
- Passed its own gate
- The merged feed Interchange publishes was validated against the official WZDx schema before it was emitted. A feed that would quarantine its own publisher is not published.
How absence is written
Interchange never records “we did not check” as “we checked and it passed”. Four different things are four different words, and none of them is a pass:
- Not applicable
- The rule ran against a real body and genuinely did not apply. It counts toward recovery, and it is not a pass.
- Not checked
- No poll in this period carried a body the rule could read, so the rule did not run. Distinct from zero errors.
- Not measured
- The quantity was never taken. Distinct from a measured zero, which is the best possible value rather than the absence of one.
- Insufficient history
- The rule needs a run of polls it has not had yet. A separate axis from the trust state, not a fifth state.