open-swe/tests/reviewer
Adam Moussa ead210927d
fix: defensive copy in get_reviewer_agent and get_chat_agent [closes #1584] (#1742)
* fix: defensive copy in get_reviewer_agent and get_chat_agent [closes #1584]

Factory functions were mutating the caller's RunnableConfig in-place via
config['recursion_limit'] = DEFAULT_RECURSION_LIMIT. Add copy.deepcopy(config)
at the top of each factory and switch the recursion_limit write to setdefault
so a caller-supplied ceiling is respected.

* fix: preserve runtime config object identities

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>

---------

Co-authored-by: Fleet Agent <fleet-agent@langchain.dev>
Co-authored-by: Johannes du Plessis <51395795+johannes117@users.noreply.github.com>
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
(cherry picked from commit c34e04f44da7ec7638cdafc71e0bb40e77070efd)

Co-authored-by: Jacob Albert <122248719+jacobalbert3@users.noreply.github.com>
2026-07-17 16:22:38 -04:00
..
test_factory_config_isolation.py fix: defensive copy in get_reviewer_agent and get_chat_agent [closes #1584] (#1742) 2026-07-17 16:22:38 -04:00
test_pr_ready_auto_review.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_recent_comments.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reconcile_sweep.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_review_api.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_review_chat.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_review_style_collector.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_review_style_sync.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_review_styles_store.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer.py fix: defensive copy in get_reviewer_agent and get_chat_agent [closes #1584] (#1742) 2026-07-17 16:22:38 -04:00
test_reviewer_diff.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_eval_judge.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_eval_run.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_eval_target.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_findings.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_groups.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_outcomes.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_publish.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_reconcile.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_tools.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_trace_context.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00
test_reviewer_watch.py refactor: move tests into tests/<domain>/ layout 2026-07-17 14:42:45 -04:00