原子的な書き込み
長期稼働中の電源断で蓄積を失わないための書き込み作法。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。