diff --git a/docs/servers.md b/docs/servers.md index 9a7eb55a..6611b487 100644 --- a/docs/servers.md +++ b/docs/servers.md @@ -77,10 +77,22 @@ All verified, none cosmetic. - **`bun run plugins:update` restarts sidecars itself**, printing `sidecar: started` per plugin — on `alpha` that is twelve processes bouncing during the plugins step, before any restart the plan asked for. Not a fault, but a deploy report that lists only `officer` under "restarted" is understating what moved. -- **`fofos` cannot sync its capabilities**, and could not publish gitea affordances on 2026-08-21: - `dubious ownership` from git and `EACCES … mkdir '…/capabilities/affordances/officerdev'`. Both point at - that capabilities checkout being owned by somebody other than `pastilhas`. Deliberately not papered over - with a `safe.directory` entry until somebody has run one `stat` on it. **Unexplained.** +- **`fofos` failed its capabilities sync for three deploys, and it was ownership.** Fixed 2026-08-21. + Two errors that read as unrelated problems — `dubious ownership` from git, and + `EACCES … mkdir '…/capabilities/affordances/officerdev'` from the gitea plugin — were one cause in two + dialects: fifty paths under that checkout were owned by `root`, including `.git` and `affordances`, all + stamped `19 Aug 21:43`. Something was run with `sudo` and left them behind. Mode `755` is why the split + looked odd: everything could be READ, so git saw the repo and refused it on ownership while the plugin + saw `affordances` and could not write into it. + + One `stat` settled it, and that is the general lesson — `stat` prints the owner rather than inferring + anything, so it either proves ownership is the cause or eliminates it, in one command. Fixed with + `sudo chown -R pastilhas:pastilhas ~/officerdev/capabilities`; verified after by a `mkdir` into the + directory that used to refuse one. + + **A `safe.directory` entry was deliberately NOT used**, and that call is worth keeping. It would have + silenced the git message and left the `EACCES` untouched — one symptom of a two-symptom cause hidden, + with the obvious explanation spent. ## Not platforms — ignore for now