Problem
RLY105, RLY106, and RLY113 intentionally use conservative local heuristics. They can miss a timeout configured through a nearby object method or warn when a bounded helper applies the deadline indirectly.
Proposed direction
Track simple timeout, retry-count, deadline, and backoff state through local variables and direct call chains without turning the core into a compiler dependency.
Acceptance criteria
- recognise common
settimeout, request keyword timeout, and Arduino/ESP client timeout patterns
- distinguish attempt limits, elapsed-time deadlines, and capped backoff
- propagate only high-confidence facts; label other conclusions as uncertain
- include exact evidence and inferred call paths
- add positive and negative fixtures for Python, MicroPython, Arduino, and ESP32
- preserve deterministic ordering and bounded memory use
Problem
RLY105, RLY106, and RLY113 intentionally use conservative local heuristics. They can miss a timeout configured through a nearby object method or warn when a bounded helper applies the deadline indirectly.
Proposed direction
Track simple timeout, retry-count, deadline, and backoff state through local variables and direct call chains without turning the core into a compiler dependency.
Acceptance criteria
settimeout, request keyword timeout, and Arduino/ESP client timeout patterns