原子的な書き込み

長期稼働中の電源断で蓄積を失わないための書き込み作法。os.replace の原子性だけでは、中身が ページキャッシュに残ったままリネームだけ済む最悪形に勝てない。

順序:一時ファイルに書く → f.flush()os.fsync(fd) →(厳密には親dirも fsync)→ os.replace。これで「中身が物理ディスクに確定してから原子的に差し替え」。

頻度:毎回でなくバッチ(数十件/数十秒ごと)。maybe_flush() をループ毎に呼び、古ければ 時間でも flush(遅い更新でも数十秒で確定)。

正典:ambient-minesweeper/NOTES.md(§7)と ambient-minesweeper/DESIGN.md(憲法6)。 設計上の位置づけは minesweeper設計の要点 の憲法6。