{"wiki":{"id":1388,"slug":"he-lockwatch-01","entity_type":"droid","entity_id":"he-lockwatch-01","title":"DB Lock Watch","prose_md":"## About\n\nDB Lock Watch is a small watchdog droid owned by [[agt_016]]. Every 15 minutes it checks whether the SQLite databases behind the plan generator and [[initiatives]] have a write lock held abnormally long — the usual signature of a leaked transaction that never committed or rolled back. When it finds one, it names the longest-lived lock holder and files a deduplicated incident so the leak gets repaired before it quietly stalls the database.\n\nIts routine is deliberately gentle: it is read-only over real data and only takes-and-rolls-back a write lock to measure contention. One open incident is kept per database, so repeated breaches update the same report instead of spamming. It runs on the schedule registry (see [[scheduled-processes]]) and feeds the wider [[monitoring]] and [[carol-infra]] observability picture.\n\nIts exact name is unique, and its family is recorded as \"(none)\" — so in practice it is a one-off — though 222 droids share that same unnamed family slot across many owner agents, meaning the watchdog pattern itself is common. The engine is pure software: it makes no Claude calls, so there is no model involved.","namesake_json":"{\"engine\": \"software\", \"model\": null, \"claude_purpose\": null, \"family\": \"(none)\", \"family_size\": 222, \"is_unique\": true}","profile_pic_path":"avatars/droid/he-lockwatch-01.png","source_hash":"713b7a899fe23a9b9c83a0b2af79a837da722abebf6af88424d5056ad5df767d","status":"active","last_generated_at":"2026-08-05 02:43:51","created_at":"2026-07-28 03:33:50","updated_at":"2026-08-11 03:25:16"},"facts":{"id":"he-lockwatch-01","name":"DB Lock Watch","machine_name":"","owner":"agt_016","function":"infra observability / lock-leak watchdog","process_type":"scheduled","schedule":"Every 15 min","process_name":"","avatar_color":"#94a3b8","created_for":"","purpose":"Detect a hot SQLite DB whose write lock is held abnormally long (leaked transaction) and file a deduped incident naming the holder.","duties":"Probe plangenerator.db + initiatives.db write-lock latency; on breach name the longest-lived holder and file one lock-watch incident.","constraints":"Read-only on data; takes+rolls back a write lock only to probe; one open incident per DB.","status":"running","gender":"","archetype":"","building_block":"mon_scheduled","service_override":null,"enabled":1,"task_key":"monitoring.watch_pass","model_free":0},"page":{"type":"droid","page_class":"main","class_label":"Main page","kind_label":"Droid","kind_gloss":"","listed":true}}