Bring TODO.md Status and Next Step to the run in progress (closes #251)
check / check (push) Successful in 1m14s

Status and Next Step described the 24-hour run of 9bd0e91, whose outcome
was posted on issue 226 on 3 November. They now describe the run of
e58c663 on issue 232: at least 24 hours, then on until the feed stalls or
reconnects, up to 72 hours, and what its outcome reports. Two Completed
Steps entries of 10 November are rewritten: the ProtonVPN entry ran past
30 words, and the busy-host test entry referred to waits it had not named.
The PTR entry defines TTL. An entry for this read is added.

Model: fable-5-1
This commit is contained in:
sneak committed 2026-11-10 16:07:33 +00:00
1 parent ed7a565e91
commit 3bf20f4125
1 file changed
+42 -28
+42 -28
View File
@@ -22,37 +22,49 @@ formatting of the Go code and the markdown. Then it builds the image.
The image sets memory ceilings for a 5 GiB container (README "Memory"). README The image sets memory ceilings for a 5 GiB container (README "Memory"). README
"Running under upaas" says how to run it. "Running under upaas" says how to run it.
A five-day run of `1c65656` on the live feed, from 2026-10-27 to 2026-11-01, Five runs of `next` on the live feed have ended since 2026-10-27, from three
found three problems: hours to five days long. The runs found the handlers dropping updates for five
causes, and the WHOIS fetcher asking a registry that had refused it. Each is
fixed on `next`, and its Completed Steps entry below names its issue. A 21-hour
run of `742e759`, which has every fix but one, dropped no update except after
the feed stalled. That cause, https://git.eeqj.de/sneak/routewatch/issues/229,
is fixed on `next`.
- The prefix handler dropped updates while a peer's session went down A run of `e58c663` on the live feed began at 09:19 UTC on 2026-11-10
(https://git.eeqj.de/sneak/routewatch/issues/216). (https://git.eeqj.de/sneak/routewatch/issues/232). It is to confirm that fix.
- The AS handler dropped updates when the feed burst Next Step lists what its outcome reports. The seven IP lookup additions of
(https://git.eeqj.de/sneak/routewatch/issues/217). https://git.eeqj.de/sneak/routewatch/issues/203 landed after it began, so it
- The WHOIS fetcher kept asking a registry that had refused it does not exercise them.
(https://git.eeqj.de/sneak/routewatch/issues/218).
All three are fixed on `next`. So is
https://git.eeqj.de/sneak/routewatch/issues/222, which the third fix brought up.
A run of `26d939a` on the live feed showed the prefix handler still dropping
updates while the home page's cards were worked out.
https://git.eeqj.de/sneak/routewatch/issues/226 fixed that on `next`.
https://git.eeqj.de/sneak/routewatch/issues/225, also on `next`, takes the peers
whose sessions go down together out of the table in one walk. A 24-hour run of
`9bd0e91` on the live feed is checking whether any handler still drops updates.
The order of the project's remaining work is kept on The order of the project's remaining work is kept on
https://git.eeqj.de/sneak/routewatch/issues/86. https://git.eeqj.de/sneak/routewatch/issues/86.
# Next Step # Next Step
Post the outcome of the 24-hour run of `9bd0e91` on Post the outcome of the run of `e58c663` on
https://git.eeqj.de/sneak/routewatch/issues/226: whether any handler still drops https://git.eeqj.de/sneak/routewatch/issues/232. The run lasts at least 24
updates, and the process's peak memory against 5 GiB. File an issue for each hours. If the feed has not stalled or reconnected by then, the run goes on until
problem the run finds. it does, up to 72 hours in all. The outcome says:
- whether the feed stalled or reconnected
- whether any handler dropped an update, and the most messages the prefix
handler's queue held at once
- the most messages the prefix handler held back at once
- the size of the `origin_changes` table on disk
- the process's peak memory against 5 GiB
File an issue for each problem the run finds.
# Completed Steps # Completed Steps
- 2026-11-10: `README.md` and this file are read whole against the rules of
https://git.eeqj.de/sneak/routewatch/issues/157, and every statement except
measured figures is checked against the code on `next`. Four README sentences
failed the prose rules, on origin changes, PTR lookups and geolocation, and
five disagreed with the code, on units, geolocation, a failed database write
and `script/test`. Each is rewritten. Status and Next Step describe the
live-feed run in progress (closes
https://git.eeqj.de/sneak/routewatch/issues/251).
- 2026-11-10: the image creates the `routewatch` user as a regular user with UID - 2026-11-10: the image creates the `routewatch` user as a regular user with UID
1000, so the build no longer warns about the system UID range (closes 1000, so the build no longer warns about the system UID range (closes
https://git.eeqj.de/sneak/routewatch/issues/248). https://git.eeqj.de/sneak/routewatch/issues/248).
@@ -63,16 +75,18 @@ problem the run finds.
- 2026-11-10: the IP lookup checks the `icloud_private_relay` list of Apple's - 2026-11-10: the IP lookup checks the `icloud_private_relay` list of Apple's
iCloud Private Relay networks, downloaded once a day. Each result has iCloud Private Relay networks, downloaded once a day. Each result has
`flags.is_relay` (closes https://git.eeqj.de/sneak/routewatch/issues/237). `flags.is_relay` (closes https://git.eeqj.de/sneak/routewatch/issues/237).
- 2026-11-10: the IP lookup checks the `protonvpn` list of ProtonVPN's /24 - 2026-11-10: the IP lookup checks two ProtonVPN lists from a public mirror of
networks and the `protonvpn_entry` list of its servers' IPv4 and IPv6 Proton's server list. `protonvpn` holds the /24 networks of ProtonVPN's
addresses, from a public mirror of Proton's server list (closes servers, and `protonvpn_entry` holds the servers' IPv4 and IPv6 addresses
https://git.eeqj.de/sneak/routewatch/issues/236). (closes https://git.eeqj.de/sneak/routewatch/issues/236).
- 2026-11-10: the IP lookup finds PTR names over DNS-over-HTTPS and caches them - 2026-11-10: the IP lookup finds PTR names over DNS-over-HTTPS and caches them
for the record's TTL, in memory and in `cache.db` (closes in memory and in `cache.db` for the record's TTL. A TTL is the time for which
a DNS record may be kept (closes
https://git.eeqj.de/sneak/routewatch/issues/238). https://git.eeqj.de/sneak/routewatch/issues/238).
- 2026-11-10: the tests no longer fail when a busy host stalls for several - 2026-11-10: the tests no longer fail when a busy host stalls for several
seconds. Most such waits are now 15 seconds. The test of the stream's idle seconds. Most waits for something that should happen are now 15 seconds. Tests
timeout runs on a fake clock (closes #240) that depend on a short idle timeout or a request limit run on a fake clock
(closes https://git.eeqj.de/sneak/routewatch/issues/240)
- 2026-11-10: the IP lookup checks the public VPN server lists of Mullvad, - 2026-11-10: the IP lookup checks the public VPN server lists of Mullvad,
NordVPN, Private Internet Access and IVPN, and X4BNet's community list. Each NordVPN, Private Internet Access and IVPN, and X4BNet's community list. Each
result has `flags.is_vpn` and `vpn_providers` (closes result has `flags.is_vpn` and `vpn_providers` (closes