nextbuild.works

The record · month

September 2026

September 2026: every machine rebuilt from code, a routing collapse traced to one flag, and a month of history overwritten by a single line.

This is the log the other two tracks cite: what happened here, in date order, with the page that tells each one in full. Every entry is something that was finished, or a lesson already told on this site. Names are changed. Dates and numbers are not.

heldwhat held, or what a failure bought brokewhat broke, or what was found broken

  1. The sign-in service was down for 79 minutes, and nothing said so

    It ran and was unreachable at the same time. Every machine-level signal read healthy throughout. Told in full in It looked healthy.

    79 minutes
  2. The VPN box came back fully configured, and no client could connect

    The first rebuild of the month. The tunnel was up, the configuration was right, and the machine could not do its job. The second run is the test.

    Rebuild · 1 defect
  3. The Git server was deleted and rebuilt

    It found four defects, three of them in code already reviewed and merged. After the fixes its history came back exactly: 308 merge requests and 1,021 notes, counted against the backup.

    Rebuild · 4 defectsHistory · exact
  4. A key we had retired everywhere was still the Git server’s administrator key

    Found by querying the Git server’s own registry while doing something else. The audit read key files; this one lived in a database. The key that was retired everywhere.

    Two weeks
  5. The sign-in service rebuilt clean, with nobody in it

    Groups and clients came back from the code; the one human account did not, because accounts are data. We had written that down before the rebuild, so it was a step and not an outage. Immutable infrastructure.

    Predicted
  6. The rebuild campaign finished

    Every machine in the estate had been deleted and built again from the code, in sequence, with the secrets store rebuilt by restoring it and its authority fingerprints identical.

    Every machine
  7. Two network machines, each rebuilt twice

    Both second runs needed zero edits. One of the router rebuilds left the estate with no name resolution for about twenty minutes, and nothing alerted.

    Run 2 · 0 edits, both~20 min, no alert
  8. The company name was printed white on white

    Every artifact was correct on its own. Only looking at the rendered page showed the name had been pushed off its band by a title that wrapped. Defects live between correct parts.

    Invisible to review
  9. The destroy guard on the secrets machine was on in the code and off on the hypervisor

    Declared, merged, never applied. The machine holding the certificate authority and every secret was guarded on paper only. Configuration drift.

    Declared, not applied
  10. The provisioning plan could say “no changes” again

    It had reported a pending change forever, since 20 August 2026, so it could never tell us the machines and the code agreed. Two causes, both fixed. A difference means something now.

    Signal restored
  11. A third of the backlog could not say what would break

    Of 121 open rows, 14 named no consequence. They were deleted, not parked. Half the rows were invented.

    14 rows deleted
  12. Traffic between two machines ran at 3 Mbit/s, and four causes were wrong

    Three days, four plausible causes named and discarded, one flag on a virtual network card at the end of it. The same path now runs at 753 Mbit/s. Four wrong causes.

    3 days, 4 wrong causes753 Mbit/s
  13. A month of history was replaced by a single line, and every check passed

    An append written the wrong way truncated the session log from 5,122 lines to one entry, and it merged. The checker now has a section that fails when a history file shrinks. A rule nothing checks.

    5,122 linesCheck added
  14. The estate started comparing itself with its code every hour

    A check that runs four parts of the code in a mode that changes nothing and reports whether anything would change. Its first run found drift on two machines and nowhere else. Configuration drift.

    HourlyFirst run · real drift
  15. Two old failures were closed by code, not by a note

    The proxy now resolves names per request, so a name-resolution outage no longer leaves it dead; with resolution blocked it answered 502 and returned 200 when it came back, without a restart. Certificates on running machines now renew weekly.

    Closed by code
  16. This site started checking itself

    The pages became generated files with a fact check: every number a reader sees must appear with the record it came from, and the published copy must match what the source renders.

    Render + facts
  17. The main branch stopped accepting direct pushes

    525 changes had reached it since 18 August 2026, every one through a merge request and none pushed directly. That was a habit until this day, when the setting was changed to refuse a direct push from everyone. Change management.

    Habit · now a rule