"Nyx has violet eyes per codex, but the passage says blue eyes."
status
"matched"
matchedBy
entry
"4418"
detail
"eyeColor"
explanation
"Nyx's eye color is described as faintly glowing violet in the codex, not glowing blue as the text states."
paragraph
1
substring
"Nyx drifted between stalls, their glowing blue eyes"
location
extractedText
"Nyx drifted between stalls, their glowing blue eyes"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
true
1
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
"Tomás's scar is on his left forearm, not right as stated in the text."
paragraph
1
substring
"his scarred right forearm"
location
extractedText
"his scarred right forearm"
inBounds
true
expectedText
"his scarred right forearm"
locationAccurate
true
2
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, not Madrid."
paragraph
1
substring
"his Madrid accent"
location
extractedText
"his Madrid accent"
inBounds
true
expectedText
"his Madrid accent"
locationAccurate
true
3
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's hair is dyed electric-blue in an undercut, not natural black."
paragraph
2
substring
"his natural black hair hidden under a beanie"
location
extractedText
"his natural black hair hidden under a beanie"
inBounds
true
expectedText
"his natural black hair"
locationAccurate
true
4
expected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn walking stick per codex, but the passage says oak."
status
"matched"
matchedBy
entry
"4419"
detail
"walkingStick"
explanation
"Maggie's walking stick is a blackthorn walking stick, not oak."
paragraph
3
substring
"Maggie tapped her oak walking stick"
location
extractedText
"Maggie tapped her oak walking stick"
inBounds
true
expectedText
"her oak walking stick"
locationAccurate
true
5
expected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green eyes."
status
"matched"
matchedBy
entry
"4419"
detail
"eyeColor"
explanation
"Maggie's eye color is sharp grey, not green."
paragraph
3
substring
"her keen green eyes"
location
extractedText
"her keen green eyes"
inBounds
true
expectedText
"her keen green eyes"
locationAccurate
true
6
expected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court HQ is in Dymas per codex, but Maggie says Avaros."
status
"matched"
matchedBy
entry
"6002"
detail
"headquarters"
explanation
"The Crimson Court's headquarters are in Dymas, Hel; Avaros is the realm of Greed ruled by Prince Mammon."
paragraph
3
substring
"Their base is in Avaros"
location
extractedText
"Their base is in Avaros"
inBounds
true
expectedText
"Their base is in Avaros"
locationAccurate
true
7
expected
entry
"2003"
detail
"material"
summary
"The Irathi War Gauntlet is blackened iron with red runes, but the passage says gleaming steel with blue runes."
status
"matched"
matchedBy
entry
"2003"
detail
"material"
explanation
"The Irathi War Gauntlet is made of blackened iron with glowing red runes, not gleaming steel with blue runes."
paragraph
4
substring
"gleaming steel with blue runes"
location
extractedText
"gleaming steel with blue runes"
inBounds
true
expectedText
"gleaming steel with blue runes"
locationAccurate
true
8
expected
entry
"2003"
detail
"origin"
summary
"The Gauntlet is from Irath, but the merchant says Dymas."
status
"matched"
matchedBy
entry
"2003"
detail
"origin"
explanation
"The Gauntlet originates from Irath, not Dymas."
paragraph
4
substring
"Straight from Dymas"
location
extractedText
"Straight from Dymas"
inBounds
true
expectedText
"Straight from Dymas"
locationAccurate
true
9
expected
entry
"2003"
detail
"creator"
summary
"The Irathi War Gauntlet was forged by a demon smith named Gorath per codex, but the merchant attributes it to Prince Abaddon."
status
"missed"
10
expected
entry
"2004"
detail
"faceMarkings"
summary
"The Veil Compass face is etched with sigils, but the passage says smooth and unmarked."
status
"matched"
matchedBy
entry
"2004"
detail
"faceMarkings"
explanation
"The Veil Compass's face is etched with protective sigils, so a smooth and unmarked face contradicts the codex."
paragraph
5
substring
"Veil Compass spinning wildly in her other hand, its face smooth and unmarked"
location
extractedText
"Veil Compass spinning wildly in her other hand, its face smooth and unmarked"
inBounds
true
expectedText
"its face smooth and unmarked"
locationAccurate
true
11
expected
entry
"2005"
detail
"containerColor"
summary
"Dream Dust vials are cobalt-blue per codex, but the passage says red glass."
status
"matched"
matchedBy
entry
"2005"
detail
"containerColor"
explanation
"Dream Dust is stored in small cobalt-blue glass vials sealed with black wax, not red glass sealed with white wax."
paragraph
5
substring
"the red glass container sealed with white wax"
location
extractedText
"the red glass container sealed with white wax"
inBounds
true
expectedText
"the red glass container"
locationAccurate
true
12
expected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but the passage says white wax."
status
"missed"
nearMiss
parsed
entry
"860"
detail
"sealMaterial"
explanation
"The codex states black wax seals items in Yasmin's Apothecary, not white."
paragraph
5
substring
"sealed with white wax"
reason
"entry mismatch: got \"860\", expected \"2005\""
13
expected
entry
"4421"
detail
"tattoo"
summary
"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
status
"matched"
matchedBy
entry
"4421"
detail
"tattoo"
explanation
"Yasmin's flame serpent tattoo coils up her left arm, not right."
paragraph
5
substring
"the flame serpent tattoo on her right arm writhing"
location
extractedText
"the flame serpent tattoo on her right arm writhing"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
true
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
"Father Cormac has pale blue eyes, not dark brown."
paragraph
6
substring
"his dark brown eyes troubled"
location
extractedText
"his dark brown eyes troubled"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
true
15
expected
entry
"6004"
detail
"headquarters"
summary
"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
status
"matched"
matchedBy
entry
"6004"
detail
"headquarters"
explanation
"Father Cormac's Parish Guard operates out of St. Brigid's Church in Islington, not a cathedral in Southwark."
paragraph
6
substring
"near our cathedral in Southwark"
location
extractedText
"near our cathedral in Southwark"
inBounds
true
expectedText
"our cathedral in Southwark"
locationAccurate
true
16
expected
entry
"6003"
detail
"master"
summary
"The Somnian Cult serves Prince Asmodeus per codex, but Cormac says Prince Lilith."
status
"matched"
matchedBy
entry
"6003"
detail
"master"
explanation
"The Somnian Cult is led by Prince Asmodeus; Prince Lilith rules Luxuria (Lust) which is unrelated."
paragraph
6
substring
"Prince Lilith demands more dreamers"
location
extractedText
"Prince Lilith demands more dreamers"
inBounds
true
expectedText
"Prince Lilith demands more dreamers"
locationAccurate
true
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
"Zhou Wei-Lin's dragon tattoo covers his entire back, not his chest."
paragraph
7
substring
"the dragon tattoo on his chest partially visible"
location
extractedText
"the dragon tattoo on his chest partially visible"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
true
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 Fae-Forged Blade is made of moonsilver, not bronze."
paragraph
7
substring
"bronze daggers that cut through wards"
location
extractedText
"bronze daggers that cut through wards"
inBounds
true
expectedText
"bronze daggers that cut through wards"
locationAccurate
true
falsePositiveDetails
0
parsed
entry
"856"
detail
"currentLocation"
explanation
"The codex states that the Veil Market is located in an abandoned Tube station beneath Camden, which is consistent, so no violation here. (No violation for this substring)"
paragraph
1
substring
"The Veil Market hummed beneath Camden"
status
"false_positive"
location
extractedText
"The Veil Market hummed beneath Camden"
inBounds
true
expectedText
""
locationAccurate
true
1
parsed
entry
"857"
detail
"ruler"
explanation
"Prince Abaddon rules Irath; Dymas is ruled by Prince Belphegor, so associating the Gauntlet with Dymas and Prince Abaddon is inconsistent."
paragraph
4
substring
"Prince Abaddon's finest work"
status
"false_positive"
location
extractedText
"Prince Abaddon's finest work"
inBounds
true
expectedText
""
locationAccurate
true
2
parsed
entry
"860"
detail
"sealMaterial"
explanation
"The codex states black wax seals items in Yasmin's Apothecary, not white."
paragraph
5
substring
"sealed with white wax"
status
"false_positive"
location
extractedText
"sealed with white wax"
inBounds
true
expectedText
"gleaming steel with blue runes"
locationAccurate
false
closestExpected
entry
"2003"
detail
"material"
summary
"The Irathi War Gauntlet is blackened iron with red runes, but the passage says gleaming steel with blue runes."
reason
"entry mismatch: got \"860\", expected \"2003\""
3
parsed
entry
"4422"
detail
"clericalCollar"
explanation
"The text does not mention if Father Cormac is wearing his clerical collar, but no contradiction arises here based only on crossing himself."
paragraph
6
substring
"Father Cormac crossed himself"
status
"false_positive"
location
extractedText
"Father Cormac crossed himself"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
false
closestExpected
entry
"4422"
detail
"eyeColor"
summary
"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
"The codex states that the Veil Market is located in an abandoned Tube station beneath Camden, which is consistent, so no violation here. (No violation for this substring)"
paragraph
1
substring
"The Veil Market hummed beneath Camden"
status
"false_positive"
location
extractedText
"The Veil Market hummed beneath Camden"
inBounds
true
expectedText
""
locationAccurate
true
1
parsed
entry
"4418"
detail
"eyeColor"
explanation
"Nyx's eye color is described as faintly glowing violet in the codex, not glowing blue as the text states."
paragraph
1
substring
"Nyx drifted between stalls, 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
"Nyx drifted between stalls, their glowing blue eyes"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
true
2
parsed
entry
"4417"
detail
"scar"
explanation
"Tomás's scar is on his left forearm, not right as stated in the text."
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
3
parsed
entry
"4417"
detail
"birthplace"
explanation
"Tomás was born in Seville, Spain, not Madrid."
paragraph
1
substring
"his Madrid accent"
status
"true_positive"
matchedExpected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
location
extractedText
"his Madrid accent"
inBounds
true
expectedText
"his Madrid accent"
locationAccurate
true
4
parsed
entry
"4420"
detail
"hair"
explanation
"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
5
parsed
entry
"4419"
detail
"walkingStick"
explanation
"Maggie's walking stick is a blackthorn walking stick, not oak."
paragraph
3
substring
"Maggie tapped 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
"Maggie tapped her oak walking stick"
inBounds
true
expectedText
"her oak walking stick"
locationAccurate
true
6
parsed
entry
"4419"
detail
"eyeColor"
explanation
"Maggie's eye color is 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
7
parsed
entry
"6002"
detail
"headquarters"
explanation
"The Crimson Court's headquarters are in Dymas, Hel; Avaros is the realm of Greed ruled by Prince Mammon."
paragraph
3
substring
"Their base is in Avaros"
status
"true_positive"
matchedExpected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court HQ is in Dymas per codex, but Maggie says Avaros."
location
extractedText
"Their base is in Avaros"
inBounds
true
expectedText
"Their base is in Avaros"
locationAccurate
true
8
parsed
entry
"2003"
detail
"material"
explanation
"The Irathi War Gauntlet is made of blackened iron with glowing red runes, not gleaming 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
9
parsed
entry
"2003"
detail
"origin"
explanation
"The 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
10
parsed
entry
"857"
detail
"ruler"
explanation
"Prince Abaddon rules Irath; Dymas is ruled by Prince Belphegor, so associating the Gauntlet with Dymas and Prince Abaddon is inconsistent."
paragraph
4
substring
"Prince Abaddon's finest work"
status
"false_positive"
location
extractedText
"Prince Abaddon's finest work"
inBounds
true
expectedText
""
locationAccurate
true
11
parsed
entry
"2004"
detail
"faceMarkings"
explanation
"The Veil Compass's face is etched with protective sigils, so a smooth and unmarked face contradicts the codex."
paragraph
5
substring
"Veil Compass spinning wildly in her other hand, 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
"Veil Compass spinning wildly in her other hand, its face smooth and unmarked"
inBounds
true
expectedText
"its face smooth and unmarked"
locationAccurate
true
12
parsed
entry
"2005"
detail
"containerColor"
explanation
"Dream Dust is stored in small cobalt-blue glass vials sealed with black wax, not red glass sealed with white wax."
paragraph
5
substring
"the 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
"the red glass container sealed with white wax"
inBounds
true
expectedText
"the red glass container"
locationAccurate
true
13
parsed
entry
"860"
detail
"sealMaterial"
explanation
"The codex states black wax seals items in Yasmin's Apothecary, not white."
paragraph
5
substring
"sealed with white wax"
status
"false_positive"
location
extractedText
"sealed with white wax"
inBounds
true
expectedText
"gleaming steel with blue runes"
locationAccurate
false
closestExpected
entry
"2003"
detail
"material"
summary
"The Irathi War Gauntlet is blackened iron with red runes, but the passage says gleaming steel with blue runes."
reason
"entry mismatch: got \"860\", expected \"2003\""
14
parsed
entry
"4421"
detail
"tattoo"
explanation
"Yasmin's flame serpent tattoo coils up her left arm, not right."
paragraph
5
substring
"the flame serpent tattoo on her right arm writhing"
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
"the flame serpent tattoo on her right arm writhing"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
true
15
parsed
entry
"4422"
detail
"eyeColor"
explanation
"Father Cormac has pale blue eyes, not dark brown."
paragraph
6
substring
"his dark brown eyes troubled"
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
"his dark brown eyes troubled"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
true
16
parsed
entry
"4422"
detail
"clericalCollar"
explanation
"The text does not mention if Father Cormac is wearing his clerical collar, but no contradiction arises here based only on crossing himself."
paragraph
6
substring
"Father Cormac crossed himself"
status
"false_positive"
location
extractedText
"Father Cormac crossed himself"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
false
closestExpected
entry
"4422"
detail
"eyeColor"
summary
"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."