8caa79ee76
Sixth per-module ratchet under ADR 0004. Cover the queue/audit malformed-input and fallback branches: - path helpers (bot_bottle_root, queue_dir_for_slug, _id_from_proposal_filename non-match) - read_proposal / read_response reject non-object JSON - list_pending_proposals skips unreadable/non-dict/incomplete proposals and ones with a response already present - wait_for_response tolerates a malformed or incomplete response file and then times out at the deadline - read_audit_entries returns [] for a missing log and skips blank / non-JSON / non-dict / missing-field lines - the fcntl flock helpers swallow OSError on a bad fd supervise.py: 89% -> 99%. The one remaining line is an unreachable `continue` (glob already guarantees the .proposal.json suffix). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NkwFXLFff9PYPy4wgVBJp9