Live-Use Retrieval & RAG Evaluation

Torment-first benchmark built from the user’s actual play session

The primary benchmark is derived from the user's live Torment session—not generic trivia. The durable game state contains 104 user-role turns, of which 33 are genuine manual/chat interactions after excluding automatic Recall-review prompts. Preserve original spelling and ambiguity in the test input; evaluation should measure whether retrieval and reconciliation work in real play.

Benchmark layers

Retrieval

Find the right manual/wiki/walkthrough section and exact source version.

State grounding

Combine corpus evidence with current journal, Recall and campaign records.

Spoiler control

Answer at none/hint/full without leaking later outcomes.

Reconciliation

Apply only validated, game-scoped low-risk updates; block ambiguity.

Torment live-use evaluation set v1

ID / real promptCapabilityExpected evidence and behavior
T01 · “I've just loaded in here…what can you tell me about where I am?”Vision + location retrievalUse screenshot OCR/caption, current game state and location sources; distinguish observation from inference.
T02 · “Find hints for my current main quest and how far I am through it.”Progress-aware retrievalResolve active objective first; retrieve only relevant quest section; hint-level answer with progress uncertainty.
T03 · “I found Tantalum—are there missables on lower levels before I talk to them?”Missables + temporal boundaryRetrieve pre-conversation missables; distinguish reversible vs one-time; avoid later plot spoilers.
T04 · “Add all of those to my TODOs; skull eye-pool checked, six-eyed statue started.”Research → campaign mutationReconcile discovered list against existing records; complete/omit checked item; mark statue in progress; avoid duplicates.
T05 · “Who should I put the Pellucid Wrap on? It's permanent/one-time, right?”Mechanics + build contextVerify permanence from hard source; use party/build state; explain trade-offs and uncertainty.
T06 · Phoenix note completion with number 1535Exact-record mutationComplete specified TODO ID, retain provenance, update related objective/recap without broad unrelated changes.
T07 · “What should I do in 1535 and 2413?”Multi-document quest sequencingRetrieve both tomb/quest sections; separate prerequisites; respect requested spoiler level.
T08 · “How was I supposed to get code 2413; anything between dark crystal and tomb?”Prerequisite diagnosisResolve trigger chain from guide/manual/community corroboration; identify missed step without assuming completion.
T09 · “Phoenix Wisdom complete…after dark crystal? Oddwald changed nothing.”Troubleshooting stale quest stateSearch trigger conditions and known sequencing; distinguish bug/workaround from intended progression.
T10 · “Explain what is on this screen and what matters right now.”Visual + campaign fusionUse raw VLM/OCR and current objective; ignore decorative/transient UI; cite only if external claims are needed.
T11 · “I'm well past the tombs…this is Zerian's Mere…correct everything.”User correctionUser-stated location overrides stale inference; invalidate/mark blocked old objectives, preserve evidence trail, avoid rewriting unrelated history.
T12 · “What happened?”Recent-event reconstructionUse latest Recall sequence and trace timestamps; state confidence and avoid inventing unseen transitions.
T13 · “How do I actually use the Twisted Metal Merecaster?”Object interaction retrievalRetrieve exact activation/interaction instructions; reconcile against current quest state and prior choices.
T14 · Lied about unlocking Merecaster; NPC fled; 40 XP; now before Miel Avest attackMissed outcome correctionAccept explicit player report, verify if useful, mark quest outcome/missable, move current location forward.
T15 · “Miel Avest crisis done…in the Bloom…sync journal; Dracogen's Price; Broken Hearts; maybe no Tybir.”Journal reconciliationOCR exact active quests, set Dracogen current, add Broken Hearts conditionally/blocked if Tybir absent, close stale objectives.
T16 · “Only Dracogen's Price; other two blocked and moved elsewhere.”Multi-record correctionExactly one active objective; preserve main-quest semantics; blocked records remain searchable and explained.

Evaluation protocol

  1. Freeze a corpus snapshot and campaign/Recall fixture for each case.
  2. Run FTS-only baseline, hybrid retrieval, then optional reranked mode with identical prompt/state.
  3. Record retrieved chunk IDs, source versions, scores, latency, context tokens and answer.
  4. Score retrieval before judging prose, so a fluent unsupported answer fails.
  5. Replay at spoiler levels none, hint and full where relevant.
  6. For mutation cases, compare exact applied action sets and resulting records.

