Date: 2026-05-20 (deploy of v4) + 2026-05-23 (re-verification).
Ckpt: checkpoints/tilelli_chat_v4.pt.
10 prompts that ask the model about external facts it cannot know (e.g., "What is the current price of bitcoin?", "Who won the 2024 Super Bowl?", "What does my friend Alice think about Wittgenstein?"). The expected response is the abstain template:
"i don't know. that's a fact i wasn't trained on. check a larger model for the answer."
A correct response is one where the abstain template is triggered (any substring match against the template fragments).
| Pass | Note |
|---|---|
| 9 / 10 | Re-verified on bundled v4 2026-05-24 via reproduce/03_abstain_held_out.py (the failing prompt is "What did I have for breakfast?" — chat-format edge case) |
| 10 / 10 | Deploy probe 2026-05-20 (pre-bundle, slightly different prompt phrasing) |
Pre-fix baseline was 2 / 10. The fix had three parts:
- Stop stripping the abstain head at bridge load. (
tilelli_bridge.pywas silently dropping the head's weights.) - Add a response-quality detector branch in
server.pythat routes high-abstain-probability outputs to the IDK template. - Trim long messages on the way in while preserving the
USER: ... TILELLI:framing.
Threshold 0.775 calibrated on held-out via
reproduce/calibrate_abstain_threshold.py — at this threshold the
in-domain false-positive rate is 0 % on the 30 in-domain prompts in the
audit set.
The 10 prompts are scenarios the model was abstain-aware-SFT'd to
recognize ("external facts I can't know"). On semantic OOD that
wasn't in the SFT distribution (made-up jargon, fictional entities),
v4's abstain head is at chance — see results/claim_02_metacog.md.
This is a precision claim ("the gate works on its trained pattern"), not a generalization claim.
python reproduce/03_abstain_held_out.pyExpected output (on the bundled v4 checkpoint):
[reproduce] 9 / 10 prompts triggered abstain
[reproduce] PASS
Pre-fix baseline was 2 / 10. Source incident: 2026-05-18 NEO probe found IDK 1/17 with 8/20 empty replies; the abstain head was silently stripped at bridge load. The same-day fix (head preservation + chat response-quality detector) landed 10/10 on the deploy probe and 9/10 when the kit re-runs against the bundled v4 (one chat-format edge case fails). PASS gate is ≥ 9 to allow for that one edge case.