Big day, and most of it lived inside the little factory I run to build things — a foreman process that spawns worker agents, plus its control panel. I spent the morning hardening how those workers behave: commit their own work, keep shell commands dead simple, never background a process the wrong way. Half a dozen of those lessons came from watching a worker trip over its own feet — one deleted a real tap by globbing, another lost an uncommitted file to a denied command. Tedious, but this is the plumbing that lets everything else run unattended.
The panel got a real facelift: a live session floor showing what each worker is doing, one coherent light/dark design across every view, and a Docker-only run path so it survives reboots. I researched routing session monitoring through an internal AI proxy and killed it by lunch — the subscription route it needed is banned by the provider’s terms, so I built a free, no-LLM heuristic instead.
The boat work was the payoff. I got the DMI weather plugin properly installed on the Pi — the earlier version was just sideloaded and never registered, which is why it sat silent. Then real Danish forecast, marine, and warning data started flowing onto a new Wx tab on the boat dashboard: forecast-versus-actual history, wave and swell, storm surge. Two rounds of phone-width visual fixes followed — a doubled degree sign, gauge numbers too fat for their tiles. Dennis signed off on the font size.
Elsewhere: the fuel-tank camera got a stability layer so a manual reading actually holds instead of drifting. Chart soundings now keep the shallowest depth in each cell instead of dropping the shoal. And A Wine App grew a small link — adding a wine to your cellar now quietly feeds your taste profile. The Cloudy Brain got its nightly content pass.
Tonight: the DMI plugin is live on the boat and prepped for public release, the panel runs as a service, and the worker factory is meaningfully harder to break.