{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2605-25920","title":"Can LLMs Time Travel? Enhancing Temporal Consistency in Legal Agentic Search through Reinforcement Learning","arxiv_id":"2605.25920","date":"2026-05-25","proceeding":null,"authors":["Wei Fan","Yining Zhou","Mufan Zhang","Yanbing Weng","Yiran HU","Tianshi Zheng","Baixuan Xu","Chunyang Li","Jianhui Yang","Haoran Li","Yangqiu Song"],"abstract":"While large language models (LLMs) augmented with agentic search capabilities show promise for legal reasoning, they overlook a fundamental constraint that applicable law must match the temporal context of each case, as retroactive application of statutes violates core legal principles and leads to erroneous conclusions. Our observations reveal that current legal LLMs suffer from temporal bias anchored to their training cutoff, while search agents rarely incorporate temporal constraints into queries, and that web search alone cannot provide the precise statute and precedent citations that legal reasoning demands. To address these challenges, we propose LegalSearch-R1, an end-to-end reinforcement learning framework that pairs local statute RAG for precise article matching with online web search for broader legal knowledge, trained on temporally-indexed data spanning multiple amendment periods to enforce temporal consistency. Extensive experiments on our benchmark covering 13 legal tasks demonstrate that our 7B-parameter agent outperforms state-of-the-art deep research frameworks and specialized legal LLMs by 12.9% to 29.8%, surpasses baselines by 57.7% to 80.3% on temporal consistency, and exhibits robust out-of-domain generalization. The code and data are available at https://github.com/AlexFanw/LegalSearch-R1.","url_abs":"https://arxiv.org/abs/2605.25920","url_pdf":"https://arxiv.org/pdf/2605.25920","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2605.25920","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.25920"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/AlexFanw/LegalSearch-R1","reach":null}],"summary":{"ran":9,"unverified":7},"by_repo_kind":{"found_in_text":{"samples":16,"ran":9,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"99a0d136268aa0e8","entry":"build_reward_model","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"user/legalsearch_data_process.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/user/legalsearch_data_process.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"99a0d136268aa0e8"}},{"code_sha256_prefix":"04f6d2711d4cd42e","entry":"extract_answer","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"user/calculate_metrics.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/user/calculate_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"04f6d2711d4cd42e"}},{"code_sha256_prefix":"8896f4e2bafe8abc","entry":"generate_config_from_args","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/model_merger/base_model_merger.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/model_merger/base_model_merger.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8896f4e2bafe8abc"}},{"code_sha256_prefix":"94209884dcb2308e","entry":"get_dynamic_pipeline_shards","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/model_merger/megatron_model_merger.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/model_merger/megatron_model_merger.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"94209884dcb2308e"}},{"code_sha256_prefix":"735e93af30b15fa9","entry":"is_ipv4","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/utils/net_utils.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/utils/net_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"735e93af30b15fa9"}},{"code_sha256_prefix":"0eed8cf50397ec71","entry":"load_jsonl","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"user/legalsearch_data_process.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/user/legalsearch_data_process.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0eed8cf50397ec71"}},{"code_sha256_prefix":"3d10a418d728ed47","entry":"normalize_for_metrics","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"user/calculate_metrics.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/user/calculate_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3d10a418d728ed47"}},{"code_sha256_prefix":"27498a27e49ed413","entry":"read_jsonl","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"user/calculate_metrics.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/user/calculate_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"27498a27e49ed413"}},{"code_sha256_prefix":"83b1686d7ac03c21","entry":"unpad_dataproto","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/protocol.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/protocol.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"83b1686d7ac03c21"}},{"code_sha256_prefix":"d6beb2151fab8888","entry":"build_prompt","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"user/legalsearch_data_process.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/user/legalsearch_data_process.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d6beb2151fab8888"}},{"code_sha256_prefix":"d3eec2b92fdb53f7","entry":"get_generation_config","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/utils/model.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/utils/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d3eec2b92fdb53f7"}},{"code_sha256_prefix":"7b27e6b612de6077","entry":"get_huggingface_actor_config","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/utils/model.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/utils/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7b27e6b612de6077"}},{"code_sha256_prefix":"acf240079d434746","entry":"get_weight_loader","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/models/weight_loader_registry.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/models/weight_loader_registry.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"acf240079d434746"}},{"code_sha256_prefix":"cd6b1e0d6afb2762","entry":"get_weight_saver","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/models/weight_loader_registry.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/models/weight_loader_registry.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cd6b1e0d6afb2762"}},{"code_sha256_prefix":"705afe175ad8e404","entry":"is_ipv6","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/utils/net_utils.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/utils/net_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"705afe175ad8e404"}},{"code_sha256_prefix":"3b15e2ac7497c441","entry":"squeeze","repo":"AlexFanw/LegalSearch-R1","repo_kind":"found_in_text","path":"verl/utils/model.py","file_url":"https://github.com/AlexFanw/LegalSearch-R1/blob/HEAD/verl/utils/model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b15e2ac7497c441"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}