Changelog — 2.38–2.48

Releases 2.38.0 through 2.48.0. Current releases are on the main changelog, and every band is listed in the release archive.

Loading audio...

Version 2.48.0

July 31, 2026

The voice-building tool now says when an attempt has died — and most of the audio work we were about to do turned out to be already done

  • Nothing you can see on the site changed today. This is the tool that builds a new reading voice from a short sample of someone speaking.
  • We started by checking, and found three of the four audio tools already handled this properly. Our own plan had listed them all as needing work. Checking first saved doing three unnecessary jobs — and it is a good argument for measuring before starting rather than trusting a list, however recently it was written.
  • The one real gap was narrow, and worth naming precisely. A finished voice was always saved properly, so no completed voice was ever at risk. What was missing was the opposite case: if the process stopped halfway, there was no record anywhere that it had been tried. “Did that work?” had no answer, which is its own kind of unhelpful.
  • There were nine different ways for it to give up, and we did not want to fix nine of them. Handling each one separately works perfectly until somebody adds a tenth and forgets. So instead, anything that reaches the end without having explicitly succeeded is recorded as stopped. One rule, all nine routes covered, and the tenth covered before it exists.
  • We are careful about when the record starts. Ordinary mistakes — no file chosen, clip too short, name already taken — are answered straight away and leave no record, because they are not failures of ours. The record starts at the point where we begin doing real work.
  • One small tightening. The tool now requires a fully identified account, not just an email address. Records are filed against the account, so one filed without it would have been a record its own author could not look up — which looks fine and is useless.
  • The list of tools still awaiting this treatment is down to ten, from sixteen. Ten is not zero, and the remaining ones are being left deliberately rather than forgotten: half already have their own older way of recovering, and whether to move them across is a decision worth taking properly rather than to satisfy a rule.
  • Nothing to do at your end.

Version 2.47.0

July 31, 2026

The same fault in the Events artwork tool — arriving by a completely different route, which is the part worth remembering

  • Nothing you can see on the site changed today. This is the tool that makes the header artwork for commemoration programmes and their sessions.
  • It had the same problem we fixed yesterday for Reflections: a picture could be made and then abandoned. Now it is recorded the moment it is ready, so nothing is left sitting in storage that nobody knows about.
  • The interesting part is that it got there a different way. The Reflections tools send their progress to the browser as they work, and the fault there was that the final handover could fail silently. This tool does not work that way at all — it simply answers when it has finished. So it did not have that flaw. It lost the picture anyway, because if nobody is left waiting for the answer, the answer goes nowhere.
  • We are writing that down because it is how this sort of thing survives being looked for. Had we gone hunting for “tools that stream progress”, this one would have passed the check and kept the bug. The question that mattered was not how it talks to the browser, but whether anything is written down when the browser stops listening.
  • Our own notes had already spotted it and said so. A comment in this file pointed at the Reflections tool and said the two shared a fault. Both were correctly identified; neither had been fixed. They both are now.
  • The list of things still waiting for this treatment is now eleven, down from sixteen. Every removal so far has been forced by an automatic check rather than remembered by a person, which is the only reason a list like that stays honest.
  • Nothing to do at your end.

Version 2.46.0

July 31, 2026

Pictures for the daily Reflection were being made and then quietly abandoned — and the picture machine could be left locked by nobody

  • Nothing you can see on the site changed today. This is the tooling our editors use to make the artwork, title cards and wallpapers that go with each daily Reflection.
  • We checked all three before changing any of them, and they turned out not to be in the same state. Title cards and wallpapers were already being saved properly as they were made. Only the main artwork was not. Had we assumed they were all broken, we would have written the same fix three times and solved one real problem.
  • The main artwork was the one losing work. The picture was made, stored, and then only ever mentioned to the browser tab that asked for it. If that tab went away, the picture stayed on our storage with nothing pointing at it — taking up space, findable by no one.
  • We had already written this down and then not acted on it. A note in that file records the same fault being seen on the live site back in July, where a Reflection pointed at a picture that had since been replaced. The note was accurate; nothing had been done about it.
  • The picture machine could also be left locked by a job that had died. Only one picture is made at a time. If whatever was making it stopped unexpectedly, the machine stayed reserved for up to half an hour — idle, while anyone else was told it was busy. Each job now says which job it is, so a dead one can be spotted and the machine freed immediately.
  • Two cases where the screen said one thing and our records said another. If the machine was already in use, you were told so — but the job was left recorded as still running. Same when a title card came back empty. Both now say plainly that they stopped, so what you see and what we record agree.
  • Wallpapers are made in a batch of thirty-five, and a batch that mostly works is now recorded honestly. Thirty-four out of thirty-five is a good result that needs a note against it, not something to file as a failure — that would have hidden thirty-four finished pictures.
  • Nothing to do at your end.

