{"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-2607-18603","title":"AutoIndex: Learning Representation Programs for Retrieval","arxiv_id":"2607.18603","date":"2026-07-21","proceeding":null,"authors":["Sam O'Nuallain","Nithya Rajkumar","Ramya Narayanasamy","Hanna Jiang","Shreyas Chaudhari","Andrew Drozdov"],"abstract":"We present AutoIndex, a framework for learning representation programs: executable transformations that map raw documents into the representations exposed to a retrieval system. Rather than tuning retrievers, rerankers, or a small set of preprocessing hyperparameters, AutoIndex searches over programs that slice, enrich, normalize, reweight, or reorganize documents before indexing. At each iteration, AutoIndex performs validation-guided program search, in which agents diagnose failures of the current program and synthesize candidate updates, retaining only updates that improve retrieval quality under the resulting index. We evaluate AutoIndex on CRUMB, a benchmark of heterogeneous retrieval tasks, with BM25 held fixed across all experiments. The learned programs improve recall over a static full-document BM25 baseline on all 8 tasks, with average gains of +8.4% in Recall@100 and +8.3% in nDCG@10, and largest gains of +30.5% in Recall@100 and +43.6% in nDCG@10. These results suggest that document representation should not be treated as a fixed preprocessing choice made before retrieval begins, but as an explicit optimization target. Code to reproduce our results is available at https://github.com/auto-index/autoindex.","url_abs":"https://arxiv.org/abs/2607.18603","url_pdf":"https://arxiv.org/pdf/2607.18603","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=2607.18603","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2607.18603"}},"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/auto-index/autoindex","reach":null}],"summary":{"ran":4,"ran_draft_wrong":3,"ran_fixture":1,"unverified":3},"by_repo_kind":{"found_in_text":{"samples":11,"ran":8,"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":"c6a20ef7f9b42f90","entry":"Hypothesis","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c6a20ef7f9b42f90"}},{"code_sha256_prefix":"f406220751c5b51b","entry":"_Choice","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f406220751c5b51b"}},{"code_sha256_prefix":"7e3f2959dc03518b","entry":"_Message","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7e3f2959dc03518b"}},{"code_sha256_prefix":"21196f7236799cfd","entry":"_Usage","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"21196f7236799cfd"}},{"code_sha256_prefix":"81e5088bdb5e0e20","entry":"_acall_litellm","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"81e5088bdb5e0e20"}},{"code_sha256_prefix":"74a8b0c833bfe34c","entry":"_call_litellm","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"74a8b0c833bfe34c"}},{"code_sha256_prefix":"a1f88d71a830a816","entry":"async_completion","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1f88d71a830a816"}},{"code_sha256_prefix":"4c672d8bf8427550","entry":"completion","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4c672d8bf8427550"}},{"code_sha256_prefix":"c88c318aca921ea6","entry":"CodeAgent","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c88c318aca921ea6"}},{"code_sha256_prefix":"73b5fe680a95cce8","entry":"HypothesisResult","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"73b5fe680a95cce8"}},{"code_sha256_prefix":"8ae6d71349d2cd3f","entry":"_Response","repo":"auto-index/autoindex","repo_kind":"found_in_text","path":"src/agents/analysis_code_agent/code_agent.py","file_url":"https://github.com/auto-index/autoindex/blob/HEAD/src/agents/analysis_code_agent/code_agent.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8ae6d71349d2cd3f"}}]},"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":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}