Appendix A: Inference Implementation and Profiling
We measure the cost of serving the trained ARI index on one NVIDIA H200; reasoning-model (teacher) calls and gradient updates during adaptation are not included. The prototype is the evaluator used during adaptation, which scores every document in the corpus with fp32 weights under bf16 autocast. The optimized version of ARI’s retriever (the student) stores bf16 weights, uses PyTorch scaled dot-product attention and torch.compile, tokenizes the corpus once, and batches documents of similar length. A filtered configuration has the optimized student score only a cheap first stage’s top K candidates: Qwen3-Embedding-4B for Twitter-Conflict and BM25 for Writing. Latency is the median time from submitting a query until its top 100 results reach CPU memory, including first-stage retrieval, with requests served one at a time on fixed samples of 50 held-out Twitter-Conflict queries and 30 Writing queries; it excludes model loading, compilation, corpus embedding and index construction. Quality uses all held-out queries (151 and 348), with Twitter-Conflict’s pooled labels (Appendix B.1.1) and Writing’s original labels.
To test whether a configuration preserves quality, we compute each query’s NDCG@10 difference from the prototype’s full-corpus ranking and a 95% confidence interval from a paired bootstrap over queries (10,000 resamples). A configuration passes if the interval’s lower bound is at least −0.01, a tolerance fixed in advance; recall differences are reported without intervals.
Appendix B: Implementation Details and Per-Task Results
We initialize the student from the pretrained Ettin-0.4B reranker [8], retaining its original scoring head, and use Kimi-K3 as the teacher. Each batch of 20 queries undergoes three rounds of retrieval, judgment, and training.
In each round, the current student scores the corpus and retains its top \(K = 100\) documents per query. We shuffle each candidate set three times and divide each shuffle into groups of 20 for the teacher to rank. This gives 15 groups per query and exposes each document to several comparison contexts.
We trust only the top of each ranking. In a group \(g\), each of the teacher’s top four documents is taken to beat each document it ranks fifth or lower, giving a set \(\mathcal{O}_g\) of \(n_g\) observed wins (\(n_g = 4 \times 16 = 64\) when all 20 are ranked). A Bradley–Terry model [11] gives each candidate \(d\) a strength \(u_d\), with \(P(a \succ b) = \sigma(u_a - u_b)\), where \(\sigma\) is the logistic function. We fit the strengths of a query’s candidates jointly over all of its groups, by ridge-regularized maximum likelihood with every group weighted equally:
We then form training pairs among the documents that appear in all three shuffles. Each pair \((a, b)\), ordered so that \(\hat{u}_a > \hat{u}_b\), gets the sampling weight
where \(r(a)\) is \(a\)’s rank by fitted strength. The first factor favors pairs whose winner sits near the top. The second is zero for a coin flip and approaches one for a confident comparison. We draw \(K \ln K \approx 460\) pairs \(\mathcal{P}_q\) per query without replacement, with probability proportional to \(\omega\), and update the student with the RankNet loss [12] on its raw scores \(s_d\):
This is the same logistic form as the Bradley–Terry fit, applied now to the student’s scores: it pushes the student to score \(a\) above \(b\), and pushes harder the more the student currently disagrees.
Alongside each incoming batch, we revisit historical queries. Some receive fresh retrievals and teacher judgments; rotating replay distributes training across the query history.
B.1 Twitter-Conflict
The corpus contains 72,122 tweets about the Iran–Israel–US confrontation. Queries ask for tweets that express an implicit stance, so topical similarity offers little guidance: tweets about the same events can take opposing positions. We adapt on 100 queries and evaluate on 151 held-out queries.
B.1.1 Expanded relevance judgments on Twitter-Conflict
Twitter-Conflict uses one expanded label set. Each contributing system supplies its top 100 results per held-out query; Opus 5.5 judges relevance blind to source and rank; proposed positives receive a second verification pass. The judge differs from the adaptation teacher, Kimi-K3. The contributing systems are ARI after 0, 20, 40 and 100 queries, and all other systems we report.
We suggest pooled labels as the default evaluation protocol for OBLIQ going forward, provided the pool covers every system being compared, all are judged under one protocol before any is scored, and that protocol (judge model, depth, verification) is reported. Because pooled scores shift as systems are added, we release our judgments for others to extend.
B.1.2 Performance at Inference
B.2 Writing
The corpus contains 10,388 passages, and relevance depends on writing style. We adapt on 100 queries and evaluate on 348 held-out queries over the same corpus, applying the task’s query-specific exclusions before evaluation. Held-out queries include authors represented during adaptation, so the split tests whether learned stylistic distinctions transfer to new passages, not recognition of unseen authors.
B.2.1 Performance at Inference
B.3 BRIGHT AoPS
For this task, a useful candidate applies the same theorem or idea as the query’s solution, even when the problems look different. We carry over the Writing configuration and change only the teacher’s instruction, to judge technique similarity. Each run starts from pretrained Ettin; across four random splits of the 111 queries, we adapt on 60 queries in three batches of 20 and evaluate on the remaining 51.
B.3.1 BRIGHT AoPS reduced pool
For quick experimentation, every AoPS system ranks the same pool of 49,987 documents. We built it from Qwen retrievals (Qwen3-Embedding-0.6B top 1,572) for all 111 queries, then added three gold documents those retrievals missed. Held-out queries, and the three gold documents added from their labels, therefore influence pool construction, but their relevance labels never enter teacher judgments or student training.
These are reduced-pool results and are not directly comparable with published full-corpus BRIGHT scores. We use four random splits (seeds 42–45), each with 60 adaptation and 51 held-out queries; reported values average the four. Per-split curves and Qwen3-Embedding-0.6B and Qwen3-Embedding-8B results appear in Figure 7, and ARI exceeds both Qwen models on both NDCG@10 and Recall@100 in every split.
B.3.2 Performance at Inference
References
- [1] OBLIQ-Bench: Exposing Overlooked Bottlenecks in Modern Retrievers with Latent and Implicit Queries
- [2] Relevance Feedback in Information Retrieval
- [3] Relevance-Based Language Models
- [4] Optimizing Test-Time Query Representations for Dense Retrieval
- [5] ReFIT: Relevance Feedback from a Reranker during Inference
- [6] Test-Time Optimization of Query Embeddings with Ranking Aware Reward Maximization
- [7] Q-REACT: Full-Index Test-Time Adaptation with Query-Dependent Residuals for Visual Document Retrieval
- [8] Introducing the Ettin Reranker Family
- [9] On Strengths and Limitations of Single-Vector Embeddings
- [10] Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agents
- [11] Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons
- [12] Learning to Rank Using Gradient Descent
- [13] Interactively Optimizing Information Retrieval Systems as a Dueling Bandits Problem
- [14] Test-Time Training with Self-Supervision for Generalization under Distribution Shifts
- [15] BRIGHT: A Realistic and Challenging Benchmark for Reasoning-Intensive Retrieval
- [16] Mice to Meet You: From Re-ranking Only to End-to-End Retrieval
- [17] Amortized Inference in Probabilistic Reasoning
- [18] The Retriever Should Remember: Experience-Amortized Reranking for Long-Term Agent Memory
- [19] Librarian Agents: Training LLMs to Curate Long-Context Workspaces that Anticipate Future Queries
- [20] Machine Studying