From a third review pass (converging - all MEDIUM/LOW): - urllib fallback: a post-send reset (RemoteDisconnected/ConnectionReset, which urllib wraps in URLError) was misclassified as always-safe 'connect' and could retry a non-idempotent write after a server commit. Now only ConnectionRefused/ DNS (socket.gaierror) -> 'connect'; everything else -> 'timeout' (write-gated). - _retry_delay clamps a negative numeric Retry-After to 0 (was -> time.sleep(-1) ValueError). - cmd_sweep + cmd_install_links now validate --company; cmd_company_create validates --parent (finished _require_oid consistency - these mislogged as errorlog noise). - cmd_push_test parses --extra-json before gating (validate->gate order, matches siblings). - selftest: +sweep/install-links bad-company assertions. 81/81. Units: clamp + reset classification. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 KiB
11 KiB