"The Veil Market is beneath Camden per the codex, but the passage says Shoreditch."
status
"missed"
1
expected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per the codex, but the passage says blue eyes."
status
"matched"
matchedBy
entry
"4418"
detail
"eyeColor"
explanation
"The text describes Nyx’s eyes as faintly glowing violet, but the codex states they are faintly glowing violet."
paragraph
1
substring
"faintly glowing violet"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
2
expected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per the codex, but the passage says right forearm."
status
"matched"
matchedBy
entry
"4417"
detail
"scar"
explanation
"The text describes Tomás’ scar as running along his left forearm, but the codex states it’s on his left forearm."
paragraph
1
substring
"left forearm"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"his scarred right forearm"
locationAccurate
false
3
expected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per the codex, but the passage implies Madrid via his accent."
status
"missed"
nearMiss
parsed
entry
"4417"
detail
"medallion"
explanation
"The text states Tomás wears a Saint Christopher medallion around his neck, but the codex states he wears a Saint Christopher medallion around his neck."
"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
status
"matched"
matchedBy
entry
"4420"
detail
"hairColor"
explanation
"The text describes Kai’s hair as electric-blue, but the codex states it’s dyed electric-blue in an undercut."
paragraph
1
substring
"electric-blue"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"His natural black hair"
locationAccurate
false
5
expected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has sharp grey eyes per the codex, but the passage says green eyes."
status
"missed"
nearMiss
parsed
entry
"4415"
detail
"eyeColor"
explanation
"The text describes Lucien’s eyes as heterochromatic — one amber, one black, but the codex states they are heterochromatic — one amber, one black."
paragraph
1
substring
"heterochromatic"
reason
"entry mismatch: got \"4415\", expected \"4419\""
6
expected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court is headquartered in Dymas per the codex, but Maggie says their base is in Avaros."
status
"missed"
7
expected
entry
"2003"
detail
"material"
summary
"The Irathi War Gauntlet is blackened iron with red runes per the codex, but the passage says gleaming steel with blue runes."
status
"missed"
8
expected
entry
"2003"
detail
"origin"
summary
"The Irathi War Gauntlet is from Irath per the codex, but the merchant says it's from Dymas."
status
"missed"
9
expected
entry
"2003"
detail
"creator"
summary
"The Irathi War Gauntlet was forged by a demon smith named Gorath per the 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 per the codex, but the passage says the face is smooth and unmarked."
status
"missed"
falsePositiveDetails
0
parsed
entry
"4412"
detail
"species"
explanation
"The text states Aurora is Human, while the codex states she is Half-Demon."
paragraph
1
substring
"Human"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
1
parsed
entry
"4413"
detail
"hairColor"
explanation
"The text describes Silas' hair as grey-streaked auburn, but the codex states it is 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 the codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4413\", expected \"4420\""
2
parsed
entry
"4413"
detail
"limp"
explanation
"The text states Silas has a limp in his left leg, but the codex states it’s in his old knee injury."
paragraph
1
substring
"left leg"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
3
parsed
entry
"4413"
detail
"signetRing"
explanation
"The text states Silas wears his signet ring on his right hand, but the codex states it's on his right hand."
paragraph
1
substring
"right hand"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
4
parsed
entry
"4414"
detail
"glasses"
explanation
"The text states Eva wears round glasses, but the codex states she wears wire-rimmed spectacles."
paragraph
1
substring
"round glasses"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
5
parsed
entry
"4414"
detail
"nervousHabit"
explanation
"The text states Eva tucks her hair behind her left ear, but the codex states it's behind her left ear."
paragraph
1
substring
"left ear"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
6
parsed
entry
"4415"
detail
"eyeColor"
explanation
"The text describes Lucien’s eyes as heterochromatic — one amber, one black, but the codex states they are heterochromatic — one amber, one black."
paragraph
1
substring
"heterochromatic"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
closestExpected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason
"entry mismatch: got \"4415\", expected \"4418\""
7
parsed
entry
"4415"
detail
"dress"
explanation
"The text states Lucien wears tailored charcoal suits, but the codex states he wears tailored charcoal suits."
paragraph
1
substring
"tailored charcoal suits"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
8
parsed
entry
"4416"
detail
"hairColor"
explanation
"The text describes Detective Quinn’s hair as salt-and-pepper, but the codex states it’s cropped salt-and-pepper."
paragraph
1
substring
"salt-and-pepper"
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 the codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4416\", expected \"4420\""
9
parsed
entry
"4417"
detail
"medallion"
explanation
"The text states Tomás wears a Saint Christopher medallion around his neck, but the codex states he wears a Saint Christopher medallion around his neck."
paragraph
1
substring
"neck"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"his scarred right forearm"
locationAccurate
false
closestExpected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per the codex, but the passage says right forearm."
"The text states Aurora is Human, while the codex states she is Half-Demon."
paragraph
1
substring
"Human"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
1
parsed
entry
"4413"
detail
"hairColor"
explanation
"The text describes Silas' hair as grey-streaked auburn, but the codex states it is 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 the codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4413\", expected \"4420\""
2
parsed
entry
"4413"
detail
"limp"
explanation
"The text states Silas has a limp in his left leg, but the codex states it’s in his old knee injury."
paragraph
1
substring
"left leg"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
3
parsed
entry
"4413"
detail
"signetRing"
explanation
"The text states Silas wears his signet ring on his right hand, but the codex states it's on his right hand."
paragraph
1
substring
"right hand"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
4
parsed
entry
"4414"
detail
"glasses"
explanation
"The text states Eva wears round glasses, but the codex states she wears wire-rimmed spectacles."
paragraph
1
substring
"round glasses"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
5
parsed
entry
"4414"
detail
"nervousHabit"
explanation
"The text states Eva tucks her hair behind her left ear, but the codex states it's behind her left ear."
paragraph
1
substring
"left ear"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
6
parsed
entry
"4415"
detail
"eyeColor"
explanation
"The text describes Lucien’s eyes as heterochromatic — one amber, one black, but the codex states they are heterochromatic — one amber, one black."
paragraph
1
substring
"heterochromatic"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
closestExpected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason
"entry mismatch: got \"4415\", expected \"4418\""
7
parsed
entry
"4415"
detail
"dress"
explanation
"The text states Lucien wears tailored charcoal suits, but the codex states he wears tailored charcoal suits."
paragraph
1
substring
"tailored charcoal suits"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
""
locationAccurate
false
8
parsed
entry
"4416"
detail
"hairColor"
explanation
"The text describes Detective Quinn’s hair as salt-and-pepper, but the codex states it’s cropped salt-and-pepper."
paragraph
1
substring
"salt-and-pepper"
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 the codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4416\", expected \"4420\""
9
parsed
entry
"4417"
detail
"scar"
explanation
"The text describes Tomás’ scar as running along his left forearm, but the codex states it’s on his left forearm."
paragraph
1
substring
"left forearm"
status
"true_positive"
matchedExpected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per the codex, but the passage says right forearm."
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"his scarred right forearm"
locationAccurate
false
10
parsed
entry
"4417"
detail
"medallion"
explanation
"The text states Tomás wears a Saint Christopher medallion around his neck, but the codex states he wears a Saint Christopher medallion around his neck."
paragraph
1
substring
"neck"
status
"false_positive"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"his scarred right forearm"
locationAccurate
false
closestExpected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per the codex, but the passage says right forearm."