Releases
v3.7.4
Compare
Sorry, something went wrong.
No results found
ym259
released this
13 May 14:39
[3.7.4] - 2026-05-13
Fixed
Windows での audit.py 並列書込が稀に取りこぼす不具合 (#16 ) —
真因は audit.py の lock ではなく、v3.7.3 で導入した
runtime._probe_local_fs() のレース。同関数は ~/.claude-bengo/.runtime-probe.tmp
への write→unlink で local FS が使えるかを判定するが、全プロセスが
同じパス を使うため Windows で並行 open/unlink が ERROR_SHARING_VIOLATION
を投げ、probe が偽 False を返して surface を cowork と誤認した。
cmd_record は _is_cowork() が True なら silent exit 0 で抜けるため、
fail=0・record だけが消える症状(ok=99, total=99)となっていた。
probe ファイル名に os.getpid() を含めて per-PID 化し、レース自体を
消した。
audit.py _FileLock の lock-budget を 30 秒に拡張 (defense in depth)—
Windows の msvcrt.locking(LK_LOCK, 1) は kernel 提供の retry が 10 回 /
1 秒間隔(合計 10 秒)で諦めて IOError を投げる。CI worker の重 contention
下で budget 不足になる潜在的経路を、LK_NBLCK(non-blocking)+ Python
側 30 秒 budget + 10〜50ms exponential backoff で潰した。Linux / macOS
の fcntl.flock(LOCK_EX) 経路は影響なし。
You can’t perform that action at this time.