Twenty-six items reached Done this week and none went to Won't Do, against twenty-three the week before. Twelve of them closed on Wednesday, half of those putting a site under watch from outside. N17 Time and its sibling accounted for twelve as well, and the sibling, built from N17 Time's code a fortnight ago, has already started to give some of it back.
Ten external monitors went up on Wednesday across six sites, each checking every five minutes on the free plan of a service that already watched other client sites. CronCal's is a keyword check rather than a plain one, so it notices the wrong page as well as no page at all. Testing it needed a moment's thought: the application answers any unknown address with a page of its own and a 200, so an outage cannot be faked by pointing the monitor at a bad address, and the alert was proved instead by a temporary monitor looking for a word that is not on the page. N17 Time has two. One looks for a phrase from the footer's disclaimer, which is in the page in every state it can be in. The other works the opposite way round and alerts when a phrase appears: the line the page prints once its data is more than a day old. That one means the refresh has been failing for a day while the page goes on serving its last good copy, which is exactly the failure no visitor would think to report. The whole phrase matters, because a shorter one is always present, hidden, in the page's offline message.
Three client sites — the retained veterinary practice's, an independent garage's and a beauty therapy studio's — first gained a health endpoint, because a monitor on a home page proves only that a file can be served. The endpoint answers 200 only when the site's server-side code is actually running, and on two of the three it also checks that both secrets the forms depend on are present, though never what they are. If either is missing it answers 503, a state in which the forms are broken and nothing else on the site would show it. Each was verified on production before its monitor was created, since a monitor pointed at an endpoint that is not there yet alerts at once. A building and landscaping firm's site has a single monitor on its home page.
— On monitors —Most monitors wait for a page to stop saying something. One of these waits for it to start.
Three of CronCal's epics closed that morning, each against what production does now rather than what its description said in April. The hosting epic still named the www address as canonical, though a later decision had made it the bare domain; the launch epic had been written around a window that closed in June. Its launch posts were parked in September, and on Wednesday the directory listings it named went the same way.
Two clients' launches came to the end of their watching periods. The garage's mail policy went to reject in late September, with its ticket held open for a fortnight of reports, and the reports came in clean: only the garage's own mail, aligned, and nothing rejected because nothing else had tried to send as the domain. The ticket closed on Wednesday, and the garage's launch epic with it. The veterinary practice's post-launch checks ran on Monday, two days after the switch, and found nothing to fix: the public resolvers tried were all answering with the new nameservers, the mail records all still matched, the reply to a test message passed every authentication check, all twenty-seven pages in the sitemap answered at their own canonical address, and the old site's addresses redirected to their new homes. A week of watching followed, the last three days of it under the new monitors, and a final round of checks from outside on Saturday morning found everything as Monday had left it. The practice raised nothing all week.
N17 Time's sibling, still not named here, had its launch checks on Thursday, every line run against the deployed page: accessibility scored in full on both pages in both themes, with every text colour pairing computed rather than sampled; under fifty kilobytes; no sideways scrolling on the narrowest phone; installable on both kinds of phone, and opening in flight mode after one visit. The same day brought it cup ties, a league table and directions to away grounds, and its first postponement. That arrived in the club's calendar as a cancellation on the original date, while the club's own page called it postponed and the data source still had the match as not started three days later, so a cancellation in the calendar now reads as a postponement and the page follows the match to its new date once the club sets one. The sibling also has a domain of its own. Its brief said zero cost, and the brief gave way once the page had launched: about twelve pounds a year, its only spend.
The same three features went the other way the next day, and each needed a different answer, because the data behind it is different. The sibling works its league table out from the results, since its source's own table ran a result behind; N17 Time's feed publishes the official table, deductions included, so there was nothing to compute. The sibling learns of a cup tie from the club's calendar and finds the result by searching the data source for the competition, the date and the side. The free tier of N17 Time's feed covers only the league and one European competition, and everything else, the cups included, is on a paid plan, so its cup ties come from a short list kept by hand: a line after each draw, a time once the kickoff is confirmed, a score after the match. The sibling's away addresses come from the club's calendar too. N17 Time's feed does carry venue records, but they proved stale, with clubs still listed at grounds they have left, so its twenty grounds are kept by hand as well, checked against the clubs' own pages and pinned by a test so that the list is looked at every summer. On both pages the directions are a plain link to a map search, which requests nothing until it is tapped.
Both clubs played on Saturday, and both pages were watched through their matches. For one goal three weeks ago, N17 Time's feed served two different answers on consecutive reads and the page mirrored both; the change that would stop that costs two minutes on every goal, and was parked until the next match said whether it was worth it. The next match said not. None of the evening's reads disagreed with one another, and every change reached the page within a poll of reaching the feed, so the change stays parked. The sibling's home match was its first under observation, with two free sources polled every two minutes from just before kickoff until well after the whistle. Only one moved during play, between two and seven minutes behind the pitch. Whether that is close enough for a live score is what the exercise was for, and the decision has not yet been taken.
In progress across every project stands at nine, as it did a week ago: the garage's mail policy closed, and the sibling's match-day exercise opened, its evidence in and its decision still to come.
Very little this week was taken at its word. A server's 200 was not, so the monitors read what the page actually says, and on three sites ask the code whether it is running. A feed's venue records were not, so the grounds were checked against the clubs' own pages. And one bad afternoon was not enough to slow every goal by two minutes, so a second match was watched first. It said leave well alone.