"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
status
"missed"
nearMiss
parsed
entry
"2003"
detail
"material"
explanation
"The Fae-Forged Blade is moonsilver."
paragraph
4
substring
"bronze daggers"
reason
"entry mismatch: got \"2003\", expected \"2006\""
19
expected
entry
"856"
detail
"currentLocation"
summary
"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
status
"matched"
matchedBy
entry
"856"
detail
"currentLocation"
explanation
"The Veil Market is under Camden."
paragraph
4
substring
"an abandoned station under Shoreditch"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"abandoned station under Shoreditch"
locationAccurate
false
20
expected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
status
"matched"
matchedBy
entry
"4420"
detail
"hair"
explanation
"Kai has dyed electric-blue hair in an undercut."
paragraph
5
substring
"his natural black hair"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
21
expected
entry
"6006"
detail
"logo"
summary
"Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle."
status
"missed"
22
expected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn stick per codex, but the passage says oak."
status
"matched"
matchedBy
entry
"4419"
detail
"walkingStick"
explanation
"She carries a blackthorn walking stick."
paragraph
5
substring
"Maggie rapped her oak walking stick"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"her oak walking stick"
locationAccurate
false
23
expected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green."
status
"matched"
matchedBy
entry
"4419"
detail
"eyeColor"
explanation
"Maggie's eyes are sharp grey."
paragraph
5
substring
"Her keen green eyes"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"Her keen green eyes"
locationAccurate
false
24
expected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Maggie says 1066."
status
"matched"
matchedBy
entry
"6001"
detail
"foundingYear"
explanation
"The Wardens were founded in 1215."
paragraph
5
substring
"The Wardens were founded in 1066"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"The Wardens were founded in 1066"
locationAccurate
false
25
expected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
status
"matched"
matchedBy
entry
"4417"
detail
"scar"
explanation
"The scar runs along his left forearm."
paragraph
6
substring
"His scarred right forearm"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"His scarred right forearm"
locationAccurate
false
26
expected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
status
"matched"
matchedBy
entry
"4417"
detail
"birthplace"
explanation
"Tomás was born in Seville, Spain."
paragraph
6
substring
"His Madrid accent"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"His Madrid accent"
locationAccurate
false
27
expected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue."
status
"matched"
matchedBy
entry
"4418"
detail
"eyeColor"
explanation
"Nyx's eyes are faintly glowing violet."
paragraph
6
substring
"their glowing blue eyes"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
28
expected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
status
"matched"
matchedBy
entry
"2001"
detail
"chainMaterial"
explanation
"The chain is silver."
paragraph
7
substring
"the golden chain tangled in her fingers"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
29
expected
entry
"2001"
detail
"origin"
summary
"The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros."
status
"matched"
matchedBy
entry
"2001"
detail
"origin"
explanation
"The Heartstone's origin is Dymas."
paragraph
8
substring
"The Heartstone was forged in Avaros"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"The Heartstone was forged in Avaros"
locationAccurate
false
30
expected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
status
"matched"
matchedBy
entry
"855"
detail
"ruler"
explanation
"Avaros is ruled by Prince Mammon, but this is not a contradiction—wait, actually it says \"Mammon breaks it\" which is correct ruler name, but let's check other details."
paragraph
4
substring
"Mammon breaks it daily in Avaros"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
31
expected
entry
"2006"
detail
"temperature"
summary
"The Fae-Forged Blade is always cold per codex, but the passage again describes it as warm in a later paragraph."
status
"missed"
32
expected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
status
"missed"
falsePositiveDetails
0
parsed
entry
"858"
detail
"cat"
explanation
"The Grove is in Richmond Park, not Hyde Park."
paragraph
1
substring
"The Fae Grove in Hyde Park"
status
"false_positive"
location
extractedText
"The Fae Grove in Hyde Park"
inBounds
true
expectedText
"The Fae Grove in Hyde Park"
locationAccurate
true
closestExpected
entry
"861"
detail
"parkLocation"
summary
"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason
"entry mismatch: got \"858\", expected \"861\""
1
parsed
entry
"4415"
detail
"species"
explanation
"Lucien's father is a demon; he is Half-Demon, not fully human."
paragraph
4
substring
"my father"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
closestExpected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
"Avaros is ruled by Prince Mammon, but this is not a contradiction—wait, actually it says \"Mammon breaks it\" which is correct ruler name, but let's check other details."
paragraph
4
substring
"Mammon breaks it daily in Avaros"
status
"true_positive"
matchedExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
11
parsed
entry
"853"
detail
"ruler"
explanation
"The Somnian Cult's master is Prince Asmodeus, not Prince Lilith (who rules Luxuria)."
paragraph
4
substring
"Prince Lilith"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
closestExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason
"entry mismatch: got \"853\", expected \"855\""
12
parsed
entry
"4421"
detail
"tattoo"
explanation
"The tattoo coils up her left arm."
paragraph
3
substring
"The flame serpent tattoo on her right arm"
status
"true_positive"
matchedExpected
entry
"4421"
detail
"tattoo"
summary
"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
13
parsed
entry
"4423"
detail
"hair"
explanation
"Codex lists a shaved head, not hair visible; also check tattoo."
paragraph
4
substring
"leaning against one of the standing stones with his arms folded"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
false
closestExpected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."