Scoring

MetricPass target for Torment launch
Source Recall@5≥ 0.90 on cases with known answer sections
Exact provenance100% of factual evidence links to source version/page or Recall entry
Game isolation100%; no cross-game chunks or records
Spoiler leakage0 critical leaks under none/hint
Mutation precision≥ 0.95 exact actions; zero unrelated record mutation
Unsupported certainty0 answers presenting inference as observed fact
Offline degradationFTS baseline remains functional with LM Studio unavailable

Fixture sources

LM Studio generative-model benchmark

The live LM Studio endpoint advertises 21 generative models plus one Nomic embedding model. Do not benchmark every quantization as if it were a distinct capability. Build a representative shortlist by parameter class, architecture and quantization, then run identical Torment-derived tasks with fixed prompts and deterministic settings where supported.

Task familyTorment-derived inputScore
Query rewriteOriginal misspelled/ambiguous prompts such as “dark srystal,” “how was I suppose to get 2413,” and “what happened?” plus current statePreserves entities/intent, adds no invented facts, improves Recall@k
Candidate rerankingFTS/vector candidates for Phoenix 1535, Severed Child 2413, Merecaster and Broken HeartsMRR/nDCG against human relevance labels; spoiler-safe ranking
Raw tool-output explanationSaved GTC search/scrape JSON, errors and crawl manifestsField coverage, factual faithfulness, exact raw-span links, latency
Structured/symbolic breakdownGTC JSON, command arguments, regex/stack traces, validated action arraysCorrect key/symbol semantics; zero hallucinated fields
Source/chunk classificationManual pages, strategy-guide sections, novellas, Steam/Reddit/wiki excerptsSource type, trust, spoiler tags and heading labels versus gold set
OCR cleanupRaw Recall OCR from dialogue/journal screensCharacter/word error reduction while preserving names, numbers and uncertainty
Evidence summaryRetrieved chunks + Recall state for T01–T16Claim support, citation completeness, no spoiler leakage
Action proposalJournal synchronization and exact-record correction casesProposed action precision/recall; actions remain untrusted until bridge validation

Representative live candidates

Harness contract

benchmark_case = {
  case_id, task, game_id, prompt_version,
  input_artifact_hashes, expected_labels_or_actions,
  spoiler_level, max_context, output_schema
}
result = {
  model_id, quantization, params, latency_ms, tokens,
  peak_vram_if_available, output, parse_valid,
  automatic_scores, human_review
}

Model names exposed by LM Studio are a dynamic inventory, not proof that each model is currently loaded or supports the same context/structured-output features. Probe capabilities, record the exact model ID/quantization, and benchmark one loaded model at a time to avoid VRAM/concurrency contamination.

Selection policy

  1. Reject models that fail schema adherence, leak spoilers, or invent raw fields regardless of speed.
  2. Select the smallest model within 2–3% of the best quality score for routine background derivations.
  3. Permit a larger optional “deep explanation” model only when its measured gain justifies latency/VRAM.
  4. Never let a benchmarked local model directly mutate campaign data; it proposes, the bridge validates and records provenance.

Game expansion cohorts

1 · Torment: Tides of Numenera

Primary acceptance game. Narrative, quest-state ambiguity, visual Recall and verified local Extras. Stabilize ingestion and benchmark here first.

2A · Tyranny

Best next narrative-RPG control: branching choices, reputation, quest consequences, dense lore. Tests choice provenance and mutually exclusive state.

2B · Colony Ship

Good for builds, skill checks, alternate routes and smaller community-source footprint. Tests mechanics and sparse-source retrieval.

2C · Warhammer 40,000: Rogue Trader

Large modern corpus, patches/DLC, builds and complex quests. Use last because version/edition tagging and source volume stress the system.

Recommended progression

Torment ingestion + v1 benchmarkTyranny branching-state testColony Ship sparse/build testRogue Trader scale/version stress test

Do not require all four games before shipping the first retrieval implementation. Torment is the quality gate; each later game adds a distinct failure mode and expands the benchmark suite.