Depends on #2.
The roster is published in the repository that holds machine-readable data. This
one vendors a pinned copy so that a build is reproducible and works with no
network, which is the same reason the release data is recorded rather than
fetched.
A vendored copy that nobody checks is a copy that silently goes stale, so a
scheduled run fetches the published roster and reds when it differs from the
pinned one. The failure says which rows differ. It does not update anything on
its own, because the difference is the evidence for what changed and a run that
quietly resolves it destroys that.
Fail closed on a fetch error. A run that could not reach the published file
reports that it could not, rather than passing as though the copy were current.
Whether the published file exists yet is entry 6 of #7. Until it does, this
check has nothing to compare against, and it reports that it is off rather than
reporting green, because a freshness check that passed without fetching anything
is the exact failure it exists to prevent.
Done when
The pinned copy is in the tree, the scheduled run reds on an introduced
difference and names the differing rows, and a simulated fetch failure reds the
run rather than passing it.
Depends on #2.
The roster is published in the repository that holds machine-readable data. This
one vendors a pinned copy so that a build is reproducible and works with no
network, which is the same reason the release data is recorded rather than
fetched.
A vendored copy that nobody checks is a copy that silently goes stale, so a
scheduled run fetches the published roster and reds when it differs from the
pinned one. The failure says which rows differ. It does not update anything on
its own, because the difference is the evidence for what changed and a run that
quietly resolves it destroys that.
Fail closed on a fetch error. A run that could not reach the published file
reports that it could not, rather than passing as though the copy were current.
Whether the published file exists yet is entry 6 of #7. Until it does, this
check has nothing to compare against, and it reports that it is off rather than
reporting green, because a freshness check that passed without fetching anything
is the exact failure it exists to prevent.
Done when
The pinned copy is in the tree, the scheduled run reds on an introduced
difference and names the differing rows, and a simulated fetch failure reds the
run rather than passing it.