"Nyx has violet eyes per codex, but the passage says blue eyes."
status
"matched"
matchedBy
entry
"4418"
detail
"eyeColor"
explanation
"The codex says Nyx has faintly glowing violet eyes, not blue."
paragraph
1
substring
"glowing blue eyes"
location
extractedText
"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
"The codex says Tomás has a scar along his left forearm, not his right."
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
"The codex says 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
"The codex says Kai has dyed electric-blue hair, not natural black."
paragraph
2
substring
"his natural black hair"
location
extractedText
"his natural black hair"
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
"The codex says Maggie uses a blackthorn walking stick, not oak."
paragraph
3
substring
"oak walking stick"
location
extractedText
"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
"The codex says Maggie has sharp grey eyes, not green."
paragraph
3
substring
"keen green eyes"
location
extractedText
"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
"missed"
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 codex says the Irathi War Gauntlet is made of blackened iron with glowing red runes, not steel with blue runes."
paragraph
5
substring
"gleaming steel with blue runes"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"gleaming steel with blue runes"
locationAccurate
false
8
expected
entry
"2003"
detail
"origin"
summary
"The Gauntlet is from Irath, but the merchant says Dymas."
status
"missed"
nearMiss
parsed
entry
"2001"
detail
"origin"
explanation
"The codex says the Irathi War Gauntlet originates from Irath, not Dymas."
paragraph
5
substring
"Straight from Dymas"
reason
"entry mismatch: got \"2001\", expected \"2003\""
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 codex says the Veil Compass's face is etched with protective sigils, not smooth and unmarked."
paragraph
6
substring
"its face smooth and unmarked"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"its face smooth and unmarked"
locationAccurate
false
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
"The codex says Dream Dust is stored in small cobalt-blue glass vials, not red."
paragraph
6
substring
"red glass container"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"the red glass container"
locationAccurate
false
12
expected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but the passage says white wax."
status
"matched"
matchedBy
entry
"2005"
detail
"sealMaterial"
explanation
"The codex says Dream Dust vials are sealed with black wax, not white wax."
paragraph
6
substring
"sealed with white wax"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"sealed with white wax"
locationAccurate
false
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
"The codex says Yasmin's flame serpent tattoo coils up her left arm, not her right."
paragraph
6
substring
"the flame serpent tattoo on her right arm"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
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 says Father Cormac has pale blue eyes, 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
"matched"
matchedBy
entry
"6004"
detail
"headquarters"
explanation
"The codex says the Parish Guard is headquartered at St. Brigid's Church, Islington, not a cathedral in Southwark."
paragraph
7
substring
"near our cathedral in Southwark"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"our cathedral in Southwark"
locationAccurate
false
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
"Prince Lilith rules Luxuria, while the Somnian Cult serves Prince Asmodeus of Somnia."
paragraph
7
substring
"Prince Lilith demands more dreamers"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"Prince Lilith demands more dreamers"
locationAccurate
false
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 says Zhou Wei-Lin has a dragon tattoo covering his entire back, not his chest."
paragraph
8
substring
"the dragon tattoo on his chest"
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 says Fae-Forged Blades are 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
"2001"
detail
"origin"
explanation
"The codex says the Irathi War Gauntlet originates from Irath, not Dymas."
paragraph
5
substring
"Straight from Dymas"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"Straight from Dymas"
locationAccurate
false
closestExpected
entry
"2003"
detail
"origin"
summary
"The Gauntlet is from Irath, but the merchant says Dymas."
reason
"entry mismatch: got \"2001\", expected \"2003\""
1
parsed
entry
"857"
detail
"ruler"
explanation
"The codex says Prince Abaddon rules Irath, but the text attributes the gauntlet to him while claiming it is from Dymas (which is ruled by Prince Belphegor). Also the gauntlet is from Irath."
"The codex says Nyx has faintly glowing violet eyes, not blue."
paragraph
1
substring
"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
"glowing blue eyes"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
true
1
parsed
entry
"4417"
detail
"scar"
explanation
"The codex says Tomás has a scar along his left forearm, not his right."
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
"4417"
detail
"birthplace"
explanation
"The codex says 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
3
parsed
entry
"4420"
detail
"hair"
explanation
"The codex says Kai has dyed electric-blue hair, not natural black."
paragraph
2
substring
"his natural black hair"
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"
inBounds
true
expectedText
"his natural black hair"
locationAccurate
true
4
parsed
entry
"4419"
detail
"eyeColor"
explanation
"The codex says Maggie has sharp grey eyes, not green."
paragraph
3
substring
"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
"keen green eyes"
inBounds
true
expectedText
"her keen green eyes"
locationAccurate
true
5
parsed
entry
"4419"
detail
"walkingStick"
explanation
"The codex says Maggie uses a blackthorn walking stick, not oak."
paragraph
3
substring
"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
"oak walking stick"
inBounds
true
expectedText
"her oak walking stick"
locationAccurate
true
6
parsed
entry
"2003"
detail
"material"
explanation
"The codex says the Irathi War Gauntlet is made of blackened iron with glowing red runes, not steel with blue runes."
paragraph
5
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
"[not found in paragraph 5]"
inBounds
true
expectedText
"gleaming steel with blue runes"
locationAccurate
false
7
parsed
entry
"2001"
detail
"origin"
explanation
"The codex says the Irathi War Gauntlet originates from Irath, not Dymas."
paragraph
5
substring
"Straight from Dymas"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"Straight from Dymas"
locationAccurate
false
closestExpected
entry
"2003"
detail
"origin"
summary
"The Gauntlet is from Irath, but the merchant says Dymas."
reason
"entry mismatch: got \"2001\", expected \"2003\""
8
parsed
entry
"857"
detail
"ruler"
explanation
"The codex says Prince Abaddon rules Irath, but the text attributes the gauntlet to him while claiming it is from Dymas (which is ruled by Prince Belphegor). Also the gauntlet is from Irath."
paragraph
5
substring
"Prince Abaddon's finest work"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
""
locationAccurate
false
9
parsed
entry
"2004"
detail
"faceMarkings"
explanation
"The codex says the Veil Compass's face is etched with protective sigils, not smooth and unmarked."
paragraph
6
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
"[not found in paragraph 6]"
inBounds
true
expectedText
"its face smooth and unmarked"
locationAccurate
false
10
parsed
entry
"2005"
detail
"containerColor"
explanation
"The codex says Dream Dust is stored in small cobalt-blue glass vials, not red."
paragraph
6
substring
"red glass container"
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
11
parsed
entry
"2005"
detail
"sealMaterial"
explanation
"The codex says Dream Dust vials are sealed with black wax, not white wax."
paragraph
6
substring
"sealed with white wax"
status
"true_positive"
matchedExpected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but the passage says white wax."
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"sealed with white wax"
locationAccurate
false
12
parsed
entry
"4421"
detail
"tattoo"
explanation
"The codex says Yasmin's flame serpent tattoo coils up her left arm, not her right."
paragraph
6
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 6]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
13
parsed
entry
"4422"
detail
"eyeColor"
explanation
"The codex says Father Cormac has pale blue eyes, 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
14
parsed
entry
"6004"
detail
"headquarters"
explanation
"The codex says the Parish Guard is headquartered at St. Brigid's Church, Islington, not a cathedral in Southwark."
paragraph
7
substring
"near our cathedral in Southwark"
status
"true_positive"
matchedExpected
entry
"6004"
detail
"headquarters"
summary
"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"our cathedral in Southwark"
locationAccurate
false
15
parsed
entry
"6003"
detail
"master"
explanation
"Prince Lilith rules Luxuria, while the Somnian Cult serves Prince Asmodeus of Somnia."
paragraph
7
substring
"Prince Lilith demands more dreamers"
status
"true_positive"
matchedExpected
entry
"6003"
detail
"master"
summary
"The Somnian Cult serves Prince Asmodeus per codex, but Cormac says Prince Lilith."
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"Prince Lilith demands more dreamers"
locationAccurate
false
16
parsed
entry
"4423"
detail
"tattoo"
explanation
"The codex says Zhou Wei-Lin has a dragon tattoo covering his entire back, not his chest."
paragraph
8
substring
"the dragon tattoo on his chest"
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)
17
parsed
entry
"2006"
detail
"material"
explanation
"The codex says Fae-Forged Blades are 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."