"Eva wears round glasses per codex, but the passage says square glasses."
status
"missed"
7
expected
entry
"2005"
detail
"containerColor"
summary
"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
status
"matched"
matchedBy
entry
"2005"
detail
"color"
explanation
"The text describes Dream Dust stored in little red glass vials sealed with white wax, but the codex states it is stored in small cobalt-blue glass vials sealed with black wax."
paragraph
12
substring
"little red glass vials, sealed with white wax"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"little red glass vials"
locationAccurate
false
8
expected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
status
"missed"
nearMiss
parsed
entry
"2003"
detail
"material"
explanation
"The text calls the Irathi War Gauntlet a Fae-Forged Blade, but the gauntlet is not a Fae-Forged Blade and is made of blackened iron with glowing red runes, not moonsilver."
paragraph
12
substring
"Fae-Forged Blades"
reason
"entry mismatch: got \"2003\", expected \"2005\""
9
expected
entry
"6003"
detail
"master"
summary
"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
status
"missed"
10
expected
entry
"4422"
detail
"eyeColor"
summary
"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
status
"missed"
nearMiss
parsed
entry
"4412"
detail
"eyeColor"
explanation
"The text says pale blue eyes, but the codex says bright blue eyes for Aurora Carter."
paragraph
3
substring
"her pale blue eyes"
reason
"entry mismatch: got \"4412\", expected \"4422\""
11
expected
entry
"4422"
detail
"rosary"
summary
"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
status
"missed"
12
expected
entry
"7002"
detail
"signedYear"
summary
"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
status
"matched"
matchedBy
entry
"7002"
detail
"signedYear"
explanation
"The text says the Covenant of Separation was signed in 1066, but the codex states it was signed in 1215."
paragraph
14
substring
"the Covenant of Separation — the old treaty from 1066"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
13
expected
entry
"6004"
detail
"headquarters"
summary
"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
status
"missed"
14
expected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
status
"missed"
15
expected
entry
"4415"
detail
"eyeColor"
summary
"Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber."
status
"missed"
nearMiss
parsed
entry
"4412"
detail
"eyeColor"
explanation
"The text says pale blue eyes, but the codex says bright blue eyes for Aurora Carter."
paragraph
3
substring
"her pale blue eyes"
reason
"entry mismatch: got \"4412\", expected \"4415\""
16
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"
17
expected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
status
"missed"
nearMiss
parsed
entry
"4423"
detail
"missingFinger"
explanation
"Wei-Lin is described as having a dragon tattoo on his chest, but no mention of missing fingertip, contrasting with the codex that states he is missing the tip of his left little finger."
"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 described as warm at Aurora's hip, but the codex states it is always cold to the touch and made of moonsilver."
paragraph
12
substring
"moonsilver"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"bronze daggers, they say"
locationAccurate
false
19
expected
entry
"856"
detail
"currentLocation"
summary
"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
status
"missed"
20
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
"4412"
detail
"hair"
explanation
"The text says Aurora has waist-length silver hair, but the codex describes her hair as straight shoulder-length black."
paragraph
2
substring
"her waist-length silver hair"
reason
"entry mismatch: got \"4412\", expected \"4420\""
21
expected
entry
"6006"
detail
"logo"
summary
"Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle."
status
"missed"
22
expected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn stick per codex, but the passage says oak."
status
"missed"
23
expected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green."
status
"missed"
nearMiss
parsed
entry
"4412"
detail
"eyeColor"
explanation
"The text says pale blue eyes, but the codex says bright blue eyes for Aurora Carter."
paragraph
3
substring
"her pale blue eyes"
reason
"entry mismatch: got \"4412\", expected \"4419\""
24
expected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Maggie says 1066."
status
"matched"
matchedBy
entry
"6001"
detail
"foundingYear"
explanation
"Maggie states the Wardens were founded in 1066, but the codex says they were founded in 1215."
paragraph
16
substring
"The Wardens were founded in 1066"
location
extractedText
"[not found in paragraph 16]"
inBounds
true
expectedText
"The Wardens were founded in 1066"
locationAccurate
false
25
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"
nearMiss
parsed
entry
"4412"
detail
"scar"
explanation
"The text mentions Aurora having a scar on her left wrist, but the codex states her scar is on her left wrist from a childhood accident — contradicting the shape and context as merely stated."
paragraph
4
substring
"small crescent-shaped scar on her left wrist"
reason
"entry mismatch: got \"4412\", expected \"4417\""
26
expected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
status
"missed"
27
expected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue."
status
"missed"
nearMiss
parsed
entry
"4412"
detail
"eyeColor"
explanation
"The text says pale blue eyes, but the codex says bright blue eyes for Aurora Carter."
paragraph
3
substring
"her pale blue eyes"
reason
"entry mismatch: got \"4412\", expected \"4418\""
28
expected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
status
"matched"
matchedBy
entry
"2001"
detail
"chainMaterial"
explanation
"The Heartstone Pendant’s chain is described as golden, but the codex states it is made of silver chain."
paragraph
28
substring
"the golden chain"
location
extractedText
(null)
inBounds
false
expectedText
"the golden chain tangled in her fingers"
locationAccurate
(null)
29
expected
entry
"2001"
detail
"origin"
summary
"The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros."
status
"missed"
nearMiss
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
"The pendant is said to have a crimson stone, but the codex states its gemstone color is deep crimson, which is acceptable as a synonym; however, the text calls it golden chain, which contradicts the codex stating a silver chain."
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
status
"missed"
nearMiss
parsed
entry
"857"
detail
"ruler"
explanation
"The text says Prince Lilith is the ruler of the Crimson Court stirs, but the codex states the Crimson Court is led by a council of seven demon lords and associated with Princely circles like Dymas, not as governed by Prince Lilith alone. Also, Prince Lilith is tied to Luxuria in the codex, not Crimson Court."
paragraph
13
substring
"Prince Lilith"
reason
"entry mismatch: got \"857\", expected \"855\""
31
expected
entry
"2006"
detail
"temperature"
summary
"The Fae-Forged Blade is always cold per codex, but the passage again describes it as warm in a later paragraph."
status
"missed"
nearMiss
parsed
entry
"2006"
detail
"shape"
explanation
"The text refers to Fae-Forged Blades as \"bronze daggers,\" but the codex says they are \"slender, leaf-shaped daggers\" made of moonsilver."
"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
status
"missed"
falsePositiveDetails
0
parsed
entry
"4412"
detail
"eyeColor"
explanation
"The text says pale blue eyes, but the codex says bright blue eyes for Aurora Carter."
paragraph
3
substring
"her pale blue eyes"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"Her pale blue eyes, unblinking"
locationAccurate
false
closestExpected
entry
"4424"
detail
"eyeColor"
summary
"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason
"entry mismatch: got \"4412\", expected \"4424\""
1
parsed
entry
"4424"
detail
"eyeColor"
explanation
"The text says pale blue eyes for Isolde Varga, but the codex says pale lavender."
paragraph
3
substring
"pale blue eyes"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"Her pale blue eyes, unblinking"
locationAccurate
false
closestExpected
entry
"4424"
detail
"eyeColor"
summary
"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason
"paragraph mismatch, reported 3, expected 1"
2
parsed
entry
"4412"
detail
"scar"
explanation
"The text mentions Aurora having a scar on her left wrist, but the codex states her scar is on her left wrist from a childhood accident — contradicting the shape and context as merely stated."
paragraph
4
substring
"small crescent-shaped scar on her left wrist"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
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 codex, but the passage says right forearm."
reason
"entry mismatch: got \"4412\", expected \"4417\""
3
parsed
entry
"2006"
detail
"shape"
explanation
"The text refers to Fae-Forged Blades as \"bronze daggers,\" but the codex says they are \"slender, leaf-shaped daggers\" made of moonsilver."
paragraph
12
substring
"bronze daggers"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"the Fae-Forged Blade warm at her hip"
locationAccurate
false
closestExpected
entry
"2006"
detail
"temperature"
summary
"The Fae-Forged Blade is always cold per codex, but the passage says warm."
"The text calls the Irathi War Gauntlet a Fae-Forged Blade, but the gauntlet is not a Fae-Forged Blade and is made of blackened iron with glowing red runes, not moonsilver."
paragraph
12
substring
"Fae-Forged Blades"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
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 Isolde says white wax."
reason
"entry mismatch: got \"2003\", expected \"2005\""
5
parsed
entry
"857"
detail
"ruler"
explanation
"The text says Prince Lilith is the ruler of the Crimson Court stirs, but the codex states the Crimson Court is led by a council of seven demon lords and associated with Princely circles like Dymas, not as governed by Prince Lilith alone. Also, Prince Lilith is tied to Luxuria in the codex, not Crimson Court."
paragraph
13
substring
"Prince Lilith"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
closestExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason
"entry mismatch: got \"857\", expected \"855\""
6
parsed
entry
"853"
detail
"ruler"
explanation
"The text mentions Prince Belphegor's agents kidnapping humans, but Prince Belphegor is the ruler of Dymas (Gluttony), not Avaros (Greed), where helbound souls are contracted."
paragraph
13
substring
"Prince Belphegor"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
closestExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason
"entry mismatch: got \"853\", expected \"855\""
7
parsed
entry
"854"
detail
"secretRoom"
explanation
"The Veil Market's secret entry is described as a hidden back room accessible through a bookshelf at The Raven's Nest, but the codex states the Veil Market moves locations and is currently beneath an abandoned Tube station in Camden, accessed via a bone token."
paragraph
12
substring
"The Veil Market... accessible through a bookshelf"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
""
locationAccurate
false
8
parsed
entry
"6005"
detail
"employee"
explanation
"Yu-Fei Cheung's restaurant is named \"Golden Empress,\" but the codex refers to it as \"Golden Empress Restaurant,\" and Aurora works there as a part-time delivery person — consistent, no violation here."
paragraph
12
substring
"works here part-time as a delivery person"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
""
locationAccurate
false
9
parsed
entry
"4423"
detail
"missingFinger"
explanation
"Wei-Lin is described as having a dragon tattoo on his chest, but no mention of missing fingertip, contrasting with the codex that states he is missing the tip of his left little finger."
paragraph
8
substring
"missing the tip of his left little finger"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
false
closestExpected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
"The pendant is said to have a crimson stone, but the codex states its gemstone color is deep crimson, which is acceptable as a synonym; however, the text calls it golden chain, which contradicts the codex stating a silver chain."
paragraph
28
substring
"the Heartstone Pendant... glowing crimson stone"
status
"false_positive"
location
extractedText
(null)
inBounds
false
expectedText
"the golden chain tangled in her fingers"
locationAccurate
(null)
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
"The text says pale blue eyes, but the codex says bright blue eyes for Aurora Carter."
paragraph
3
substring
"her pale blue eyes"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"Her pale blue eyes, unblinking"
locationAccurate
false
closestExpected
entry
"4424"
detail
"eyeColor"
summary
"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason
"entry mismatch: got \"4412\", expected \"4424\""
1
parsed
entry
"4424"
detail
"eyeColor"
explanation
"The text says pale blue eyes for Isolde Varga, but the codex says pale lavender."
paragraph
3
substring
"pale blue eyes"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"Her pale blue eyes, unblinking"
locationAccurate
false
closestExpected
entry
"4424"
detail
"eyeColor"
summary
"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason
"paragraph mismatch, reported 3, expected 1"
2
parsed
entry
"4412"
detail
"scar"
explanation
"The text mentions Aurora having a scar on her left wrist, but the codex states her scar is on her left wrist from a childhood accident — contradicting the shape and context as merely stated."
paragraph
4
substring
"small crescent-shaped scar on her left wrist"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
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 codex, but the passage says right forearm."
reason
"entry mismatch: got \"4412\", expected \"4417\""
3
parsed
entry
"7002"
detail
"signedYear"
explanation
"The text says the Covenant of Separation was signed in 1066, but the codex states it was signed in 1215."
paragraph
14
substring
"the Covenant of Separation — the old treaty from 1066"
status
"true_positive"
matchedExpected
entry
"7002"
detail
"signedYear"
summary
"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
4
parsed
entry
"861"
detail
"parkLocation"
explanation
"The Fae Grove is said to be in Hyde Park, but the codex states it is in Richmond Park."
paragraph
1
substring
"Hyde Park"
status
"true_positive"
matchedExpected
entry
"861"
detail
"parkLocation"
summary
"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
location
extractedText
"Hyde Park"
inBounds
true
expectedText
"The Fae Grove in Hyde Park"
locationAccurate
true
5
parsed
entry
"2006"
detail
"shape"
explanation
"The text refers to Fae-Forged Blades as \"bronze daggers,\" but the codex says they are \"slender, leaf-shaped daggers\" made of moonsilver."
paragraph
12
substring
"bronze daggers"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"the Fae-Forged Blade warm at her hip"
locationAccurate
false
closestExpected
entry
"2006"
detail
"temperature"
summary
"The Fae-Forged Blade is always cold per codex, but the passage says warm."
"The text calls the Irathi War Gauntlet a Fae-Forged Blade, but the gauntlet is not a Fae-Forged Blade and is made of blackened iron with glowing red runes, not moonsilver."
paragraph
12
substring
"Fae-Forged Blades"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
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 Isolde says white wax."
reason
"entry mismatch: got \"2003\", expected \"2005\""
7
parsed
entry
"2006"
detail
"material"
explanation
"The Fae-Forged Blade is described as warm at Aurora's hip, but the codex states it is always cold to the touch and made of moonsilver."
paragraph
12
substring
"moonsilver"
status
"true_positive"
matchedExpected
entry
"2006"
detail
"material"
summary
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"bronze daggers, they say"
locationAccurate
false
8
parsed
entry
"2005"
detail
"color"
explanation
"The text describes Dream Dust stored in little red glass vials sealed with white wax, but the codex states it is stored in small cobalt-blue glass vials sealed with black wax."
paragraph
12
substring
"little red glass vials, sealed with white wax"
status
"true_positive"
matchedExpected
entry
"2005"
detail
"containerColor"
summary
"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
"little red glass vials"
locationAccurate
false
9
parsed
entry
"857"
detail
"ruler"
explanation
"The text says Prince Lilith is the ruler of the Crimson Court stirs, but the codex states the Crimson Court is led by a council of seven demon lords and associated with Princely circles like Dymas, not as governed by Prince Lilith alone. Also, Prince Lilith is tied to Luxuria in the codex, not Crimson Court."
paragraph
13
substring
"Prince Lilith"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
closestExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason
"entry mismatch: got \"857\", expected \"855\""
10
parsed
entry
"853"
detail
"ruler"
explanation
"The text mentions Prince Belphegor's agents kidnapping humans, but Prince Belphegor is the ruler of Dymas (Gluttony), not Avaros (Greed), where helbound souls are contracted."
paragraph
13
substring
"Prince Belphegor"
status
"false_positive"
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
closestExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason
"entry mismatch: got \"853\", expected \"855\""
11
parsed
entry
"854"
detail
"secretRoom"
explanation
"The Veil Market's secret entry is described as a hidden back room accessible through a bookshelf at The Raven's Nest, but the codex states the Veil Market moves locations and is currently beneath an abandoned Tube station in Camden, accessed via a bone token."
paragraph
12
substring
"The Veil Market... accessible through a bookshelf"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
""
locationAccurate
false
12
parsed
entry
"6005"
detail
"employee"
explanation
"Yu-Fei Cheung's restaurant is named \"Golden Empress,\" but the codex refers to it as \"Golden Empress Restaurant,\" and Aurora works there as a part-time delivery person — consistent, no violation here."
paragraph
12
substring
"works here part-time as a delivery person"
status
"false_positive"
location
extractedText
"[not found in paragraph 12]"
inBounds
true
expectedText
""
locationAccurate
false
13
parsed
entry
"6001"
detail
"foundingYear"
explanation
"Maggie states the Wardens were founded in 1066, but the codex says they were founded in 1215."
paragraph
16
substring
"The Wardens were founded in 1066"
status
"true_positive"
matchedExpected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Maggie says 1066."
location
extractedText
"[not found in paragraph 16]"
inBounds
true
expectedText
"The Wardens were founded in 1066"
locationAccurate
false
14
parsed
entry
"4423"
detail
"missingFinger"
explanation
"Wei-Lin is described as having a dragon tattoo on his chest, but no mention of missing fingertip, contrasting with the codex that states he is missing the tip of his left little finger."
paragraph
8
substring
"missing the tip of his left little finger"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
false
closestExpected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
"The pendant is said to have a crimson stone, but the codex states its gemstone color is deep crimson, which is acceptable as a synonym; however, the text calls it golden chain, which contradicts the codex stating a silver chain."
paragraph
28
substring
"the Heartstone Pendant... glowing crimson stone"
status
"false_positive"
location
extractedText
(null)
inBounds
false
expectedText
"the golden chain tangled in her fingers"
locationAccurate
(null)
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."