Version 2.45.0

July 31, 2026

The longest job we run was finishing its work and then throwing it in the bin

  • Nothing you can see on the site changed today. This is about the tool our writers use to draft a vignette from a one-line idea.
  • It is the slowest thing on the site — a bit over two minutes, typically. That is fine; it is doing real work. The problem was what happened at the end.
  • The finished story only ever existed in the browser tab. Nothing was written down on our side. Close the tab, lose your connection, or simply have the laptop go to sleep, and the whole thing was gone — with no way to get it back and nothing to show it had ever been made.
  • The odd part is that the work itself already coped fine. If you walked away, it carried on and finished properly. It just had nowhere to put the answer, so it reached the last step and dropped it. The expensive part was never the problem; throwing away the result was.
  • Now the story is saved the moment it is ready — before we try to hand it to the browser, not after. That order is the entire fix. The other way round, a browser that had already gone away took the story with it.
  • One honest limit, worth stating plainly. The story is now safely kept, but the editor does not yet offer it back to you automatically when you return. Nothing is lost, and it can be retrieved; picking it up where you left off is the next piece of work. We would rather say that than let a half-finished feature look complete.
  • A check we added yesterday caught its own first case today. We keep a list of the places still waiting for this treatment. Fixing this one made its entry on that list wrong, and the check refused to pass until the entry was removed. That is the list shrinking by itself rather than relying on someone remembering — which is the whole reason it was built that way.
  • Nothing to do at your end.

Version 2.44.0

July 31, 2026

Some of our long jobs had been stuck since March, and nothing could tell us — plus a setting we had been adding for years that does nothing at all

  • Nothing you can see on the site changed today. This is about the machinery behind the scenes that makes pictures, recordings and videos — work that takes minutes rather than moments.
  • A job that had died looked exactly like a job still working. When one of these long tasks was interrupted — the site restarting, say — it left behind a note saying “in progress”, and nothing ever went back to correct it. We found notes that had said “in progress” since the 18th of March. Four and a half months, sitting there looking like something that was about to finish.
  • That is worse than a plain failure, and it is why we treated it as urgent. A task that says it failed tells you to start it again. A task that says it is working tells you to wait. We had been telling people to wait for things that stopped months ago.
  • Now the site checks on startup and says plainly what died. Anything left mid-flight by a restart is marked as stopped, with a message explaining that nothing was saved and it needs starting again. Long jobs also check in every half minute while they run, so one that dies quietly can be spotted without waiting for a restart.
  • We were careful about the difference between “slow” and “dead”. Some of this work legitimately goes quiet for minutes at a stretch. A check that assumed silence meant death would have cancelled perfectly healthy work, which would have been a worse bug than the one we were fixing. So a job is only ever declared dead if it had promised to check in and then stopped.
  • The machine that makes pictures could be left locked by a job that no longer existed. Only one picture can be made at a time, so each job takes a turn and releases it when finished. A job that died never released its turn, and the next person waited up to half an hour for a machine that was sitting idle. It now notices and releases straight away.
  • Then the awkward part: a setting we had been adding to these pages for years does nothing here. It is meant to tell certain hosting services “allow this page longer than usual to finish”. We do not use that kind of hosting — we run our own — so it has never had anything reading it. Twenty-three pages carried it. All twenty-three were decoration.
  • And it was our own written guidance that put it there. Our internal notes for developers instructed people to add it. So this was not carelessness by anyone; it was people correctly following an instruction that was wrong. We have corrected the instruction, and made the computer enforce the rule that actually matters — that work expected to take minutes has to be recoverable — rather than trusting a document to be read.
  • We also found that our instructions for undoing a bad release were wrong. They described a command that would appear to work perfectly — no error, no warning — while changing nothing at all. That is the instruction someone reaches for at two in the morning when something has gone wrong, so it is exactly the worst one to have wrong. It now says what actually works.
  • Nothing to do at your end.

Version 2.43.0

July 31, 2026

