{
  "format": "carrier-r03-evidence-displacement/1",
  "status": "Single prespecified exploratory reranker on the already public R02 method-pooled benchmark. No new holdout, no confirmatory test, no population claim.",
  "candidateUniverse": "For each of all 48 unchanged R02 tasks, exactly its original judged pool from benchmark/pool-key.json. 666 task-document pairs, not a fresh retrieval run or a corpus-wide evaluation.",
  "budget": 5,
  "representation": "Keep all 6257 R02 document vectors and all 48 question vectors unchanged. Encode each raw prewritten requirements string individually using the pinned local MiniLM ONNX model; no rewriting, task labels, grades, names, or generated requirement expansions. R02 mean attention-mask pooling, L2 normalization, max 256 wordpieces, batch 16, CPU threads 4/1.",
  "facets": "Question followed by its m original requirements; every facet has weight 1/(m+1). Thus explicit requirements jointly have m/(m+1) weight.",
  "normalizer": "For each facet, take positive cosine max(0, dot(facet,document)) for every member of the complete same task pool, then divide by its maximum over that complete pool. An all-zero facet remains zero. This normalizes similarity scale without relevance grades. Never normalize on selected documents.",
  "objective": "F(S) = [sum_f max_{d in S} normalized_cosine(f,d) - sum_{unordered {d,e} subset S} max(0,dot(d,e))/C(5,2)]/(m+1), with max over empty S = 0.",
  "selection": "Start empty. For exactly five steps choose the as-yet unselected pool member giving the largest F(S union {d}) - F(S). Exact score ties choose smaller checked ID. Retain selection order as ranking; no post-selection reranking.",
  "rationale": "Equal facet weighting avoids inventing importance labels and grants most weight to the explicit requirements. Max coverage gives no reward for repeating a facet already covered equally well. The pair penalty has maximum total cost of one facet's weight at the context budget, making document duplication an explicit cost without introducing a tuned coefficient. These are design choices, not estimated optimal values.",
  "baseline": "Original R02 dense top five, verified against a descending-score dense selection within the same pool (ID ties ascending). Original development-chosen typed:dense:1:0.1 top five is the fixed graph comparator; both top fives lie within every original judged pool.",
  "oracle": "Diagnostic only, after freezing and evaluating label-free rankings: enumerate every five-element subset of the same pool, maximize the number of unique requirements having agreement of both R02 judges for at least one selected document. Ties maximize pooled nDCG5 with documents sorted by mean grade descending and checked ID ascending; remaining ties choose lexicographically smaller sorted checked IDs. An agreed-label coverage upper bound only, not a deployable ranking or baseline.",
  "agreedLabels": "Per document, intersect obligationsA and obligationsB. A selection covers the union of these document intersections; agreement cannot be assembled from different documents across the two judges.",
  "metrics": "Pooled nDCG5 with gain 2^meanGrade-1 and an ideal over the full original judged pool; agreed obligation coverage divided by all task requirements, not only pool-attainable requirements; unique agreed obligations gained/lost versus dense. Evidence redundancy = (total agreed document-obligation assignments - union size)/total assignments, defined as 0 for no assignments. Also mean positive cosine over ten selected document pairs. A21/B18 shown regardless of results.",
  "statistics": {"bootstrapReplicates": 10000, "seed": 129300, "unit": "paired task", "interval": "percentile 95%", "subsets": ["all48", "originalFinal36", "originalDevelopment12"], "contrasts": ["coverage-minus-dense", "coverage-minus-typed", "typed-minus-dense", "oracle-minus-dense (diagnostic)"], "tests": "No significance tests, p-values, or confirmatory claims. Every subset is exploratory because R02 is already public; no subset selects parameters."},
  "integrity": "Prepare stage refuses to open qrels or judgments, records source hashes, emits all score inputs and label-free selected ranks, and freezes method, programs, vectors, score inputs, and selected ranks before evaluate stage may open qrels. Immutable freeze files refuse overwrite. Any later bug correction must preserve and disclose first results; no tuning after outcome exposure.",
  "reuse": "Foundation: R02 encode_tasks.py model/tokenizer/pooling convention and R02 metrics_r02.py nDCG definition. New implementation here does not import or mutate the R02 code, model, vectors, corpus, tasks, or labels. R02 chosen typed setting is already outcome-selected on its original development set; it is a fixed historical comparator here."
}
