"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
status
"missed"
nearMiss
parsed
entry
"2101"
detail
"tattoo"
explanation
"The codex states Yasmin's flame serpent tattoo coils up her **left arm**, not right."
paragraph
6
substring
"the flame serpent tattoo on her right arm"
reason
"entry mismatch: got \"2101\", expected \"4421\""
14
expected
entry
"4422"
detail
"eyeColor"
summary
"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
status
"matched"
matchedBy
entry
"4422"
detail
"eyeColor"
explanation
"The codex states Father Cormac's eyes are **pale blue**, not dark brown."
paragraph
7
substring
"his dark brown eyes"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
false
15
expected
entry
"6004"
detail
"headquarters"
summary
"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
status
"missed"
16
expected
entry
"6003"
detail
"master"
summary
"The Somnian Cult serves Prince Asmodeus per codex, but Cormac says Prince Lilith."
status
"missed"
17
expected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
status
"matched"
matchedBy
entry
"4423"
detail
"tattoo"
explanation
"The codex states Zhou Wei-Lin's dragon tattoo covers his **entire back**, not just his chest."
paragraph
8
substring
"the dragon tattoo on his chest partially visible"
location
extractedText
(null)
inBounds
false
expectedText
"the dragon tattoo on his chest"
locationAccurate
(null)
18
expected
entry
"2006"
detail
"material"
summary
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
status
"matched"
matchedBy
entry
"2006"
detail
"material"
explanation
"The codex states the Fae-Forged Blade is made of **moonsilver**, not bronze."
paragraph
8
substring
"bronze daggers"
location
extractedText
(null)
inBounds
false
expectedText
"bronze daggers that cut through wards"
locationAccurate
(null)
falsePositiveDetails
0
parsed
entry
"857"
detail
"ruler"
explanation
"The codex states **Prince Abaddon** rules **Irath**, but the Irathi War Gauntlet is from **Irath**, not Dymas (which is ruled by Prince Belphegor). The merchant's claim is factually correct, but the origin is misstated in the text's phrasing (\"straight from Dymas\" is misleading)."
paragraph
4
substring
"Prince Abaddon's finest work"
status
"false_positive"
location
extractedText
"Prince Abaddon's finest work"
inBounds
true
expectedText
""
locationAccurate
true
1
parsed
entry
"2005"
detail
"containerColor"
explanation
"The codex states Dream Dust is stored in **cobalt-blue glass vials**, not red."
paragraph
6
substring
"red glass container"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"sealed with white wax"
locationAccurate
false
closestExpected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but the passage says white wax."
"The codex states Yasmin's flame serpent tattoo coils up her **left arm**, not right."
paragraph
6
substring
"the flame serpent tattoo on her right arm"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
closestExpected
entry
"4421"
detail
"tattoo"
summary
"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason
"entry mismatch: got \"2101\", expected \"4421\""
3
parsed
entry
"859"
detail
"ruler"
explanation
"The codex states **Prince Asmodeus** rules **Somnia**, not Prince Lilith (who rules **Luxuria**)."
paragraph
7
substring
"Prince Lilith demands more dreamers"
status
"false_positive"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
""
locationAccurate
false
4
parsed
entry
"862"
detail
"ruler"
explanation
"The codex states **Prince Lilith** rules **Luxuria**, but the Somnian Cult is based in **Somnia** (ruled by Prince Asmodeus). The text conflates the realms."
"The codex states Nyx's eyes are \"faintly glowing violet,\" not blue."
paragraph
1
substring
"their glowing blue eyes"
status
"true_positive"
matchedExpected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue eyes."
location
extractedText
"their glowing blue eyes"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
true
1
parsed
entry
"4417"
detail
"scar"
explanation
"The codex states Tomás has a scar running along his **left** forearm."
paragraph
1
substring
"his scarred right forearm"
status
"true_positive"
matchedExpected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
location
extractedText
"his scarred right forearm"
inBounds
true
expectedText
"his scarred right forearm"
locationAccurate
true
2
parsed
entry
"4420"
detail
"hair"
explanation
"The codex states Kai's hair is **dyed electric-blue** in an undercut, not natural black."
paragraph
2
substring
"his natural black hair hidden under a beanie"
status
"true_positive"
matchedExpected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
location
extractedText
"his natural black hair hidden under a beanie"
inBounds
true
expectedText
"his natural black hair"
locationAccurate
true
3
parsed
entry
"4419"
detail
"walkingStick"
explanation
"The codex states Maggie uses a **blackthorn** walking stick, not oak."
paragraph
3
substring
"her oak walking stick"
status
"true_positive"
matchedExpected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn walking stick per codex, but the passage says oak."
location
extractedText
"her oak walking stick"
inBounds
true
expectedText
"her oak walking stick"
locationAccurate
true
4
parsed
entry
"4419"
detail
"eyeColor"
explanation
"The codex states Maggie's eyes are **sharp grey**, not green."
paragraph
3
substring
"her keen green eyes"
status
"true_positive"
matchedExpected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green eyes."
location
extractedText
"her keen green eyes"
inBounds
true
expectedText
"her keen green eyes"
locationAccurate
true
5
parsed
entry
"2003"
detail
"material"
explanation
"The codex states the Irathi War Gauntlet is made of **blackened iron with glowing red runes**, not steel with blue runes."
paragraph
4
substring
"gleaming steel with blue runes"
status
"true_positive"
matchedExpected
entry
"2003"
detail
"material"
summary
"The Irathi War Gauntlet is blackened iron with red runes, but the passage says gleaming steel with blue runes."
location
extractedText
"gleaming steel with blue runes"
inBounds
true
expectedText
"gleaming steel with blue runes"
locationAccurate
true
6
parsed
entry
"2003"
detail
"origin"
explanation
"The codex states the Irathi War Gauntlet originates from **Irath**, not Dymas."
paragraph
4
substring
"straight from Dymas"
status
"true_positive"
matchedExpected
entry
"2003"
detail
"origin"
summary
"The Gauntlet is from Irath, but the merchant says Dymas."
location
extractedText
"straight from Dymas"
inBounds
true
expectedText
"Straight from Dymas"
locationAccurate
true
7
parsed
entry
"857"
detail
"ruler"
explanation
"The codex states **Prince Abaddon** rules **Irath**, but the Irathi War Gauntlet is from **Irath**, not Dymas (which is ruled by Prince Belphegor). The merchant's claim is factually correct, but the origin is misstated in the text's phrasing (\"straight from Dymas\" is misleading)."
paragraph
4
substring
"Prince Abaddon's finest work"
status
"false_positive"
location
extractedText
"Prince Abaddon's finest work"
inBounds
true
expectedText
""
locationAccurate
true
8
parsed
entry
"2004"
detail
"faceMarkings"
explanation
"The codex states the Veil Compass has a face **etched with protective sigils**, not smooth and unmarked."
paragraph
5
substring
"its face smooth and unmarked"
status
"true_positive"
matchedExpected
entry
"2004"
detail
"faceMarkings"
summary
"The Veil Compass face is etched with sigils, but the passage says smooth and unmarked."
location
extractedText
"its face smooth and unmarked"
inBounds
true
expectedText
"its face smooth and unmarked"
locationAccurate
true
9
parsed
entry
"2005"
detail
"color"
explanation
"The codex states Dream Dust is stored in **cobalt-blue glass vials**, sealed with **black wax**, not red glass with white wax."
paragraph
6
substring
"red glass container sealed with white wax"
status
"true_positive"
matchedExpected
entry
"2005"
detail
"containerColor"
summary
"Dream Dust vials are cobalt-blue per codex, but the passage says red glass."
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"the red glass container"
locationAccurate
false
10
parsed
entry
"2005"
detail
"containerColor"
explanation
"The codex states Dream Dust is stored in **cobalt-blue glass vials**, not red."
paragraph
6
substring
"red glass container"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"sealed with white wax"
locationAccurate
false
closestExpected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but the passage says white wax."
"The codex states Yasmin's flame serpent tattoo coils up her **left arm**, not right."
paragraph
6
substring
"the flame serpent tattoo on her right arm"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
closestExpected
entry
"4421"
detail
"tattoo"
summary
"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason
"entry mismatch: got \"2101\", expected \"4421\""
12
parsed
entry
"4422"
detail
"eyeColor"
explanation
"The codex states Father Cormac's eyes are **pale blue**, not dark brown."
paragraph
7
substring
"his dark brown eyes"
status
"true_positive"
matchedExpected
entry
"4422"
detail
"eyeColor"
summary
"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
false
13
parsed
entry
"859"
detail
"ruler"
explanation
"The codex states **Prince Asmodeus** rules **Somnia**, not Prince Lilith (who rules **Luxuria**)."
paragraph
7
substring
"Prince Lilith demands more dreamers"
status
"false_positive"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
""
locationAccurate
false
14
parsed
entry
"862"
detail
"ruler"
explanation
"The codex states **Prince Lilith** rules **Luxuria**, but the Somnian Cult is based in **Somnia** (ruled by Prince Asmodeus). The text conflates the realms."
paragraph
7
substring
"Prince Lilith demands more dreamers"
status
"false_positive"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
""
locationAccurate
false
15
parsed
entry
"4423"
detail
"tattoo"
explanation
"The codex states Zhou Wei-Lin's dragon tattoo covers his **entire back**, not just his chest."
paragraph
8
substring
"the dragon tattoo on his chest partially visible"
status
"true_positive"
matchedExpected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
location
extractedText
(null)
inBounds
false
expectedText
"the dragon tattoo on his chest"
locationAccurate
(null)
16
parsed
entry
"2006"
detail
"material"
explanation
"The codex states the Fae-Forged Blade is made of **moonsilver**, not bronze."
paragraph
8
substring
"bronze daggers"
status
"true_positive"
matchedExpected
entry
"2006"
detail
"material"
summary
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."