NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-16-01KHHYJBCYVJEGJ4NCW3HD38HA
Run Details
Model:
GPT-4.1 Nano
Test:
Codex Violation Detection
Scenario:
Small codex (7 entries), long passage (734 words)
Duration:
9.6s
Cost:
$0.000585
Provider:
OpenAI
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="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4413" name="Silas Blackwood" aliases="Silas, Si, the Spymaster" pronouns="he/him" species="Human" storyRole="Mentor"> <eyeColor>hazel</eyeColor> <hair>grey-streaked auburn</hair> <height>6'1"</height> <age>58</age> <beard>neatly trimmed, matching his grey-streaked auburn hair</beard> <limp>slight limp in his left leg from an old knee injury</limp> <signetRing>silver signet ring, always worn on his right hand</signetRing> <description>Silas is a retired intelligence operative turned bar owner. He carries himself with quiet authority.</description> <backstory>Former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury. He opened "The Raven's Nest" bar in Soho as a front for his network of contacts.</backstory> </character> <location id="853" name="Dymas (Gluttony)" aliases="Dymas, gluttony, Dymasian" realm="Hel" sin="Gluttony"> <ruler>Prince Belphegor</ruler> <skyColor>warm amber</skyColor> <description>A place of excess and indulgence. Sprawling vineyards, orchards, and gardens provide exotic ingredients for master chefs — often helbound souls contracted from Earth. Grand feasts and culinary competitions are common.</description> </location> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> <lore id="7001" name="The Veil" aliases="the Veil, the Barrier, the Boundary" category="Cosmology"> <solsticeEffect>weakens during the winter solstice, strengthens during the summer solstice</solsticeEffect> <appearance>faint shimmering distortion visible only to those with supernatural sight</appearance> <monitoring>rift points (tears in the Veil) are monitored by the Wardens</monitoring> <description>The Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms.</description> </lore> <group id="6001" name="The Wardens of the Veil" aliases="the Wardens, Veil Wardens" type="Order" alignment="Lawful Neutral" headquarters="Westminster Catacombs, London"> <foundingYear>1215</foundingYear> <identificationMark>small iron pin in the shape of a closed eye</identificationMark> <mission>maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, enforcing the Covenant of Separation</mission> <description>An ancient order dedicated to guarding the boundary between worlds. They view the clique with suspicion.</description> </group> </codex> <text> The evening had settled over Soho like a damp cloth when Rory turned onto the narrow side street where The Raven's Nest waited. The bar's red neon sign — a stylized raven in flight — cast a ruddy glow on the wet pavement. She paused beneath it, catching her breath. The delivery run for the Golden Empress had taken longer than expected; a detour through Chinatown after a customer on Wardour Street had tipped her off about strange lights near an alley. Inside, the familiar smell of aged wood and whiskey enveloped her. The walls were lined with their usual gallery of old maps and black-and-white photographs — Silas had once told her each one marked a place where the Veil had torn. A handful of regulars nursed their drinks in the dim amber light, none of them aware of the bookshelf at the back that swung open on hidden hinges. Silas was behind the bar, as always. His grey-streaked auburn hair was neatly combed, and his dark brown beard had been freshly trimmed. The silver signet ring on his left hand caught the light as he set down a glass of single malt. "You look like you've seen a ghost," he said, his hazel eyes studying her from beneath bushy brows. "Worse." Rory slid onto a stool and placed the Heartstone Pendant on the counter. The golden chain pooled around the crimson stone, which pulsed with a faint inner warmth — a sure sign of a nearby rift. "Something's happening in Dymas. I crossed over through the rift point under the Thames — the one near Blackfriars. Prince Mammon's territory was... different. The vineyards were withered. The amber sky had turned grey." Silas picked up the pendant, turning it in his fingers. "This is Dymasian work, no doubt. But if the realm is decaying, that means Belphegor's grip is weakening." He set it down carefully. "The Wardens will need to know." "The Wardens," Rory repeated bitterly. She'd never trusted the order — not since learning they'd been watching the clique for months. Their founding in 1066 gave them centuries of institutional arrogance. "They'll just lock it in the Westminster Catacombs and pretend it doesn't exist." "Perhaps." Silas limped around the bar, favoring his right leg, and pulled a battered notebook from beneath the counter. "But we can't handle this alone. The Veil is thinning — I can feel it. The summer solstice is three days away, and the rift activity is spiking. Eva's research at the British Museum might give us a timeline." Rory nodded, absently running a finger over the crescent-shaped scar on her right wrist — a childhood accident she rarely thought about anymore. "I'll talk to Eva tomorrow. She's been cross-referencing Veil fluctuations with historical rift data." "Good." Silas poured her a whiskey. "And Rory — be careful. If the Crimson Court gets wind of what you found, they'll come for the pendant. Their reach extends far beyond Hel." She took the glass and held it up to the light. Through the amber liquid, the Heartstone seemed to glow brighter. Somewhere beneath the city, she knew, the Veil was humming — growing weaker with every hour, preparing for its annual collapse at the height of midsummer. The door chimed. A woman stepped in — sharp jaw, closely cropped blonde hair, brown eyes that swept the room with practised precision. Detective Harlow Quinn. She wore plain clothes tonight, but her posture was unmistakable. "Miss Carter," Quinn said, sliding onto the stool beside her. "We need to talk." Rory palmed the pendant off the bar and into her pocket in one smooth motion. "About what?" "About the disappearance of three people near Blackfriars last Tuesday. All last seen near the river." Quinn's gaze didn't waver. "Your delivery route passes right through there, doesn't it?" "I deliver Cantonese food, Detective. Not people." Quinn almost smiled. Almost. "I'm sure. But my partner — DS Morris — he disappeared investigating something similar, three years ago. Same area. I don't believe in coincidences." She stood, straightening her jacket. "I'll be in touch." After she left, Silas let out a slow breath. "She's getting close." "Too close," Rory agreed. She finished her whiskey and stood. "I need to see Eva. If the Veil breaks before the solstice, none of this will matter." She stepped out into the Soho night, the pendant warm against her hip, and headed east toward Brick Lane — toward answers she wasn't sure she wanted to find. </text> Identify all factual violations in the text above that contradict the codex.
Model response
Messages
Meta
AI
<violation entry="4412" detail="eyeColor" paragraph="4" substring="Silas had once told her each one marked a place where the Veil had torn" />The codex states Silas's eyeColor is hazel, but the text implies he told her about the torn places in a way that suggests he could describe or understand the vision, which is consistent; no violation. <violation entry="4412" detail="hair" paragraph="4" substring="grey-streaked auburn hair" />The codex describes Silas's hair as grey-streaked auburn, aligning with the text. <violation entry="4412" detail="signetRing" paragraph="4" substrings="silver signet ring" />The codex states Silas wears a silver signet ring on his right hand, but here it is described as "on his left hand." Contradiction. <violation entry="4413" detail="eyeColor" paragraph="4" substring="hazel" />The codex states Silas's eyeColor is hazel; this matches the text. <violation entry="4413" detail="height" paragraph="4" substring="6'1\"" />The codex states Silas's height is 6'1"; consistent with the text. <violation entry="4413" detail="beard" paragraph="4" substring="matching his grey-streaked auburn hair" />The codex states Silas has a neatly trimmed beard, matching his grey-streaked auburn hair, consistent. <violation entry="853" detail="name" paragraph="8" substring="Dymas (Gluttony)" />The codex states the location is called "Dymas (Gluttony)"; in the text, it is called "Dymas" with the alias "Dymas, gluttony, Dymasian" — both compatible; no violation. <violation entry="853" detail="ruler" paragraph="8" substring="Prince Belphegor" />The codex states the ruler of Dymas (Gluttony) is Prince Belphegor; matches the text. <violation entry="854" detail="name" paragraph="9" substring="The Raven's Nest" />The location's name, "The Raven's Nest," matches the codex. <violation entry="854" detail="realm" paragraph="9" substring="Earth" />The codex states "The Raven's Nest" is in "Earth" — consistent. <violation entry="2001" detail="origin" paragraph="11" substring="Dymas" />The artifact origin in the codex is "Dymas"; matching the text. <violation entry="2001" detail="gemstoneColor" paragraph="11" substring="deep crimson" />The pendant's gemstone is described as deep crimson, compatible. <violation entry="2001" detail="size" paragraph="11" substring="roughly the size of a thumbnail" />Matches the codex description. <violation entry="7001" detail="category" paragraph="12" substring="Cosmology" />The Veil is categorized as "Cosmology" in the codex; matches. <violation entry="6001" detail="headquarters" paragraph="13" substring="Westminster Catacombs, London" />The codex states the headquarters of the Wardens is in Westminster Catacombs, London; aligns with the text. <violation entry="6001" detail="foundingYear" paragraph="13" substring="1215" />The foundingYear matches the codex. <violation entry="6001" detail="identificationMark" paragraph="13" substring="small iron pin in the shape of a closed eye" />The description matches the codex; no violation. <violation entry="6001" detail="mission" paragraph="13" substring="maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, enforcing the Covenant of Separation" />The mission matches the codex. <violations-none/>
created_at
"2026-02-16T00:46:02.70998+00:00"
2/16/2026, 12:46:02 AM
model
"openai/gpt-4.1-nano-2025-04-14"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
577
moderation_latency
(null)
generation_time
9442
tokens_prompt
2677
tokens_completion
849
native_tokens_prompt
2411
native_tokens_completion
859
native_tokens_completion_images
0
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
"completed"
usage
0.0005847
router
(null)
provider_responses
0
id
"resp_03a2198ca49a66b301699268c002708195b157ec5040c7e93f"
status
200
is_byok
false
latency
163
endpoint_id
"9251cee5-5503-4be9-9439-7ae21ff062a3"
provider_name
"OpenAI"
model_permaslug
"openai/gpt-4.1-nano-2025-04-14"
api_type
"completions"
id
"gen-1771202751-NMNhlhOOnOAG86MFahPf"
upstream_id
"resp_03a2198ca49a66b301699268c002708195b157ec5040c7e93f"
total_cost
0.0005847
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
0.0000%
Accuracy (recall)
Matched: 3/9, FP: 14
parsedCount
17
matched
3
total
9
falsePositives
14
expectedDetails
0
expected
entry
"854"
detail
"signColor"
summary
"The Raven's Nest has a green neon sign per codex, but the passage says red."
status
"missed"
nearMiss
parsed
entry
"854"
detail
"name"
explanation
""
paragraph
9
substring
"The Raven's Nest"
reason
"detail mismatch: got \"name\", expected \"signColor\""
1
expected
entry
"4413"
detail
"beard"
summary
"Silas's beard matches his grey-streaked auburn hair per codex, but the passage says dark brown beard."
status
"matched"
matchedBy
entry
"4413"
detail
"beard"
explanation
""
paragraph
4
substring
"matching his grey-streaked auburn hair"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"his dark brown beard had been freshly trimmed"
locationAccurate
false
2
expected
entry
"4413"
detail
"signetRing"
summary
"Silas wears his signet ring on his right hand per codex, but the passage says left hand."
status
"missed"
nearMiss
parsed
entry
"4412"
detail
"signetRing"
explanation
""
paragraph
4
reason
"entry mismatch: got \"4412\", expected \"4413\""
3
expected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
status
"missed"
nearMiss
parsed
entry
"2001"
detail
"origin"
explanation
""
paragraph
11
substring
"Dymas"
reason
"detail mismatch: got \"origin\", expected \"chainMaterial\""
4
expected
entry
"853"
detail
"ruler"
summary
"Dymas is Prince Belphegor's realm per codex, but Rory refers to it as Prince Mammon's territory."
status
"matched"
matchedBy
entry
"853"
detail
"ruler"
explanation
""
paragraph
8
substring
"Prince Belphegor"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"Prince Mammon's territory"
locationAccurate
false
5
expected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
status
"matched"
matchedBy
entry
"6001"
detail
"foundingYear"
explanation
""
paragraph
13
substring
"1215"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
6
expected
entry
"4413"
detail
"limp"
summary
"Silas limps on his left leg per codex, but the passage says right leg."
status
"missed"
nearMiss
parsed
entry
"4413"
detail
"eyeColor"
explanation
""
paragraph
4
substring
"hazel"
reason
"detail mismatch: got \"eyeColor\", expected \"limp\""
7
expected
entry
"7001"
detail
"solsticeEffect"
summary
"The Veil weakens during the winter solstice per codex, but the passage says summer solstice."
status
"missed"
nearMiss
parsed
entry
"7001"
detail
"category"
explanation
""
paragraph
12
substring
"Cosmology"
reason
"detail mismatch: got \"category\", expected \"solsticeEffect\""
8
expected
entry
"4412"
detail
"scar"
summary
"Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist."
status
"missed"
nearMiss
parsed
entry
"4412"
detail
"eyeColor"
explanation
""
paragraph
4
substring
"Silas had once told her each one marked a place where the Veil had torn"
reason
"detail mismatch: got \"eyeColor\", expected \"scar\""
falsePositiveDetails
0
parsed
entry
"4412"
detail
"eyeColor"
explanation
""
paragraph
4
substring
"Silas had once told her each one marked a place where the Veil had torn"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"the crescent-shaped scar on her right wrist"
locationAccurate
false
closestExpected
entry
"4412"
detail
"scar"
summary
"Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist."
reason
"detail mismatch: got \"eyeColor\", expected \"scar\""
1
parsed
entry
"4412"
detail
"hair"
explanation
""
paragraph
4
substring
"grey-streaked auburn hair"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"the crescent-shaped scar on her right wrist"
locationAccurate
false
closestExpected
entry
"4412"
detail
"scar"
summary
"Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist."
reason
"detail mismatch: got \"hair\", expected \"scar\""
2
parsed
entry
"4412"
detail
"signetRing"
explanation
""
paragraph
4
status
"false_positive"
location
extractedText
(null)
inBounds
false
expectedText
"the crescent-shaped scar on her right wrist"
locationAccurate
(null)
closestExpected
entry
"4412"
detail
"scar"
summary
"Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist."
reason
"detail mismatch: got \"signetRing\", expected \"scar\""
3
parsed
entry
"4413"
detail
"eyeColor"
explanation
""
paragraph
4
substring
"hazel"
status
"false_positive"
location
extractedText
"hazel"
inBounds
true
expectedText
"his dark brown beard had been freshly trimmed"
locationAccurate
false
closestExpected
entry
"4413"
detail
"beard"
summary
"Silas's beard matches his grey-streaked auburn hair per codex, but the passage says dark brown beard."
reason
"detail mismatch: got \"eyeColor\", expected \"beard\""
4
parsed
entry
"853"
detail
"name"
explanation
""
paragraph
8
substring
"Dymas (Gluttony)"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"Prince Mammon's territory"
locationAccurate
false
closestExpected
entry
"853"
detail
"ruler"
summary
"Dymas is Prince Belphegor's realm per codex, but Rory refers to it as Prince Mammon's territory."
reason
"detail mismatch: got \"name\", expected \"ruler\""
5
parsed
entry
"854"
detail
"name"
explanation
""
paragraph
9
substring
"The Raven's Nest"
status
"false_positive"
location
extractedText
"[not found in paragraph 9]"
inBounds
true
expectedText
"The bar's red neon sign"
locationAccurate
false
closestExpected
entry
"854"
detail
"signColor"
summary
"The Raven's Nest has a green neon sign per codex, but the passage says red."
reason
"detail mismatch: got \"name\", expected \"signColor\""
6
parsed
entry
"854"
detail
"realm"
explanation
""
paragraph
9
substring
"Earth"
status
"false_positive"
location
extractedText
"[not found in paragraph 9]"
inBounds
true
expectedText
"The bar's red neon sign"
locationAccurate
false
closestExpected
entry
"854"
detail
"signColor"
summary
"The Raven's Nest has a green neon sign per codex, but the passage says red."
reason
"detail mismatch: got \"realm\", expected \"signColor\""
7
parsed
entry
"2001"
detail
"origin"
explanation
""
paragraph
11
substring
"Dymas"
status
"false_positive"
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"The golden chain pooled around the crimson stone"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason
"detail mismatch: got \"origin\", expected \"chainMaterial\""
8
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
""
paragraph
11
substring
"deep crimson"
status
"false_positive"
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"The golden chain pooled around the crimson stone"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason
"detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\""
9
parsed
entry
"2001"
detail
"size"
explanation
""
paragraph
11
substring
"roughly the size of a thumbnail"
status
"false_positive"
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"The golden chain pooled around the crimson stone"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason
"detail mismatch: got \"size\", expected \"chainMaterial\""
10
parsed
entry
"7001"
detail
"category"
explanation
""
paragraph
12
substring
"Cosmology"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"The summer solstice is three days away, and the rift activity is spiking"
locationAccurate
false
closestExpected
entry
"7001"
detail
"solsticeEffect"
summary
"The Veil weakens during the winter solstice per codex, but the passage says summer solstice."
reason
"detail mismatch: got \"category\", expected \"solsticeEffect\""
11
parsed
entry
"6001"
detail
"headquarters"
explanation
""
paragraph
13
substring
"Westminster Catacombs, London"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
closestExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
reason
"detail mismatch: got \"headquarters\", expected \"foundingYear\""
12
parsed
entry
"6001"
detail
"identificationMark"
explanation
""
paragraph
13
substring
"small iron pin in the shape of a closed eye"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
closestExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
reason
"detail mismatch: got \"identificationMark\", expected \"foundingYear\""
13
parsed
entry
"6001"
detail
"mission"
explanation
""
paragraph
13
substring
"maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, enforcing the Covenant of Separation"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
closestExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
reason
"detail mismatch: got \"mission\", expected \"foundingYear\""
17.6471%
Precision
True positives: 3/17
totalReported
17
truePositives
3
reportedDetails
0
parsed
entry
"4412"
detail
"eyeColor"
explanation
""
paragraph
4
substring
"Silas had once told her each one marked a place where the Veil had torn"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"the crescent-shaped scar on her right wrist"
locationAccurate
false
closestExpected
entry
"4412"
detail
"scar"
summary
"Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist."
reason
"detail mismatch: got \"eyeColor\", expected \"scar\""
1
parsed
entry
"4412"
detail
"hair"
explanation
""
paragraph
4
substring
"grey-streaked auburn hair"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"the crescent-shaped scar on her right wrist"
locationAccurate
false
closestExpected
entry
"4412"
detail
"scar"
summary
"Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist."
reason
"detail mismatch: got \"hair\", expected \"scar\""
2
parsed
entry
"4412"
detail
"signetRing"
explanation
""
paragraph
4
status
"false_positive"
location
extractedText
(null)
inBounds
false
expectedText
"the crescent-shaped scar on her right wrist"
locationAccurate
(null)
closestExpected
entry
"4412"
detail
"scar"
summary
"Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist."
reason
"detail mismatch: got \"signetRing\", expected \"scar\""
3
parsed
entry
"4413"
detail
"eyeColor"
explanation
""
paragraph
4
substring
"hazel"
status
"false_positive"
location
extractedText
"hazel"
inBounds
true
expectedText
"his dark brown beard had been freshly trimmed"
locationAccurate
false
closestExpected
entry
"4413"
detail
"beard"
summary
"Silas's beard matches his grey-streaked auburn hair per codex, but the passage says dark brown beard."
reason
"detail mismatch: got \"eyeColor\", expected \"beard\""
4
parsed
entry
"4413"
detail
"beard"
explanation
""
paragraph
4
substring
"matching his grey-streaked auburn hair"
status
"true_positive"
matchedExpected
entry
"4413"
detail
"beard"
summary
"Silas's beard matches his grey-streaked auburn hair per codex, but the passage says dark brown beard."
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"his dark brown beard had been freshly trimmed"
locationAccurate
false
5
parsed
entry
"853"
detail
"name"
explanation
""
paragraph
8
substring
"Dymas (Gluttony)"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"Prince Mammon's territory"
locationAccurate
false
closestExpected
entry
"853"
detail
"ruler"
summary
"Dymas is Prince Belphegor's realm per codex, but Rory refers to it as Prince Mammon's territory."
reason
"detail mismatch: got \"name\", expected \"ruler\""
6
parsed
entry
"853"
detail
"ruler"
explanation
""
paragraph
8
substring
"Prince Belphegor"
status
"true_positive"
matchedExpected
entry
"853"
detail
"ruler"
summary
"Dymas is Prince Belphegor's realm per codex, but Rory refers to it as Prince Mammon's territory."
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"Prince Mammon's territory"
locationAccurate
false
7
parsed
entry
"854"
detail
"name"
explanation
""
paragraph
9
substring
"The Raven's Nest"
status
"false_positive"
location
extractedText
"[not found in paragraph 9]"
inBounds
true
expectedText
"The bar's red neon sign"
locationAccurate
false
closestExpected
entry
"854"
detail
"signColor"
summary
"The Raven's Nest has a green neon sign per codex, but the passage says red."
reason
"detail mismatch: got \"name\", expected \"signColor\""
8
parsed
entry
"854"
detail
"realm"
explanation
""
paragraph
9
substring
"Earth"
status
"false_positive"
location
extractedText
"[not found in paragraph 9]"
inBounds
true
expectedText
"The bar's red neon sign"
locationAccurate
false
closestExpected
entry
"854"
detail
"signColor"
summary
"The Raven's Nest has a green neon sign per codex, but the passage says red."
reason
"detail mismatch: got \"realm\", expected \"signColor\""
9
parsed
entry
"2001"
detail
"origin"
explanation
""
paragraph
11
substring
"Dymas"
status
"false_positive"
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"The golden chain pooled around the crimson stone"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason
"detail mismatch: got \"origin\", expected \"chainMaterial\""
10
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
""
paragraph
11
substring
"deep crimson"
status
"false_positive"
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"The golden chain pooled around the crimson stone"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason
"detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\""
11
parsed
entry
"2001"
detail
"size"
explanation
""
paragraph
11
substring
"roughly the size of a thumbnail"
status
"false_positive"
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"The golden chain pooled around the crimson stone"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason
"detail mismatch: got \"size\", expected \"chainMaterial\""
12
parsed
entry
"7001"
detail
"category"
explanation
""
paragraph
12
substring
"Cosmology"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"The summer solstice is three days away, and the rift activity is spiking"
locationAccurate
false
closestExpected
entry
"7001"
detail
"solsticeEffect"
summary
"The Veil weakens during the winter solstice per codex, but the passage says summer solstice."
reason
"detail mismatch: got \"category\", expected \"solsticeEffect\""
13
parsed
entry
"6001"
detail
"headquarters"
explanation
""
paragraph
13
substring
"Westminster Catacombs, London"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
closestExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
reason
"detail mismatch: got \"headquarters\", expected \"foundingYear\""
14
parsed
entry
"6001"
detail
"foundingYear"
explanation
""
paragraph
13
substring
"1215"
status
"true_positive"
matchedExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
15
parsed
entry
"6001"
detail
"identificationMark"
explanation
""
paragraph
13
substring
"small iron pin in the shape of a closed eye"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
closestExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
reason
"detail mismatch: got \"identificationMark\", expected \"foundingYear\""
16
parsed
entry
"6001"
detail
"mission"
explanation
""
paragraph
13
substring
"maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, enforcing the Covenant of Separation"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Their founding in 1066"
locationAccurate
false
closestExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Rory thinks 1066."
reason
"detail mismatch: got \"mission\", expected \"foundingYear\""
50.0000%
Structural validity
Parsed: 17, Well-formed: 8.5/17
parsedCount
17
wellFormedScore
8.5
22.5490%