agent (unreleased): fixes after an independent review — one lock for the writers of agent.json, the trust run serialised and bounded, the CA copy keeps its previous root, the profile stanza from the wrapper's answer, a stale give-up ends, both boot tokens from one read
gates / gates (push) Successful in 48s
gates / gates (push) Successful in 48s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
1 parent
61feb95c06
commit
ec7e699fd7
18 files changed
+333
-59
No files matched your search
@@ -0,0 +1,12 @@
|
||||
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
|
||||
Reference in new issue
Block a user