"Nyx has violet eyes per codex, but the passage says blue eyes."
status
"missed"
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
"missed"
2
expected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
status
"missed"
3
expected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
status
"missed"
nearMiss
parsed
entry
"4413"
detail
"hairColor"
explanation
"The codex states Silas' hair is 'grey-streaked auburn', while the text states it's 'grey-streaked auburn'"
paragraph
1
substring
"grey-streaked auburn"
reason
"entry mismatch: got \"4413\", expected \"4420\""
4
expected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn walking stick per codex, but the passage says oak."
status
"missed"
5
expected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green eyes."
status
"missed"
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
"missed"
8
expected
entry
"2003"
detail
"origin"
summary
"The Gauntlet is from Irath, but the merchant says Dymas."
status
"missed"
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
"missed"
11
expected
entry
"2005"
detail
"containerColor"
summary
"Dream Dust vials are cobalt-blue per codex, but the passage says red glass."
status
"missed"
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"
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
"missed"
14
expected
entry
"4422"
detail
"eyeColor"
summary
"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
status
"missed"
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
"missed"
18
expected
entry
"2006"
detail
"material"
summary
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
status
"missed"
falsePositiveDetails
0
parsed
entry
"860"
detail
"locationName"
explanation
"The codex states the Veil Market is located in Camden, not Chinatown."
paragraph
1
substring
"Chinatown, London"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
1
parsed
entry
"861"
detail
"locationName"
explanation
"The codex states Isolde's grove is in Richmond Park, but the text states it’s in ‘Westminster Catacombs, London’."
paragraph
1
substring
"Richmond Park"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
2
parsed
entry
"853"
detail
"skyColor"
explanation
"The codex states Dymas has an amber sky, while the text describes Dymas as having a ‘warm amber’ sky."
paragraph
1
substring
"warm amber"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
3
parsed
entry
"856"
detail
"currentLocation"
explanation
"The codex states the Veil Market’s current location is ‘abandoned Tube station beneath Camden’, while the text explicitly states it is located ‘beneath Camden’."
paragraph
1
substring
"abandoned Tube station"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
4
parsed
entry
"7001"
detail
"solsticeEffect"
explanation
"The codex states the Veil weakens during the winter solstice, while the text implies strengthening during the summer solstice."
paragraph
1
substring
"weakens during the winter solstice"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
5
parsed
entry
"854"
detail
"signColor"
explanation
"The codex states the Raven’s Nest has a ‘distinctive green neon sign’ above the entrance, while the text describes the sign as ‘distinctive black neon sign’."
paragraph
1
substring
"distinctive green neon sign"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
6
parsed
entry
"4413"
detail
"hairColor"
explanation
"The codex states Silas' hair is 'grey-streaked auburn', while the text states it's 'grey-streaked auburn'"
paragraph
1
substring
"grey-streaked auburn"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"his natural black hair"
locationAccurate
false
closestExpected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4413\", expected \"4420\""
7
parsed
entry
"4413"
detail
"beard"
explanation
"The codex states Silas has a \"neatly trimmed, matching\" beard, describing the color, while the text says “neatly trimmed, matching his grey-streaked auburn hair.”"
paragraph
1
substring
"neatly trimmed, matching"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
8
parsed
entry
"4413"
detail
"limp"
explanation
"The codex describes Silas having a “slight limp in his left leg from an old knee injury,” while the text describes the limp in his “left leg.”"
paragraph
1
substring
"slight limp"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
9
parsed
entry
"4413"
detail
"signetRing"
explanation
"The codex states Silas wears his signet ring on his “right hand,” while the text says “right hand”."
"The codex states the Veil Market is located in Camden, not Chinatown."
paragraph
1
substring
"Chinatown, London"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
1
parsed
entry
"861"
detail
"locationName"
explanation
"The codex states Isolde's grove is in Richmond Park, but the text states it’s in ‘Westminster Catacombs, London’."
paragraph
1
substring
"Richmond Park"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
2
parsed
entry
"853"
detail
"skyColor"
explanation
"The codex states Dymas has an amber sky, while the text describes Dymas as having a ‘warm amber’ sky."
paragraph
1
substring
"warm amber"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
3
parsed
entry
"856"
detail
"currentLocation"
explanation
"The codex states the Veil Market’s current location is ‘abandoned Tube station beneath Camden’, while the text explicitly states it is located ‘beneath Camden’."
paragraph
1
substring
"abandoned Tube station"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
4
parsed
entry
"7001"
detail
"solsticeEffect"
explanation
"The codex states the Veil weakens during the winter solstice, while the text implies strengthening during the summer solstice."
paragraph
1
substring
"weakens during the winter solstice"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
5
parsed
entry
"854"
detail
"signColor"
explanation
"The codex states the Raven’s Nest has a ‘distinctive green neon sign’ above the entrance, while the text describes the sign as ‘distinctive black neon sign’."
paragraph
1
substring
"distinctive green neon sign"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
6
parsed
entry
"4413"
detail
"hairColor"
explanation
"The codex states Silas' hair is 'grey-streaked auburn', while the text states it's 'grey-streaked auburn'"
paragraph
1
substring
"grey-streaked auburn"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"his natural black hair"
locationAccurate
false
closestExpected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4413\", expected \"4420\""
7
parsed
entry
"4413"
detail
"beard"
explanation
"The codex states Silas has a \"neatly trimmed, matching\" beard, describing the color, while the text says “neatly trimmed, matching his grey-streaked auburn hair.”"
paragraph
1
substring
"neatly trimmed, matching"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
8
parsed
entry
"4413"
detail
"limp"
explanation
"The codex describes Silas having a “slight limp in his left leg from an old knee injury,” while the text describes the limp in his “left leg.”"
paragraph
1
substring
"slight limp"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
9
parsed
entry
"4413"
detail
"signetRing"
explanation
"The codex states Silas wears his signet ring on his “right hand,” while the text says “right hand”."