55734cd512
- Documents the retry feature implementation (issue #69, ADR-2032) Introduce configurable retry mechanisms (ADR-2032) for all LLM agent communications (main agent and pruning agent) with exponential backoff. - New config fields: max_retries (default 7), max_retry_time (default 60s) -1 sentinel disables the corresponding guard (infinite retries/time) - Exponential backoff: initial 0.5s, doubled each retry - Termination: whichever comes first (max_retries or max_retry_time), with -1 disabling the respective check - Counter and accumulated wait time reset on success - Timeout ExecutionError includes URL, actor graph name, and retry stats - Uniform scope: applies to both main agent and pruning agent - Timeout raises ExecutionError(kind="timeout") with URL, actor graph name, retry count, and accumulated wait time in the message (D-7) - Same client/connection reused across retries, no re-establishment (D-6) - Uniform scope: applies to both main agent and pruning agent (D-5) - Graph name threaded through state metadata and ContextVar for error reporting - BDD tests (7 scenarios) for retry behaviour including -1 sentinel cases - Reject max_retries/max_retry_time values < -1 with ConfigurationError - Reset current_graph_name ContextVar after node execution - Wrap no-tools astream() with per-chunk granular retry via call_with_retry - Update ADR D-7 with symmetrical disabled-guard example - Update CHANGELOG to reflect full feature scope ISSUES CLOSED: #69