tests(qa-live): Boss Baby — out-of-corpus / post-2010 honest UNGROUNDED gate

Captures the canonical "model knows it but corpus doesn't" case fox
surfaced 2026-05-02:

  Q: what is boss baby?
  Expected: UNGROUNDED  (the 2010-11 wiki snapshot has no Boss Baby
  coverage — the 2017 DreamWorks film didn't exist; the 2010 Marla
  Frazee picture book had just been published & no article)
  Model: emits training-prior content about the film/book
  Verifier: 0/N verified — no evidence chunk anchors the claims

This is the failure-by-honest-admission case the verifier must
preserve. Two compounding false-positive risks the test guards:

  1. Verifier accepting the claim against an unrelated chunk that
     happens to share content tokens (Death of Baby P, Cake Boss,
     Beanie Baby — all adjacent-token noise observed at top-K).
     This is the warrant-failure class warrant-lite was built to
     catch — if it ever passes here, anchor-class warrant has a hole.
  2. Verifier accepting via OR-mode FTS5 noise — a token-level match
     of "baby" or "boss" in unrelated content surfacing as positive
     grounding.

Acceptable behaviors:
  A. UNGROUNDED (verifier returns 0/N — corpus-truth over prior)
  B. STRICT/HYBRID without "boss baby" anywhere in the answer
     (deflection — model declined the false-corpus question and
     answered an adjacent grounded fact, like Mars-BDFL → Guido
     pattern).

Failure: STRICT/HYBRID + "boss baby" in answer = false-positive
grounding. Test fails by name pointing at the warrant gap.

Live verified (2026-05-02): UNGROUNDED 0/2, model emitted both the
2017-film claim AND the 2010-book claim, verifier rejected both
honestly. Test passes in 10s.
This commit is contained in:
russell@unturf.com 2026-05-01 23:23:34 -04:00
parent 326badf6d8
commit 04069f89f3
No known key found for this signature in database

View file

@ -608,3 +608,64 @@ def test_mars_benevolent_dictator_refuses_or_ungrounded():
)
assert any(m in txt for m in refutation_markers), \
f"audit={audit} but answer asserts a Mars BDFL: {txt[:300]}"
def test_boss_baby_post_2010_correctly_ungrounded():
"""The Boss Baby is a 2017 DreamWorks film + a 2010 Marla Frazee
children's book. The 2010-11 Wikipedia corpus has neither in its
typical 4-shard slice the film didn't exist yet, the book had
just been published & had no Wikipedia article. This is the
canonical out-of-corpus / training-prior case.
Honest expected outcome: UNGROUNDED. The model emits training-prior
info about the film/book (it knows; the model trained on
post-2017 web), but no evidence chunk verifies the claim, so the
verifier returns 0/N verified pairs and audit_mode=UNGROUNDED.
Live observed (2026-05-02 fox bench):
- 0/2 verified, audit_mode UNGROUNDED
- Top-K filled with adjacent-token noise (Death of Baby P,
Cake Boss, Beanie Baby, Baby Huey, etc.)
- Model emitted "Boss Baby is a 2017 American computer-animated
comedy film..." as the unverified claim.
This test gates that behavior. Failure modes the test catches:
1. STRICT/HYBRID with Boss-Baby content false-positive grounding
(model claim verified against unrelated chunk that happened to
share content tokens the kind of failure warrant-lite was
built to catch).
2. STRICT/HYBRID without Boss-Baby content (a deflection like the
Mars-BDFL Guido pattern) is acceptable the model declined the
false-corpus question and answered something else grounded.
Acceptable behaviors:
A. UNGROUNDED (verifier honestly admits no grounding)
B. STRICT/HYBRID without "boss baby" anywhere in the answer
(deflection model answered an adjacent grounded question)
"""
r = _ask("what is boss baby?")
audit = r.get("audit_mode")
txt = _answer_lower(r)
# Path A: honest UNGROUNDED — corpus-truth wins over model prior.
if audit == "UNGROUNDED":
return
# Path B: deflection — model declined the false-corpus question
# & answered something else (e.g. a Boss Hogg / Big Boss / Hugo Boss
# adjacent grounded fact). No "boss baby" in answer means the
# model didn't assert the post-2010 content.
if "boss baby" not in txt:
return
# Anything else is a false-positive grounding: model named the
# 2017 film or 2010 book AND the verifier said it was grounded.
# That's the warrant-failure-class this test guards against.
pytest.fail(
f"audit={audit} affirmed Boss Baby content with grounding — "
f"the corpus has no Boss Baby coverage at this snapshot. "
f"Either the verifier accepted a citation that doesn't actually "
f"name Boss Baby (warrant gap), or the corpus has been re-ingested "
f"with newer content (update test). Answer head: {txt[:300]}"
)