One page to see how much of the site’s work is done by machine — and an admin page that had been misnamed for months

  • Nothing you can see on the site changed today. This is an internal page, for the people who run the site. It now shows all four kinds of machine work in one place — writing, listening to recordings, making pictures, and reading aloud — where before it showed only the first.
  • The page had the wrong name, and had done for months. It was called “LLM Usage” — the machinery that writes text. But work from a completely different system, the one that turns recordings into text, had been landing in the same list since February. It was sitting there on screen looking like something it was not. That is now labelled honestly and counted separately.
  • We deliberately did not put a single cost figure at the bottom. Two of the four kinds of work have a real price per use; the other two run on hardware we already own and simply have no price to add up. A grand total would have been genuine for one column and invented for the others — and a made-up number in a cost report is worse than no number, because sooner or later someone quotes it. Where there is no price, the page says so in words rather than printing a confident zero.
  • What we total instead is time. It means the same thing for every kind of work, it is real in all four cases, and it is the thing actually worth managing.
  • We found a permissions mismatch while we were in there. The old page could be opened by more people than its data would load for — so some of our editors could reach a page that then refused to show them anything. Nothing was exposed that should not have been; the page was just misleading about it. The new one is consistent.
  • A settings page was quietly testing the wrong thing. There is a button that checks our text-generating setup is working. It reported success — while actually testing a completely different, external service, because it worked out which one to use by inspecting the name of the model rather than reading the setting that says so. When the one we actually use failed, it fell back to the other and said nothing. It now tests what you selected, tells you plainly if something else answered instead, and can be pointed at a single option deliberately. It also turns out to be about six times faster than the thing it had been testing by mistake.
  • A page was describing our own equipment in more detail than it needed to. One settings page named the specific software and the machine it runs on. None of that helps anyone using the page, and it is not the sort of thing worth writing on a screen. Shortened to what is actually useful.
  • Admin pages with a long subtitle could scroll sideways on a phone. Fixed for all of them at once. Most of this work is done on laptops and tablets where it was never visible.
  • The old address still works. Anyone who bookmarked it is sent to the new one automatically.
  • Nothing to do at your end.

Version 2.42.0

July 31, 2026

Every spoken recording we make is now written down — and doing it turned up four places our own notes had wrong

  • Nothing you can see or hear on the site changed today. Spoken audio was the last thing we make that left no record at all. Written text and transcription have been recorded for months; pictures since yesterday. Now every recording is too — what it was for, which voice read it, how long it took to make, and how long the finished audio runs.
  • Those last two are different numbers, and keeping both is the whole point. A recording that runs a minute might take twenty seconds to produce or three minutes, and the difference between them is the only early warning that the machine doing the work is falling behind. One number without the other tells you nothing.
  • It immediately showed us something we had written down wrongly. When a page contains Arabic, we convert it to a spelled-out pronunciation first and say so at the start of the recording, so nothing is skipped and nothing is mangled. Four parts of the site make audio without that step — which is fine today, because those parts only ever handle English. Our own notes named one of the four and called it the only one.
  • The notes were wrong in the same place they warned us not to trust them. The very sentence that missed three of the four told the reader to go and count for themselves rather than believe a written total. It was good advice, written by someone who had counted once and then written the answer down. Written-down counts go stale; that is what happened. So rather than fix the number, we made it something the system reports about itself, where it cannot drift again.
  • We fixed a small gap while we were in there. When a page is read aloud, the pronunciation step was not recording who had asked for it. It does now.
  • We deliberately did not record what any of this costs. Same reasoning as yesterday, but we checked rather than assumed: all our voice work runs on hardware we already own, and nothing in the chain charges per recording. We could have printed a number, but an invented figure in a cost report is worse than no report, because someone eventually quotes it. We record time instead, which is real.
  • Nothing to do at your end.

Version 2.41.0

July 31, 2026

We make thousands of pictures and kept no record of any of them. Now we do

  • Nothing you can see on the site changed today. Every picture the site makes — artwork, wallpapers, comic panels, character portraits — is now recorded as it is made: what it was for, which machine made it, how long it took, and whether it worked.
  • We had no way to answer simple questions about our own hardware. Which part of the site keeps the picture-making machine busiest? How often does it fail and quietly hand over to the outside service? How long does a picture actually take? None of that was written down anywhere, so none of it could be answered.
  • It found something in the first entry it ever wrote. Our notes said regenerating one character portrait takes about thirty seconds. The first real measurement was fifty-one. That number is used to tell you how long to wait when the machine is busy, so the wait we quote has been optimistic — by about the same margin.
  • We did not record what things cost, on purpose. It sounds like an omission and it is not: our pictures are made either on our own hardware, which is already paid for, or through a service we pay a flat monthly fee for. Neither has a price per picture. We could have invented one, but a made-up figure in a cost report is worse than no report, because sooner or later someone quotes it as fact. What we record instead is time, which is real and is the thing actually worth managing.
  • This was cheap only because of last week’s tidying. Bringing every kind of picture through one piece of machinery meant this needed adding in exactly one place. Before that it would have meant ten.
  • Nothing to do at your end.

