"The codex states Lucien's hair is **slicked-back platinum blond**, not described as amber (this is an eye color detail, but the text incorrectly attributes his eye color to his hair)."
paragraph
6
substring
"Both his amber eyes were fixed on Isolde with a calculating expression"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
closestExpected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
"The codex states Rory's aliases include **Aurora, Carter, Malphora**, but the text refers to her as **Rory** only, which is correct but does not contradict.\n*(No violation here—this is correct.)*"
paragraph
14
substring
"Rory felt the Heartstone Pendant pulse in her pocket"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
""
locationAccurate
false
5
parsed
entry
"4412"
detail
"alias"
explanation
"The text refers to Aurora as **Rory**, which is valid but does not contradict the codex.\n*(No violation here.)*"
paragraph
14
substring
"Rory felt the Heartstone Pendant pulse in her pocket"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
""
locationAccurate
false
6
parsed
entry
"4412"
detail
"hair"
explanation
"The codex does not contradict this, but the text does not describe the chain material or pendant color, so no violation."
paragraph
14
substring
"the golden chain tangled in her fingers"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"his natural black hair falling into his face"
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 \"4412\", expected \"4420\""
7
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
"The codex states the Heartstone Pendant's gemstone color is **deep crimson**, which matches, but the text does not contradict."
paragraph
14
substring
"the crimson stone glowing brighter than she'd ever seen"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
"The codex states Father Cormac's eye color is **pale blue**, not dark brown."
paragraph
5
substring
"his dark brown eyes troubled beneath his thinning ginger hair"
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 5]"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
false
5
parsed
entry
"4422"
detail
"rosary"
explanation
"The codex states Father Cormac's rosary is made of **rowan wood**, not cedar."
paragraph
5
substring
"his cedar rosary beads tightly"
status
"true_positive"
matchedExpected
entry
"4422"
detail
"rosary"
summary
"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"his cedar rosary beads"
locationAccurate
false
6
parsed
entry
"4415"
detail
"hair"
explanation
"The codex states Lucien's hair is **slicked-back platinum blond**, not described as amber (this is an eye color detail, but the text incorrectly attributes his eye color to his hair)."
paragraph
6
substring
"Both his amber eyes were fixed on Isolde with a calculating expression"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
closestExpected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
"The codex states Yasmin's tattoo is on her **left arm**, not the right."
paragraph
8
substring
"The flame serpent tattoo on her right arm seemed to writhe"
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 8]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
11
parsed
entry
"4423"
detail
"tattoo"
explanation
"The codex states Wei-Lin's tattoo covers his **entire back**, not just his chest."
paragraph
9
substring
"The edge of the dragon tattoo on his chest was visible above his collar"
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
"[not found in paragraph 9]"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
false
12
parsed
entry
"4420"
detail
"hair"
explanation
"The codex states Kai's hair is **dyed electric-blue in an undercut**, not natural black."
paragraph
10
substring
"his natural black hair falling into his face"
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 10]"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
13
parsed
entry
"4419"
detail
"eyeColor"
explanation
"The codex states Maggie's eye color is **sharp grey**, not green."
paragraph
11
substring
"Her keen green eyes swept the group"
status
"true_positive"
matchedExpected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green."
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"Her keen green eyes"
locationAccurate
false
14
parsed
entry
"4417"
detail
"scar"
explanation
"The codex states Tomás's scar runs along his **left forearm**, not the right."
paragraph
12
substring
"His scarred right forearm brushed the zipper"
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 12]"
inBounds
true
expectedText
"His scarred right forearm"
locationAccurate
false
15
parsed
entry
"4418"
detail
"eyeColor"
explanation
"The codex states Nyx's eyes are **faintly glowing violet**, not blue."
paragraph
13
substring
"their glowing blue eyes cutting through the twilight"
status
"true_positive"
matchedExpected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue."
location
extractedText
"[not found in paragraph 13]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
16
parsed
entry
"4412"
detail
"aliases"
explanation
"The codex states Rory's aliases include **Aurora, Carter, Malphora**, but the text refers to her as **Rory** only, which is correct but does not contradict.\n*(No violation here—this is correct.)*"
paragraph
14
substring
"Rory felt the Heartstone Pendant pulse in her pocket"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
""
locationAccurate
false
17
parsed
entry
"4412"
detail
"alias"
explanation
"The text refers to Aurora as **Rory**, which is valid but does not contradict the codex.\n*(No violation here.)*"
paragraph
14
substring
"Rory felt the Heartstone Pendant pulse in her pocket"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
""
locationAccurate
false
18
parsed
entry
"4412"
detail
"hair"
explanation
"The codex does not contradict this, but the text does not describe the chain material or pendant color, so no violation."
paragraph
14
substring
"the golden chain tangled in her fingers"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"his natural black hair falling into his face"
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 \"4412\", expected \"4420\""
19
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
"The codex states the Heartstone Pendant's gemstone color is **deep crimson**, which matches, but the text does not contradict."
paragraph
14
substring
"the crimson stone glowing brighter than she'd ever seen"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."