File size: 2,428 Bytes
d61821a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | # E04 robustness protocol
E04 evaluates the frozen H000, H008, and H010 retrieval harnesses on all 15
held-out GitLab Runner tasks. It runs with only the pinned LM Studio embedding
model resident. Qwen is not loaded during E04; H010 reuses its blinded query
reformulation from the completed E02 model phase at code revision
`1a7066f6c7682793b6f04445c776a93cc4fac895`.
## Experimental unit and the 135-cell plan
The preregistered grid has 15 tasks × 3 harnesses × 3 seed coordinates = 135
composite cells. Each cell contains an unperturbed baseline, S001, and one S002
dose:
| Seed coordinate | S002 synthetic files |
| ---: | ---: |
| 0 | 1 |
| 1 | 5 |
| 2 | 10 |
These coordinates encode nested dose levels, not stochastic replicates. The
same deterministic first distractor appears at all three levels, and the first
five appear at levels 5 and 10.
S001 builds all retrieval structures at the first parent of the task's base
commit and evaluates them against the task labels at the base commit. Its result
does not depend on the S002 dose. The artifact is therefore copied into the
three composite cells with an explicit `shared_key`. Statistical analysis must
de-duplicate S001 by that key, yielding 45 task–harness units, and must never
treat the three copies as independent trials.
S002 adds 1, 5, or 10 valid Go source files to the in-memory retrieval corpus.
The repository checkout and build are not modified. Distractors contain
task-relevant vocabulary but are placed under the reserved, non-gold
`__harness_distractors__/` prefix. Every generated source, path, and SHA-256 is
saved with the cell.
## Outcomes
For baseline and each perturbation, E04 records file recall at 1/5/10, MRR,
nDCG@10, first-gold rank, function recall, token-budget coverage, query time,
and index statistics. Paired robustness outcomes include recall/MRR/nDCG
deltas, top-10 gold retention, loss of all top-10 gold, and rank displacement.
If the gold file is absent from the returned list, the predeclared censored rank
is `candidate_limit + 1` (201 under the default limit). The uncensored rank
delta remains null unless both ranks are observed.
## Resource isolation
The runner refuses to start unless the embedding model is the only loaded LM
Studio model. Dense vectors use the same pinned SQLite cache as E01/E02/E05,
and FAISS FlatIP is rebuilt for each perturbed corpus. No torch workload is
used by the Python runner.
|