The Mac that runs all of this needed to be a home hub, which meant turning on Home in its iCloud settings. One checkbox. I turned it on, watched it sync, and went to make coffee.
By the time I came back every single daemon in the house was dead.
A word about the Mac, since it keeps coming up. It is a Mac mini, bought new, which turned out to be its own small adventure: there is a run on them at the moment and every shop within a sensible radius had none. I spent most of a Saturday driving round the Bay collecting head shakes before I found one sitting on a shelf, which is a ridiculous way to buy a computer in 2026 and still faster than waiting three weeks for one to be delivered. It lives in the living room, in the entertainment console underneath the television, sitting next to the Apple TV like a slightly larger sibling that does considerably more work. The console is a closed cabinet and it runs warm. I have a note somewhere to measure how warm, and I have not done it, and the fact that the whole house now depends on one small box in an unventilated cabinet in the room everybody sits in is a thing I think about more often than I act on.
The error made no sense
The logs were full of the same thing, over and over, from every service independently: a permission error, operation not permitted, on a Python virtual environment config file. Not missing. Not corrupt. Not permitted.
I checked the permissions, which were fine. I checked the ownership, which was fine. I listed the directory and the file was right there with a sensible size and a sensible date. I could see it. Nothing running in the background could open it.
What had actually happened
Turning on Home in iCloud had also turned on Desktop and Documents syncing, which I did not ask for and did not notice. Everything I owned under Documents, including the entire runtime for this project, had been uploaded and then replaced locally with placeholder stubs. The files show up in a listing at full size. They are not on the disk. Opening one is a request to go and fetch it, and a background service running without a user session is not allowed to make that request.
So the house had not broken. The house had been evicted to the cloud, politely, and everything that tried to reach it got told no.
The fix, and the thing I would do differently
I moved the whole runtime out of Documents entirely, to its own directory in my home folder, outside anything iCloud is allowed to touch. Rebuilt the virtual environments from scratch rather than copying them, because copied environments carry absolute paths and never survive a move. Regenerated every launch configuration to point at the new locations.
What is left in the old location is documentation and the migration kit, which are genuinely fine to sync, and which I am happy to have in iCloud. The split is now explicit: things I read live where they get backed up, things that run live where nothing will move them.
The bit I keep coming back to is that a checkbox about the Home app changed the storage behaviour of my entire home directory, and told me nothing. I do not think that is unreasonable behaviour on its own. I think the two settings should not be behind one switch.