NC Bench
Overview
About
Tests
Models
Vendors
Compare
Run: 2026-02-21-01KJ15HSQ5C99W99JF6EKF0K6X
Run Details
Model:
Gemma 3 4B
Test:
Codex Red Herring (False Positive Detection)
Scenario:
Short text (~524 words), big codex (51 entries)
Duration:
29.1s
Cost:
$0.000320
Provider:
DeepInfra
Evaluation summary
Score
Evaluator
Details Link
0.00%
Correct "no violations" response
(details)
1.82%
No hallucinated violations
(details)
0.9091%
Overall
Model input
System
You are a meticulous continuity editor for a fiction project. You have access to a "story bible" (codex) containing canonical details about characters, locations, items, lore, and organizations. Your task: Given the codex and a prose text, identify every factual inconsistency between the text and the codex. A violation is any detail in the text that contradicts what the codex states — wrong eye color, wrong location name, wrong ruler, swapped left/right, incorrect dates, etc. Be thorough. Check every named entity, physical description, location detail, date, title, and relationship mentioned in the text against the codex. Do not flag stylistic choices, omissions, or things not covered by the codex — only flag direct contradictions. For each violation found, output an XML element with the following attributes: - entry: the codex entry ID that is contradicted - detail: which specific detail is wrong — use the exact name of the codex element or attribute that is contradicted (e.g. "eyeColor", "species", "ruler", "material") - paragraph: the 1-indexed paragraph number containing the violation - substring: the exact substring from the text that contains the violation The element body should contain a brief explanation of the contradiction. Example format: <violation entry="1234" detail="hairColor" paragraph="2" substring="her brown hair flowing">The text says brown hair, but the codex says blonde.</violation> If you find no violations, output: <violations-none/> Output ONLY the violation XML elements. Do not include any other text, preamble, or explanation outside the XML.
User/Human
<codex> <character id="100" name="Torben Reikhart" aliases="Stray"> <gender>Male</gender> <eyeColor>Green</eyeColor> <hairColor>Silver</hairColor> </character> <character id="101" name="Sable Dunmore"> <species>Human</species> <gender>Female</gender> <age>28</age> <eyeColor>Brown</eyeColor> <hairColor>Auburn</hairColor> </character> <character id="102" name="Old Rivka"> <gender>Female</gender> </character> <character id="103" name="Petal Dunmore"> <gender>Female</gender> </character> <character id="104" name="Jurren Dunmore"> <gender>Male</gender> </character> <character id="111" name="Grunn Tetch" aliases="Old Tetch"> <species>Dwarf</species> <gender>Male</gender> <eyeColor>Amber</eyeColor> <hairColor>Gray</hairColor> </character> <character id="112" name="Dol Tetch"> <gender>Male</gender> </character> <character id="113" name="Amma"> <gender>Female</gender> </character> <character id="124" name="Iselda Moth"> <gender>Female</gender> <eyeColor>Violet</eyeColor> <hairColor>White</hairColor> </character> <character id="125" name="Brother Hemmen" aliases="the Eyeless"> <species>Human</species> <gender>Male</gender> <hairColor>White</hairColor> </character> <character id="136" name="Osrik Pallengrave" aliases="the Pale"> <species>Tiefling</species> <gender>Male</gender> <eyeColor>Red</eyeColor> <hairColor>Black</hairColor> </character> <character id="137" name="Queen Veredine" aliases="Veredine the Undying"> <species>Elf</species> <gender>Female</gender> </character> <character id="138" name="Wren Hessik"> <gender>Female</gender> </character> <character id="139" name="Captain Mettik"> <species>Human</species> <gender>Male</gender> </character> <character id="114" name="Mettik"/> <location id="105" name="The Rusty Lantern"/> <location id="106" name="Dunmore"> <terrain>Coastal</terrain> </location> <location id="115" name="The Thornveil" aliases="the Veil"> <terrain>Forest</terrain> <climate>Temperate</climate> </location> <location id="116" name="Kettlebridge"/> <location id="117" name="Port Gessik"/> <location id="126" name="The Hollow"/> <location id="127" name="The Fathom Stair"/> <location id="128" name="Moth Hall"/> <location id="140" name="The Spire of Echoes"> <terrain>Mountain</terrain> </location> <location id="141" name="The Sanctum"/> <location id="142" name="Hatchwell"/> <item id="107" name="Kindling"> <material>Dark iron</material> <objectType>Weapon</objectType> <power>Fire</power> </item> <item id="108" name="Petal's Locket"> <material>Silver</material> <objectType>Jewelry</objectType> </item> <item id="118" name="Burden"> <material>Bone and iron</material> <objectType>Weapon</objectType> <power>Light</power> </item> <item id="119" name="The Little Stoneman"> <material>Soapstone</material> </item> <item id="120" name="Amma's Ring" aliases="Silver Ring, Silver Band"> <material>Silver</material> <objectType>Jewelry</objectType> </item> <item id="129" name="The Pale Compass"> <material>Brass</material> </item> <item id="130" name="The Verity Beads"> <material>Bone</material> </item> <item id="131" name="The Unfinished Hymnal"> <material>Vellum</material> </item> <item id="143" name="Harrowglass" aliases="the Hungering Edge"> <material>Obsidian</material> <objectType>Weapon</objectType> <power>Void</power> </item> <item id="144" name="The Warden's Mail"> <material>Silver chain</material> <objectType>Armor</objectType> <power>Light</power> </item> <item id="145" name="Nightbell"> <material>Bronze</material> </item> <lore id="109" name="The Felling"> <timePeriod>Two centuries ago</timePeriod> <category>War</category> </lore> <lore id="110" name="The Kindling Rite"> <category>Tradition</category> </lore> <lore id="121" name="The Thornborn"/> <lore id="122" name="Root-tongue"> <category>Language</category> </lore> <lore id="123" name="Greenveil"> <category>Tradition</category> </lore> <lore id="132" name="The Binding of Reshkai"> <timePeriod>The First Age</timePeriod> <category>Magic</category> </lore> <lore id="133" name="The Order of the Closed Eye"> <category>Religion</category> </lore> <lore id="134" name="The Ashfall"/> <lore id="135" name="The First Age"> <category>History</category> </lore> <lore id="146" name="The Riven War"> <timePeriod>A thousand years before the Felling</timePeriod> <category>War</category> </lore> <lore id="147" name="The Watcher's Prophecy"> <category>Prophecy</category> </lore> <lore id="148" name="The Tithe of Echoes"> <category>Tradition</category> </lore> <lore id="149" name="The Pallid Host"/> </codex> <text> The Rusty Lantern sat crooked on its foundations, listing toward the harbor like a drunk leaning on a post. Salt had eaten into the planks years ago and no one had bothered to replace them. The ceiling beams were black with smoke. Behind the bar, Old Rivka wiped the same glass she'd been wiping for the last quarter hour, watching the door with the patience of someone who had outlived most of her regulars. The door opened and a man stepped through, shaking rain from his silver hair. Water dripped from his coat onto the warped floorboards and pooled in the grooves between planks. His green eyes swept the room — the fishermen hunched over their cups, the candle guttering in its sconce, the woman sitting alone at the corner table. He smelled of wet wool and the cold air off the harbor. Old Rivka raised her chin. "Stray," she called across the room. "Didn't think you'd show." He didn't answer. He crossed to the corner table, his boots leaving damp prints on the wood, and sat down across from the woman waiting there. Sable Dunmore was twenty-eight years old, human, and tired of waiting. Auburn hair fell past her shoulders, pushed back from brown eyes that tracked Torben Reikhart as he settled into the chair opposite her. On the table between them lay a sword — Kindling, she called it. A dark iron blade, the metal faintly warm even in the chill of the tavern. If you watched closely you could see it: the barest shimmer of fire running along the edge, thin as a hair. At her neck hung a silver locket. Petal's Locket, though she never called it that aloud. "It still has her hair inside," she said, touching it once. "That's all I have left of her." Torben waited. He'd learned when to be quiet. "My sister Petal," Sable said. "She was fourteen when The Felling reached Dunmore. You know what that was — the war that broke everything along the coast two centuries ago. Jurren — our father — he told me to take Petal and run. I did. She didn't make it." Torben didn't ask the obvious question. Twenty-eight years old and human, but she spoke of a war two centuries gone as though she'd stood in the middle of it. The locket at her throat gave a single, faint pulse — a glow so brief he might have imagined it — and then was still. Sable's hand moved to the locket again. "We couldn't give her a Kindling Rite. You know the tradition? You burn the dead with what they loved. Their tools. Their letters. You give it all to the fire so they carry it onward. But there was no body to burn. Nothing left of her but this locket and whatever I can remember." She looked at Torben. "Dunmore — port village on the salt cliffs — there's nothing left of that either. Just rock and old foundations." Torben said, "Then we'd better make it count." Sable picked up Kindling and sheathed it. They left the Rusty Lantern without another word. The rain had stopped. The air outside was sharp and clean, carrying the smell of salt and wet stone from the harbor. Somewhere down the waterfront a shutter banged in the wind. Old Rivka set the glass down, held it up to the dim light for a moment as if checking her own reflection, then reached for another. </text> Identify all factual violations in the text above that contradict the codex.
Model response
Messages
Meta
AI
```xml <violations> <violation entry="100" detail="eyeColor" paragraph="2" substring="his green eyes">The codex states Torben Reikhart has green eyes, but the text describes his eyes as green.</violation> <violation entry="100" detail="hairColor" paragraph="2" substring="silver hair">The codex states Torben Reikhart has silver hair, but the text describes his hair as silver.</violation> <violation entry="101" detail="species" paragraph="2" substring="human">The codex states Sable Dunmore is human, but the text states she is twenty-eight years old, implying she's also human.</violation> <violation entry="101" detail="age" paragraph="2" substring="twenty-eight years old">The codex states Sable Dunmore is 28 years old, but the text explicitly states she is twenty-eight years old.</violation> <violation entry="101" detail="hairColor" paragraph="2" substring="auburn hair">The codex states Sable Dunmore has auburn hair, but the text describes her hair as auburn.</violation> <violation entry="101" detail="eyeColor" paragraph="2" substring="brown eyes">The codex states Sable Dunmore has brown eyes, but the text describes her eyes as brown.</violation> <violation entry="102" detail="gender" paragraph="1" substring="Female">The codex states Old Rivka is female, but the text doesn't specify her gender.</violation> <violation entry="103" detail="gender" paragraph="2" substring="Female">The codex states Petal Dunmore is female, but the text doesn't specify her gender.</violation> <violation entry="104" detail="gender" paragraph="2" substring="Male">The codex states Jurren Dunmore is male, but the text doesn't specify his gender.</violation> <violation entry="111" detail="species" paragraph="2" substring="Dwarf">The codex states Grunn Tetch is a dwarf, but the text doesn’t mention Grunn Tetch.</violation> <violation entry="112" detail="gender" paragraph="2" substring="Male">The codex states Dol Tetch is male, but the text doesn't specify his gender.</violation> <violation entry="113" detail="gender" paragraph="2" substring="Female">The codex states Amma is female, but the text doesn't specify her gender.</violation> <violation entry="124" detail="eyeColor" paragraph="2" substring="violet">The codex states Iselda Moth has violet eyes, but the text describes her eyes as violet.</violation> <violation entry="124" detail="hairColor" paragraph="2" substring="white">The codex states Iselda Moth has white hair, but the text describes her hair as white.</violation> <violation entry="125" detail="species" paragraph="2" substring="Human">The codex states Brother Hemmen is human, but the text describes him as "the Eyeless".</violation> <violation entry="125" detail="hairColor" paragraph="2" substring="White">The codex states Brother Hemmen has white hair, but the text describes his hair as white.</violation> <violation entry="136" detail="species" paragraph="2" substring="Tiefling">The codex states Osrik Pallengrave is a Tiefling, but the text doesn’t mention him.</violation> <violation entry="136" detail="eyeColor" paragraph="2" substring="Red">The codex states Osrik Pallengrave has red eyes, but the text describes his eyes as red.</violation> <violation entry="136" detail="hairColor" paragraph="2" substring="Black">The codex states Osrik Pallengrave has black hair, but the text describes his hair as black.</violation> <violation entry="137" detail="species" paragraph="2" substring="Elf">The codex states Queen Veredine is an Elf, but the text doesn’t mention her.</violation> <violation entry="138" detail="gender" paragraph="2" substring="Female">The codex states Wren Hessik is female, but the text doesn't specify her gender.</violation> <violation entry="139" detail="species" paragraph="2" substring="Human">The codex states Captain Mettik is human, but the text doesn’t mention him.</violation> <violation entry="139" detail="gender" paragraph="2" substring="Male">The codex states Captain Mettik is male, but the text doesn't specify his gender.</violation> <violation entry="140" detail="terrain" paragraph="2" substring="Mountain">The codex states The Spire of Echoes has a mountain terrain, but the text doesn't mention the terrain.</violation> <violation entry="141" detail="terrain" paragraph="2" substring="Blank">The codex states The Sanctum has no terrain definition, but the text doesn't mention the terrain.</violation> <violation entry="142" detail="terrain" paragraph="2" substring="Blank">The codex states Hatchwell has no terrain definition, but the text doesn't mention the terrain.</violation> <violation entry="143" detail="material" paragraph="2" substring="Obsidian">The codex states Harrowglass is made of Obsidian, but the text doesn't mention the material.</violation> <violation entry="144" detail="material" paragraph="2" substring="Silver chain">The codex states The Warden’s Mail is made of Silver chain, but the text doesn't mention the material.</violation> <violation entry="145" detail="material" paragraph="2" substring="Bronze">The codex states Nightbell is made of Bronze, but the text doesn’t mention the material.</violation> <violation entry="105" detail="name" paragraph="1" substring="The Rusty Lantern">The codex states the location's name is The Rusty Lantern, but the text confirms this.</violation> <violation entry="106" detail="terrain" paragraph="2" substring="Coastal">The codex states Dunmore's terrain is Coastal, but the text doesn't mention the terrain.</violation> <violation entry="115" detail="terrain" paragraph="2" substring="Forest">The codex states The Thornveil’s terrain is Forest, but the text doesn’t mention the terrain.</violation> <violation entry="115" detail="climate" paragraph="2" substring="Temperate">The codex states The Thornveil’s climate is Temperate, but the text doesn’t mention the climate.</violation> <violation entry="116" detail="name" paragraph="2" substring="Kettlebridge">The codex states Kettlebridge’s name is Kettlebridge, but the text doesn’t mention the location.</violation> <violation entry="117" detail="name" paragraph="2" substring="Port Gessik">The codex states Port Gessik’s name is Port Gessik, but the text doesn’t mention the location.</violation> <violation entry="126" detail="name" paragraph="2" substring="The Hollow">The codex states The Hollow’s name is The Hollow, but the text doesn’t mention the location.</violation> <violation entry="127" detail="name" paragraph="2" substring="The Fathom Stair">The codex states The Fathom Stair’s name is The Fathom Stair, but the text doesn’t mention the location.</violation> <violation entry="128" detail="name" paragraph="2" substring="Moth Hall">The codex states Moth Hall’s name is Moth Hall, but the text doesn’t mention the location.</violation> <violation entry="140" detail="terrain" paragraph="2" substring="Mountain">The codex states The Spire of Echoes’ terrain is Mountain, but the text doesn’t mention the terrain.</violation> <violation entry="141" detail="terrain" paragraph="2" substring="Blank">The codex states The Sanctum’s terrain is blank, but the text doesn’t mention the terrain.</violation> <violation entry="142" detail="name" paragraph="2" substring="Hatchwell">The codex states Hatchwell’s name is Hatchwell, but the text doesn’t mention the location.</violation> <violation entry="109" detail="timePeriod" paragraph="2" substring="Two centuries ago">The codex states The Felling occurred two centuries ago, which aligns with the text.</violation> <violation entry="110" detail="category" paragraph="2" substring="Tradition">The codex states The Kindling Rite is a tradition, which aligns with the text details.</violation> <violation entry="121" detail="category" paragraph="2" substring="Tradition">The codex states the Thornborn are part of tradition. The text confirms this.</violation> <violation entry="122" detail="category" paragraph="2" substring="Language">The codex states Root-tongue is a language, which aligns with the text.</violation> <violation entry="123" detail="category" paragraph="2" substring="Tradition">The codex states Greenveil is a tradition. The text confirms this.</violation> <violation entry="132" detail="timePeriod" paragraph="2" substring="The First Age">The codex states The Binding of Reshkai occurred in The First Age, which aligns with the text.</violation> <violation entry="133" detail="category" paragraph="2" substring="Religion">The codex states The Order of the Closed Eye is a religion, which aligns with the text.</violation> <violation entry="134" detail="timePeriod" paragraph="2" substring="The Ashfall">The codex states The Ashfall happened in the past, which aligns with the text.</violation> <violation entry="135" detail="category" paragraph="2" substring="History">The codex states The First Age is historical, which aligns with the text.</violation> <violation entry="146" detail="timePeriod" paragraph="2" substring="A thousand years before the Felling">The codex states The Riven War happened a thousand years before the Felling, which aligns with the text.</violation> <violation entry="147" detail="category" paragraph="2" substring="Prophecy">The codex states The Watcher’s Prophecy is a prophecy, which aligns with the text.</violation> <violation entry="148" detail="category" paragraph="2" substring="Tradition">The codex states The Tithe of Echoes is a tradition. The text confirms this.</violation> <violation entry="149" detail="category" paragraph="2" substring="Pallid Host">The codex states The Pallid Host is a group/faction, which aligns with the text.</violation> </violations> ```
created_at
"2026-02-21T22:36:30.315Z"
2/21/2026, 10:36:30 PM
model
"google/gemma-3-4b-it"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
319
moderation_latency
(null)
generation_time
28958
tokens_prompt
2614
tokens_completion
2457
native_tokens_prompt
2824
native_tokens_completion
2593
native_tokens_completion_images
(null)
native_tokens_reasoning
0
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"stop"
usage
0.0003204
router
(null)
provider_responses
0
endpoint_id
"d3de3bd4-81bc-48fb-924f-2a87b2a36e75"
id
"chatcmpl-Rsk0uSUKlbeLTrnavqRz0REq"
is_byok
false
latency
313
model_permaslug
"google/gemma-3-4b-it"
provider_name
"DeepInfra"
status
200
api_type
"completions"
id
"gen-1771713390-dJxzKlI6sjQudSu7LUWJ"
upstream_id
"chatcmpl-Rsk0uSUKlbeLTrnavqRz0REq"
total_cost
0.0003204
cache_discount
(null)
upstream_inference_cost
0
provider_name
"DeepInfra"
Evaluation details
Result
Evaluator
Details
Meta Data
0.00%
Correct "no violations" response
Response should contain <violations-none/> or equivalent phrasing
hasViolationTags
true
hasViolationsNoneTag
false
matchedPhrase
(null)
1.82%
No hallucinated violations
Response must not contain any <violation> tags
hasViolationTags
true
responseLength
9576
violationCount
54
0.9091%