Version 2.40.2

July 31, 2026

We thought we had finished a job last week. Two bits of it were still undone, and our own notes said otherwise

  • Nothing you can see on the site changed today. Recently we brought every kind of picture we make under one piece of machinery, so that a fix made once reaches all of them. We recorded that as finished. It was not quite.
  • Two places were still going their own way — both of them the part that creates a character’s portraits. They now go through the same machinery as everything else.
  • It was the worst of the possible leftovers. Last week’s change made creating those portraits something you can do directly from the character picker, so the one part still doing things the old way was the part we had just made easiest to reach.
  • Our own notes had said the job was complete. The original survey opened by saying there were eight things to bring together, then listed seven. Nobody noticed the two numbers disagreed, and from then on the paperwork said “done”. We found it only because we checked before closing the job rather than believing the note.
  • Two things we decided NOT to do, and wrote down why. One would have moved a rule about not depicting holy figures into shared machinery — but that rule belongs to one kind of artwork only, and character portraits must contain a person, so sharing it would have made things more confusing rather than less. The other turned out not to be tidying-up at all but new work, so it is now a job of its own.
  • Nothing to do at your end.

Version 2.40.1

July 31, 2026

Housekeeping: our own notes disagreed with themselves again, in the same way as last time

  • Nothing you can see on the site changed today. Posted anyway, for the same reason as the last time we did this: the work that keeps the site steady is work you are entitled to see, not only the work you can look at.
  • We settled how these entries are dated. An entry now carries the date the work was actually finished, not the date it reached the site. Those are usually the same day and occasionally are not — when we deliberately hold several improvements back so they can be released together, tested as one. When that happens you will see several entries here sharing a date that is earlier than the day they appeared. That is on purpose; changing the dates to match the release day would be tidier and less true.
  • Two numbers written into our own instructions had quietly gone stale. One said a version number lives in three files; it has lived in four for some months. The other said there were three things to be careful of in a list that had grown to five. Neither was wrong when written, and both were wrong by the time anyone read them.
  • We removed one of the numbers rather than correcting it. A count written into a sentence sitting directly above the list it counts will always drift, because the list grows and the sentence does not. This is the second time we have made exactly this mistake, which is what convinced us the number was the problem and not the person updating it.
  • Nothing to do at your end.

Version 2.40.0

July 31, 2026

Almost every character in the library was impossible to pick. Now they can be finished on the spot

  • Only a dozen of our 665 characters could actually be chosen. A character can only be used in a story once six reference portraits have been made of them, and the vast majority have none. The picker quietly greyed all of those out, showed no reason, and offered no way to do anything about it — so a library we spent a long time building looked like a library of twelve.
  • This was stopping work, not just irritating. A story cannot have its panels drawn until every character in it is linked to the library. A character you cannot pick is a vignette you cannot make — and if the one usable match was already being used by another character in the same story, you could open the picker and find nothing selectable at all.
  • You can now make the missing portraits from the picker itself. Any character that is not ready has a button on it. Press it, watch the six portraits being made, and the character becomes selectable there and then — no leaving the page, and no need to go and find them somewhere else first. Previously the only route was to abandon what you were doing, which is largely why we have ended up with several characters of the same name.
  • It asks before it starts, because it is not free. Making the portraits takes about five minutes on our own hardware and only one can run at a time, so it tells you that first rather than quietly beginning. If it fails, it says why and leaves the button there to try again.
  • The whole library now loads at once, and it tells you what it is showing. Previously only the first fifty appeared with nothing indicating there were more. You now see counts — how many are shown, how many are ready, how many still need portraits — and there is a filter for ethnicity, plus each card shows where the character is from. With several characters sharing a name, that is usually the only way to tell them apart.
  • Searching is instant now. It used to go back to the server on every keystroke, which occasionally left you looking at results for something you had already finished typing.
  • Nothing to do at your end.

