From 49176b43b610f64488b379fb35726780cefb0d21 Mon Sep 17 00:00:00 2001 From: Godopu Date: Sun, 12 Jul 2026 14:37:42 +0900 Subject: [PATCH] refactor(lib): hash entire session dictionary to widen YAML write-gate - Prevent YAML<->SQLite sync drift on completed jobs (R-1 Option A) - Hash session dict to trigger YAML rewrite on any field updates --- .agents/skills/lib.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.agents/skills/lib.sh b/.agents/skills/lib.sh index b321c80..8d2034d 100644 --- a/.agents/skills/lib.sh +++ b/.agents/skills/lib.sh @@ -331,7 +331,13 @@ def get_terminal_set(d): return {s.get('name'): s.get('status') for s in d.get('tmux_sessions', []) if s.get('status') in ('stopped', 'terminated', 'archived')} def get_all_sessions_status(d): - return {s.get('name'): s.get('status') for s in d.get('tmux_sessions', [])} + import hashlib + res = {} + for s in d.get('tmux_sessions', []): + name = s.get('name') + ser = json.dumps(s, sort_keys=True) + res[name] = hashlib.sha256(ser.encode('utf-8')).hexdigest() + return res os.makedirs(os.path.dirname(db_path) or '.', exist_ok=True) conn = sqlite3.connect(db_path, timeout=60.0)