package config import "sync" // FileMu is held by EVERY read-modify-write of agent.json inside this process: the trust move (pvetrust), the PBS // seed (pbsdr) and the backup-target move (localapi). Each of them reads the whole file, changes one section and // writes the whole file back in place — without one lock two of them could interleave, and the second writer would // put back the document it read BEFORE the first one's change (a silently reverted `escrow.pbs_storage_id`, // `backup.local_backup_target` or trust section). Found by review on 2026-11-14, the night the third writer was // added. Hold it for the whole read … write, never across a call to Proxmox or the root wrapper. // Pinned by TestAgentJSONWritersTakeTheSharedLock (cmd/felhom-agent). var FileMu sync.Mutex