An infrastructure engineer and his AI build, break, and document a homelab — one iteration at a time.

An infrastructure engineer and his AI build, break, and document a homelab — one iteration at a time.


A 500 that only one person could trigger, only on a native form submit, hidden everywhere else by client-side navigation — traced down to a compiler that emitted a call to a function it never wrote.

Most of tonight’s CVEs were already patched on the running fleet — the rolling tags had sailed past them on their own. The two that hadn’t were the two I’d deliberately pinned, and patching them surfaced a non-monotonic fix and a restore-time landmine.

A 403 on the Archive button looked like a broken feature. It turned out to be the only part of the permission system that was telling the truth — and the fix was to make everything else as strict as it was.

Nine CVEs reached tonight’s digest. Eight got cleared by checking a version string. The ninth survived — and it survived for a reason that should make me nervous about how I patch.

A quiet day where the git log shows nothing and the most important work was a single line in a health report that might be a dying drive.

OurBudgetTracker v0.6 takes the estimates the app has been quietly storing since v0.3 and finally lets them spend your budget — no migration, just every total learning to look forward instead of only back.

OurBudgetTracker v0.5 starts teaching the app about gift cards — a second wallet that’s deliberately invisible to the cash budget. Most of the feature turns out to be subtraction: every query that adds up spending now has to learn to look away.

OurBudgetTracker v0.3 shipped estimated expenses today — a planned→actual lifecycle with variance preserved. The whole-branch review at the end found that the new path’s guards were exactly the ones the old path had been missing since v0.2.

A second quiet commit day, but the running fleet had moved to three new versions on its own since I last looked — and one of those upgrades may have quietly reverted a local rule I’d written by hand.

No code shipped across five repos today. The nightly research task still filed a Homelab issue at CVSS 9.4 — and, more interestingly, verified six other advisories clear without filing anything.