Found during #42. Not flock bypasses: these writers hold no witness and Config::save() rewrites the whole file from a clone taken long before, so a gateway/control-plane commit landing in between is still lost even with every write correctly flocked. Sites include channels/identity_persist.rs:182, telegram.rs:1132, line.rs:278, orchestrator/mod.rs:8718, doctor/mod.rs:851, and the proxy_config/model_routing_config tools. The flock cannot close this class — it needs read-modify-write discipline (reload-merge-save or the dirty-save CAS) at each site. Related: the #41 finding chain. Part of #35.
Found during #42. Not flock bypasses: these writers hold no witness and
Config::save()rewrites the whole file from a clone taken long before, so a gateway/control-plane commit landing in between is still lost even with every write correctly flocked. Sites includechannels/identity_persist.rs:182,telegram.rs:1132,line.rs:278,orchestrator/mod.rs:8718,doctor/mod.rs:851, and theproxy_config/model_routing_configtools. The flock cannot close this class — it needs read-modify-write discipline (reload-merge-save or the dirty-save CAS) at each site. Related: the #41 finding chain. Part of #35.