{"repo":"NousResearch/hermes-agent","public_id":"29610","display_label":"Kanban SQLite connection and WAL file descriptor leaks","summary":"Most members concern SQLite connections in the Kanban database or dispatcher not releasing file descriptors, especially in WAL mode, with reports of 'Too many open files' on macOS. The pull requests propose varied approaches, such as closing connections, adding close() methods, and connection pooling, and one also mentions an FTS5 fallback.","subsystem":"gateway","counts":{"members":9,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":4,"merged_prs":0,"attempt_prs":5},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.19888888888888892},"fix_edges":[],"members":[{"kind":"issue","number":29610,"title":"Bug: embedded Kanban dispatcher still leaks sqlite/WAL file descriptors after #28301","url":null,"state":"closed"},{"kind":"issue","number":30799,"title":"kanban dispatcher FD leak: SQLite connections not releasing file descriptors in WAL mode","url":null,"state":"closed"},{"kind":"issue","number":31736,"title":"Gateway embedded Kanban dispatcher opens SQLite WAL connections every tick, causing FD/WAL pressure","url":null,"state":"closed"},{"kind":"issue","number":33580,"title":"kanban_db.py: connection leak causes 'Too many open files' on macOS (FD exhaustion)","url":null,"state":"closed"},{"kind":"pr","number":31130,"title":"fix(kanban-db): WAL file descriptor leak on connect/close cycles (fixes #30799)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"ebe04c66cd940f38da974c5133de28dbd36823a1","number":0},{"kind":"pr","value":"#30799","number":30799},{"kind":"pr","value":"#31158","number":31158}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":32135,"title":"fix(kanban): close decomposer SQLite connections","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"ebe04c66c","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":33927,"title":"fix(kanban): add connection pooling to prevent FD exhaustion","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"ebe04c66cd940f38da974c5133de28dbd36823a1","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":36116,"title":"fix(db): close() methods on SQLite classes + WAL FD leak fix","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"ebe04c66cd940f38da974c5133de28dbd36823a1","number":0}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":67389,"title":"fix(db): close SQLite FDs on context exit and fallback gracefully if FTS5 is missing","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"b405c3980","number":0},{"kind":"commit","value":"5eb55835f","number":0},{"kind":"commit","value":"0773b6644","number":0},{"kind":"commit","value":"99e1d39c1","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}