Version 2.39.1

July 31, 2026

Half an hour of work on a vignette lived in one browser tab, behind a button you could not press

  • The Save and Publish buttons on the vignette editor could not be clicked at all. The audio player that sits along the bottom of every page was resting exactly on top of them. The buttons looked completely normal — correct colours, not greyed out, no hint of a problem — and every click went to the player instead. They now sit just above it.
  • And the storyboard you had just waited half an hour for was only ever held in your browser. When you generate the panels for a vignette, each one is drawn on our own hardware and it is not quick. Until now none of that was written down anywhere until you pressed Save — so a refresh, a dropped connection, or simply closing the laptop threw the whole lot away. Together with the button above, the work was being held somewhere fragile behind a door that would not open.
  • Panels are now saved one by one, as each is finished. If something interrupts you halfway through, the panels made so far are already kept, and so is the character work that comes before them. Come back and they are waiting.
  • This is the first piece of a wider change. Anything that takes a long time — artwork, narration, and video when it arrives — should be able to carry on without you sitting and watching it, and should still be there when you return. We have done this properly for page narration already; the rest follows.
  • Nothing to do at your end.

Version 2.39.0

July 31, 2026

We had five copies of the same machinery for making pictures. Now we have one

  • Nothing you can see on the site has changed, and that is the intention. This is the tidying-up half of the fault we fixed this morning, when our artwork stopped being made because an outside service quietly renamed something and only one of our five copies had been told.
  • Every kind of picture we make now goes through the same piece of machinery. Reflection artwork, title cards, comic panels, character portraits and event artwork were each built separately over time, and each grew its own slightly different habits. They now share one, so a correction made once reaches all of them — which is precisely what failed this morning.
  • We kept the differences that were deliberate, and only removed the ones that were accidents. Event artwork is made on an outside service first, on purpose, so it never competes with our own hardware. Title cards are allowed to be skipped, because the title is drawn onto the video anyway. Those are decisions, not inconsistencies, and a tidy-up that flattened them would have quietly changed how the site behaves.
  • One change we made on purpose: comic panels will now fail rather than substitute. When a story features a particular character, we generate their face on our own hardware so they look like the same person in every panel. Previously, if that hardware was unavailable, we asked an outside service instead — which cannot reproduce a specific face and simply drew a different person. It never reported a problem. A comic whose main character silently changes face partway through is worse than one that admits it could not be made, so it now stops and says so.
  • We also made that mistake impossible to reintroduce. It would have been easy for someone in a year’s time to add the outside service back as a safety net, with the best of intentions, and quietly undo this. The machinery now refuses that combination outright rather than relying on anyone remembering why it was avoided.
  • And we caught two things that would have been lost silently in the move. Event artwork was being made at four times the detail we would otherwise have carried over — it is used for large banners, so nobody would have noticed it shrinking until it looked soft on a big screen. And two of our picture-makers had been receiving subtly different instructions for the same image depending on which one did the work.
  • Nothing to do at your end.

Version 2.38.3

July 30, 2026

The panels on our home page said there were no articles. There were plenty

  • The eight panels on the home page showed “No articles yet” for every one of our publications. They now show the latest article from each, as they always should have.
  • The articles were never missing. Every publication had them, and the scrolling headline bar at the top of the page was displaying those very same articles the whole time — which is part of why this took a while to spot. Two things on one page reading the same list, and only one of them waited for it to arrive.
  • The panels asked for the articles before knowing which publications to ask about. The list of publications is fetched when the page opens, and the panels went looking for articles a moment too early — got an empty list, concluded there was nothing to fetch, and never checked again. The publications then arrived and the panels drew themselves correctly, names and logos and all, with nothing in them.
  • The message it showed was accidentally the wrong one. These panels can say “Unable to load articles” when something genuinely fails. They said “No articles yet” instead, which reads as this publication has not published anything — and that is a far more believable thing to see, so it sat there looking like a fact about the publications rather than a fault in the page.
  • Nothing to do at your end.

Version 2.38.2

July 30, 2026

