S1.3 — Timeout-only termination: resolve rrt.rs iteration TODO
Intent
rrt.rs carries an unresolved TODO about iteration limits. Decision (grilling 2026-09-22): timeout-only termination — no max_iterations knob; iteration caps are tuning that belongs with future benchmarking work. The TODO is resolved by deletion, not implementation.
Acceptance criteria
-
- Gap found 2026-09-22: zero error-path assertions exist in
oxmpl/tests/(nounwrap_err/is_erranywhere). This criterion requires an explicit timeout test.
- Gap found 2026-09-22: zero error-path assertions exist in
Tasks
Notes
- The "no implementation" is deliberate — the decided behavior already exists in the loop; this ticket's value is the recorded decision + its guard test.
- Scope verified against the code 2026-09-22 (rrt.rs:235, main loop lines 179–236).
Completion record (2026-09-22)
Decision executed: iteration-limit TODO deleted at the rrt.rs solve-loop end, replaced with the rationale comment (timeout-only termination deliberate; iteration caps are tuning for future benchmarking work). No public API change — diff was comment + test only.
Guard test added: test_rrt_timesout_in_rvss — full-span unsolvable wall (y 0–10 at x=5), 1s timeout, asserts ErrTimeout) pinned by variant (matches! on the returned error — not bare is_err()), so any future reintroduction of iteration-cap termination fails this test. Closes the error-path-assertion gap found during scoping (zero unwrap_err/is_err in the suite before this.
Verification: both rrt_rvss_tests green (timeout test 1.00s); full cargo test -p oxmpl no failures.
Landed: commit 1a2957a ("test: Add timeout termination error in integration test").