"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 face is etched with protective sigils, not smooth/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
"Somnian Dream Dust is stored in cobalt-blue glass vials, not red."
paragraph
7
substring
"red glass container"
location
extractedText
"[not found in paragraph 7]"
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 vials are sealed with black wax, not white."
paragraph
7
substring
"sealed with white wax"
location
extractedText
"[not found in paragraph 7]"
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
"Yasmin's tattoo is on her left arm, not right."
paragraph
7
substring
"flame serpent tattoo on her right arm"
location
extractedText
"[not found in paragraph 7]"
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
"Father Cormac has pale blue eyes, not dark brown."
paragraph
8
substring
"dark brown eyes"
location
extractedText
(null)
inBounds
false
expectedText
"his dark brown eyes troubled"
locationAccurate
(null)
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 Parish Guard headquarters is St. Brigid's Church, Islington, not Southwark."
paragraph
8
substring
"our cathedral in Southwark"
location
extractedText
(null)
inBounds
false
expectedText
"our cathedral in Southwark"
locationAccurate
(null)
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; the Somnian Cult master is Prince Asmodeus."
paragraph
8
substring
"Prince Lilith demands more dreamers"
location
extractedText
(null)
inBounds
false
expectedText
"Prince Lilith demands more dreamers"
locationAccurate
(null)
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 chest."
paragraph
9
substring
"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 Fae-Forged Blade is made of moonsilver, not bronze."
paragraph
10
substring
"bronze daggers"
location
extractedText
(null)
inBounds
false
expectedText
"bronze daggers that cut through wards"
locationAccurate
(null)
falsePositiveDetails
0
parsed
entry
"857"
detail
"ruler"
explanation
"Prince Abaddon rules Irath, but the Gauntlet is from Irath; however the merchant says \"Prince Abaddon's finest work\" — Prince Abaddon is correct for Irath, but the claim it's from Dymas is wrong. Actually this is consistent with ruler, but combined with origin it's wrong. Wait: The text says \"Straight from Dymas\" and \"Prince Abaddon\". Dymas ruler is Prince Belphegor. So attributing Abaddon to Dymas is wrong."
paragraph
5
substring
"Prince Abaddon"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
""
locationAccurate
false
1
parsed
entry
"4413"
detail
"signetRing"
explanation
"Actually need to check: The text says the merchant claims it's from Dymas and Prince Abaddon's work. Dymas ruler is Belphegor; Abaddon is ruler of Irath. So this is a violation of location ruler."
paragraph
5
substring
"Prince Abaddon"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
""
locationAccurate
false
2
parsed
entry
"4423"
detail
"missingFinger"
explanation
"Actually this is correct per codex, no violation. Need to check: text doesn't mention missing finger, so okay."
paragraph
9
substring
"missing the tip of his left little finger"
status
"false_positive"
location
extractedText
(null)
inBounds
false
expectedText
"the dragon tattoo on his chest"
locationAccurate
(null)
closestExpected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
"Yasmin's flame serpent tattoo is on her left arm."
paragraph
5
substring
"flame serpent tattoo on her right arm"
status
"false_positive"
location
extractedText
"flame serpent tattoo on her right arm"
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."
reason
"entry mismatch: got \"4421\", expected \"4423\""
25
parsed
entry
"4422"
detail
"eyeColor"
explanation
"Father Cormac has pale blue eyes."
paragraph
6
substring
"dark brown eyes"
status
"false_positive"
location
extractedText
"dark brown eyes"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
closestExpected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue eyes."
reason
"entry mismatch: got \"4422\", expected \"4418\""
26
parsed
entry
"6004"
detail
"headquarters"
explanation
"The Parish Guard is headquartered at St. Brigid's Church in Islington."
paragraph
6
substring
"our cathedral in Southwark"
status
"false_positive"
location
extractedText
"our cathedral in Southwark"
inBounds
true
expectedText
"Their base is in Avaros"
locationAccurate
false
closestExpected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court HQ is in Dymas per codex, but Maggie says Avaros."
reason
"entry mismatch: got \"6004\", expected \"6002\""
27
parsed
entry
"4422"
detail
"description"
explanation
"Wait, Father Cormac is assigned to St. Brigid's in Islington; but the text says \"our cathedral in Southwark\". That violates both his assignment and the Parish Guard HQ. I can use entry 4422 detail \"backstory\"? Actually backstory mentions seminary in Cork. Not relevant. Better to use entry 4422 detail \"description\"? No direct attribute for parish location except backstory says \"assigned to St. Brigid's parish in Islington\". So maybe use entry 4422 and detail could be \"backstory\"? That's not ideal. Actually the codex for character has a description and backstory; the location of parish is in description: \"assigned to St. Brigid's parish in Islington\". So I can say entry=\"4422\" detail=\"description\" but that's broad. Instead, I can rely on group entry 6004 for headquarters, and character entry 4422 doesn't have a specific parish attribute besides description. Maybe skip the character-specific violation for parish and just flag group HQ. But the text says \"our cathedral in Southwark\". The Parish Guard's headquarters is St. Brigid's Church, Islington (entry 6004). Also Father Cormac is assigned to Islington (entry 4422 description). To be safe, I'll include both but use appropriate details.\n\nActually for entry 4422, the description says \"assigned to St. Brigid's parish in Islington\". So violation against description is okay, but \"detail\" should be exact name. The element is"
paragraph
6
substring
"St. Brigid's parish in Islington"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
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."
"Nyx has faintly glowing violet eyes per the codex, 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
"Tomás has a scar on his left forearm, not right."
paragraph
2
substring
"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
"[not found in paragraph 2]"
inBounds
true
expectedText
"his scarred right forearm"
locationAccurate
false
2
parsed
entry
"4420"
detail
"hair"
explanation
"Kai's hair is dyed electric-blue in an undercut, not natural black."
paragraph
3
substring
"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
"[not found in paragraph 3]"
inBounds
true
expectedText
"his natural black hair"
locationAccurate
false
3
parsed
entry
"4419"
detail
"eyeColor"
explanation
"Maggie has sharp grey eyes, not green."
paragraph
4
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
"[not found in paragraph 4]"
inBounds
true
expectedText
"her keen green eyes"
locationAccurate
false
4
parsed
entry
"4419"
detail
"walkingStick"
explanation
"Maggie's walking stick is blackthorn, not oak."
paragraph
4
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
"[not found in paragraph 4]"
inBounds
true
expectedText
"her oak walking stick"
locationAccurate
false
5
parsed
entry
"6002"
detail
"headquarters"
explanation
"The Crimson Court's headquarters is Dymas, not Avaros."
paragraph
4
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
"[not found in paragraph 4]"
inBounds
true
expectedText
"Their base is in Avaros"
locationAccurate
false
6
parsed
entry
"2003"
detail
"material"
explanation
"The Irathi War Gauntlet is blackened iron with glowing red runes, not steel/blue."
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
"2003"
detail
"origin"
explanation
"The Gauntlet originates from Irath, not Dymas."
paragraph
5
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
"[not found in paragraph 5]"
inBounds
true
expectedText
"Straight from Dymas"
locationAccurate
false
8
parsed
entry
"857"
detail
"ruler"
explanation
"Prince Abaddon rules Irath, but the Gauntlet is from Irath; however the merchant says \"Prince Abaddon's finest work\" — Prince Abaddon is correct for Irath, but the claim it's from Dymas is wrong. Actually this is consistent with ruler, but combined with origin it's wrong. Wait: The text says \"Straight from Dymas\" and \"Prince Abaddon\". Dymas ruler is Prince Belphegor. So attributing Abaddon to Dymas is wrong."
paragraph
5
substring
"Prince Abaddon"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
""
locationAccurate
false
9
parsed
entry
"4413"
detail
"signetRing"
explanation
"Actually need to check: The text says the merchant claims it's from Dymas and Prince Abaddon's work. Dymas ruler is Belphegor; Abaddon is ruler of Irath. So this is a violation of location ruler."
paragraph
5
substring
"Prince Abaddon"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
""
locationAccurate
false
10
parsed
entry
"2004"
detail
"faceMarkings"
explanation
"The Veil Compass face is etched with protective sigils, not smooth/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
11
parsed
entry
"4421"
detail
"tattoo"
explanation
"Yasmin's tattoo is on her left arm, not right."
paragraph
7
substring
"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 7]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
12
parsed
entry
"2005"
detail
"containerColor"
explanation
"Somnian Dream Dust is stored in cobalt-blue glass vials, not red."
paragraph
7
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 7]"
inBounds
true
expectedText
"the red glass container"
locationAccurate
false
13
parsed
entry
"2005"
detail
"sealMaterial"
explanation
"The vials are sealed with black wax, not white."
paragraph
7
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 7]"
inBounds
true
expectedText
"sealed with white wax"
locationAccurate
false
14
parsed
entry
"4422"
detail
"eyeColor"
explanation
"Father Cormac has pale blue eyes, not dark brown."
paragraph
8
substring
"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
(null)
inBounds
false
expectedText
"his dark brown eyes troubled"
locationAccurate
(null)
15
parsed
entry
"6004"
detail
"headquarters"
explanation
"The Parish Guard headquarters is St. Brigid's Church, Islington, not Southwark."
paragraph
8
substring
"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
(null)
inBounds
false
expectedText
"our cathedral in Southwark"
locationAccurate
(null)
16
parsed
entry
"6003"
detail
"master"
explanation
"Prince Lilith rules Luxuria; the Somnian Cult master is Prince Asmodeus."
paragraph
8
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
(null)
inBounds
false
expectedText
"Prince Lilith demands more dreamers"
locationAccurate
(null)
17
parsed
entry
"4423"
detail
"tattoo"
explanation
"Zhou Wei-Lin's dragon tattoo covers his entire back, not chest."
paragraph
9
substring
"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)
18
parsed
entry
"4423"
detail
"missingFinger"
explanation
"Actually this is correct per codex, no violation. Need to check: text doesn't mention missing finger, so okay."
paragraph
9
substring
"missing the tip of his left little finger"
status
"false_positive"
location
extractedText
(null)
inBounds
false
expectedText
"the dragon tattoo on his chest"
locationAccurate
(null)
closestExpected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
"Yasmin's flame serpent tattoo is on her left arm."
paragraph
5
substring
"flame serpent tattoo on her right arm"
status
"false_positive"
location
extractedText
"flame serpent tattoo on her right arm"
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."
reason
"entry mismatch: got \"4421\", expected \"4423\""
43
parsed
entry
"4422"
detail
"eyeColor"
explanation
"Father Cormac has pale blue eyes."
paragraph
6
substring
"dark brown eyes"
status
"false_positive"
location
extractedText
"dark brown eyes"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
closestExpected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue eyes."
reason
"entry mismatch: got \"4422\", expected \"4418\""
44
parsed
entry
"6004"
detail
"headquarters"
explanation
"The Parish Guard is headquartered at St. Brigid's Church in Islington."
paragraph
6
substring
"our cathedral in Southwark"
status
"false_positive"
location
extractedText
"our cathedral in Southwark"
inBounds
true
expectedText
"Their base is in Avaros"
locationAccurate
false
closestExpected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court HQ is in Dymas per codex, but Maggie says Avaros."
reason
"entry mismatch: got \"6004\", expected \"6002\""
45
parsed
entry
"4422"
detail
"description"
explanation
"Wait, Father Cormac is assigned to St. Brigid's in Islington; but the text says \"our cathedral in Southwark\". That violates both his assignment and the Parish Guard HQ. I can use entry 4422 detail \"backstory\"? Actually backstory mentions seminary in Cork. Not relevant. Better to use entry 4422 detail \"description\"? No direct attribute for parish location except backstory says \"assigned to St. Brigid's parish in Islington\". So maybe use entry 4422 and detail could be \"backstory\"? That's not ideal. Actually the codex for character has a description and backstory; the location of parish is in description: \"assigned to St. Brigid's parish in Islington\". So I can say entry=\"4422\" detail=\"description\" but that's broad. Instead, I can rely on group entry 6004 for headquarters, and character entry 4422 doesn't have a specific parish attribute besides description. Maybe skip the character-specific violation for parish and just flag group HQ. But the text says \"our cathedral in Southwark\". The Parish Guard's headquarters is St. Brigid's Church, Islington (entry 6004). Also Father Cormac is assigned to Islington (entry 4422 description). To be safe, I'll include both but use appropriate details.\n\nActually for entry 4422, the description says \"assigned to St. Brigid's parish in Islington\". So violation against description is okay, but \"detail\" should be exact name. The element is"
paragraph
6
substring
"St. Brigid's parish in Islington"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
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."