# Progressive-AND / DF-filter bench fixture (2026-05-09).
#
# Why this fixture exists: bench/qa_questions_smoke.txt covers the
# happy-path retrieval where AND-mode succeeds on chain 0 across every
# shard. That fixture is structurally insensitive to retrieval-side
# changes — any A/B run produces byte-identical cache_keys and the only
# variance is LLM sampling noise. We discovered this the hard way when
# A/B-benching the progressive-AND fallback (commit 416f956): the smoke
# fixture's STRICT-rate moved ±20pp at n=3, and every single cell had
# matching cache_keys before and after. Pure dice.
#
# This fixture pins queries that EXERCISE the new code path:
#
#   - PROGRESSIVE: full AND returns zero on at least one shard, so
#     `_progressive_and_token_chains` drops one or more shortest tokens
#     before AND succeeds. The Gundremmingen case is canonical.
#   - DF_FILTER: every AND chain returns zero on at least one shard;
#     search falls to OR-mode where `_filter_or_pool_by_df` drops
#     high-DF tokens.
#   - CONTROL: full AND succeeds on every shard. Used to verify the
#     fixture itself doesn't drift retrieval — these cells should
#     produce identical cache_keys before/after any retrieval-side
#     change.
#
# Which-chain-fires per shard was empirically verified at commit
# 416f956 against ~/.arborist/shards (4 wiki shards, 1.5M chunks each).
# Re-run /tmp/probe_candidates.py if you suspect drift.
#
# Run with: make bench-qa-progressive-and (n=3 default, ~3-5 min wall).
# Future retrieval-side work (e.g. #000039 sqlite-vec backend) should
# bench against this fixture, not just the smoke fixture, to confirm
# the change actually moves retrieval rather than just LLM dice.

# === PROGRESSIVE-AND firers ===
# Two-entity geography query — canonical case from commit 2b9d1f0.
# Shards 002, 003: chain1/chain2 fires (drops "located"/"located"+"Bavaria").
where is Gundremmingen located? where is Bavaria?

# Two-entity geography, smaller German municipality.
# Shards 001, 003: chain3, chain4 fire (drops several tokens).
where is Hardthausen am Kocher located? where is Heilbronn?

# Yes/no near-relation — most chunks don't co-mention both entities.
# All shards: chain2 fires.
is Gundremmingen near Munich

# Open-ended "known for" — broad-quantifier shape, narrow topical anchor.
# Shard 003: chain1 fires (drops "for").
what is Gundremmingen known for

# Author-described-taxon shape — every chain falls except late ones.
# All shards: chain2 fires (drops "year"+"describe", keeps "klotzsch"+"sphagnum").
what year did Klotzsch describe sphagnum

# === DF-FILTER firers ===
# Two-entity query where every AND chain on shard 002 returns zero,
# so OR-fallback fires and the DF filter trims high-DF tokens.
where is Diedrichshagen located? where is Greifswald?

# Single-entity obscure-place query that lands in OR-mode on shard 002.
where is Diedrichshagen located

# === CONTROLS (FULL_AND on every shard) ===
# Identical cache_keys expected before/after any retrieval change.
# A drift here means the change ALSO affected the happy path.
who painted the mona lisa?
when did the soviet union dissolve?