Our downloadable wallpapers have had no words on them for months, and every check we had said they were fine

  • The wallpapers you could download were missing all of their text. The artwork was right, the shading was right and our emblem sat correctly in the corner — but the title, the reflection, the Arabic passage, its translation, the reference and the dates were all simply absent. Six of the seven wallpaper designs differ from one another only in which words they carry, so in practice every design had been coming out as the plain artwork one.
  • Nothing reported a problem, and that is why it lasted. No error was raised, no warning logged, no check turned red. A wallpaper with no words on it is a perfectly valid image, produced successfully, and the only way to discover the loss was to open one and look at it.
  • The cause was a single supporting file left out when we package the site for the live server. The packaging step works out what to include by following what refers to what. The part of our image toolkit that draws lettering is picked up in a way that step cannot see, so it was left behind — on the live site only. On our own machines everything was installed normally and the words appeared correctly, which is exactly why this never showed up while we were working.
  • What made it invisible is that nothing broke. Something quietly stood in. Rather than stop, the toolkit switched to a simpler stand-in that can draw pictures, shapes and shading perfectly well and cannot draw letters at all. Every image on the site kept being produced. Only the words went missing, and only where there were words to miss.
  • We had already solved this exact problem once, a shelf along, and never thought to check the neighbours. The same packaging blind spot affects the part of the site that talks to our database, and there is a deliberate instruction to work around it, written years ago with a note explaining why. Nobody asked what else might need the same treatment.
  • There is now a check that draws words and then examines the result. It runs against the finished package rather than our working copies, so it is looking at the same thing the live site runs. We also made sure it is capable of failing: the first version of it scored every image as fine, including blank ones, and would have cheerfully confirmed the fault it was written to catch.
  • Wallpapers already saved on the site keep their current appearance until they are made again. Anything created from now on carries its text. Nothing to do at your end.

Version 2.38.1

July 30, 2026

The change we made this morning worked, and then tripped over a mistake that had been sitting there for months

  • Nothing you can see on the site changed. This is housekeeping, posted because work that keeps the site steady is work you are entitled to see, not only the work you can look at.
  • Earlier today we fixed how we label each released version. The labels were being created correctly but were never reaching the thing that actually gets deployed — so the site was always current, but if we had needed to go back to a previous version in a hurry there was nothing specific to go back to.
  • The first time we used it, the release stopped with an error. The new part worked exactly as intended. What failed was a separate, older instruction that builds one of the labels from the name of the branch being released — and a released version does not come from a branch, so that name was blank and the label was malformed. One bad label rejects the whole batch.
  • It had been wrong since the day it was written, and could never have been noticed. That instruction only runs when releasing by version label, which is the thing we had never been able to do. Fixing one problem is what made the other one reachable — which is the ordinary way this goes, and an argument for changing release machinery on a small, well-understood release rather than a large one.
  • We also corrected a note we had written about our own fix. The evidence in the failed build showed that part of this morning’s change was not doing the work we had credited it with — a tool we rely on was already handling it. We have kept the change, because being explicit about the label the live site depends on is worth more than the tidiness of removing it, but the note now says what is actually true.
  • Nothing to do at your end.

Version 2.38.0

July 30, 2026

Our wallpaper artwork stopped working, and the reason was two separate oversights of our own

  • Downloadable wallpapers for Reflections could not be created at all this morning. Every attempt failed outright. Fixed the same day, and no existing wallpaper was affected — the ones already on the site were never at risk.
  • The first cause was a name. We create some artwork on our own hardware and some through an outside service. That service refers to the tool we use by a name written with underscores; we had been asking for it with hyphens. It had accepted the hyphenated form for months and quietly stopped. We now ask the service what it actually offers and use the name it gives back, so a rename on their side cannot take our artwork down again.
  • The second cause is the more embarrassing one, and the more useful to admit. Wallpapers were the only kind of artwork on the site that never even tried our own hardware — they went straight to the outside service every single time. That was not a deliberate choice; it had simply never been connected up. So on the morning the outside service stopped accepting our request, the one job with nothing to fall back on was the one that failed, while our own machine sat idle and perfectly healthy a few feet away.
  • We found the fix already written down, in one place out of five. A colleague had hit this same naming problem earlier, corrected it in the file they were working in, and moved on. The other four copies never learned. That is exactly why we are now consolidating all artwork creation behind a single piece of shared machinery instead of five near-identical ones — a fix that only reaches one copy is barely a fix.
  • A button in our editing tools was unreadable. Dark green text on a dark grey background. It had been given a background colour and no text colour, so it inherited one that happened not to work.
  • And we can now tell which version the live site is running. Our release process labels each version, but the label was never making it onto what actually gets deployed. The site was always up to date — but if we had needed to go back to a previous version in a hurry, there was nothing specific to go back to. There is now.
  • Nothing to do at your end.