"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
status
"matched"
matchedBy
entry
"4422"
detail
"rosary"
explanation
"The codex states Father Cormac's rosary is made of **rowan wood beads**, but the text describes it as **cedar**."
paragraph
3
substring
"cedar rosary beads"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"his cedar rosary beads"
locationAccurate
false
11
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 codex states the Covenant of Separation was signed in **1215**, but the text incorrectly states it was from **1066**."
paragraph
3
substring
"Covenant of Separation — the old treaty from 1066"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
12
expected
entry
"6004"
detail
"headquarters"
summary
"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
status
"missed"
13
expected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
status
"matched"
matchedBy
entry
"4415"
detail
"cane"
explanation
"The codex states Lucien's cane is an **ivory-handled cane**, but the text describes it as **mahogany**."
paragraph
8
substring
"mahogany cane"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
14
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
"4415"
detail
"hairColor"
explanation
"The codex states Lucien's hair is **slicked-back platinum blond**, but the text describes him as having **grey-streaked auburn** hair (incorrectly referencing Silas)."
"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
"The codex states Yasmin has a **flame serpent tattoo coiling up her left arm**, but the text describes it as her **right arm**."
paragraph
5
substring
"flame serpent tattoo coiling up her right arm"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
16
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
"The codex states Zhou's tattoo is a **dragon tattoo covering his entire back**, but the text does not mention this explicitly."
paragraph
5
substring
"dragon tattoo covering his entire back"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
false
17
expected
entry
"2006"
detail
"material"
summary
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
status
"missed"
18
expected
entry
"856"
detail
"currentLocation"
summary
"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
status
"missed"
19
expected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
status
"matched"
matchedBy
entry
"4420"
detail
"hairColor"
explanation
"The codex states Kai's hair is **dyed electric-blue**, but the text describes it as **natural black**."
paragraph
2
substring
"natural black hair"
location
extractedText
"[not found in paragraph 2]"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
20
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"
21
expected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn stick per codex, but the passage says oak."
status
"missed"
22
expected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green."
status
"missed"
23
expected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Maggie says 1066."
status
"missed"
24
expected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
status
"matched"
matchedBy
entry
"4417"
detail
"scar"
explanation
"The codex states Tomás has a scar running along his **left forearm**, but the text implies it's on his **right forearm** (from \"his scarred right forearm\")."
paragraph
1
substring
"scar running along his left forearm"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"His scarred right forearm"
locationAccurate
false
25
expected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
status
"matched"
matchedBy
entry
"4417"
detail
"birthplace"
explanation
"The codex states Tomás is from Seville, Spain, but the text incorrectly places the Fae Grove in Hyde Park."
paragraph
1
substring
"Hyde Park"
location
extractedText
"Hyde Park"
inBounds
true
expectedText
"His Madrid accent"
locationAccurate
false
26
expected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue."
status
"matched"
matchedBy
entry
"4418"
detail
"eyeColor"
explanation
"The codex states Nyx's eyes are **faintly glowing violet**, but the text describes them as **glowing blue**."
paragraph
5
substring
"glowing blue eyes"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
27
expected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
status
"missed"
28
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"
29
expected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
status
"missed"
falsePositiveDetails
0
parsed
entry
"4420"
detail
"headphones"
explanation
"The text mentions Kai is behind a **laptop screen**, but the codex states he wears **noise-cancelling headphones** around his neck."
paragraph
2
substring
"laptop screen"
status
"false_positive"
location
extractedText
"[not found in paragraph 2]"
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."
"The codex states Kai has a **small circuit board tattoo on the inside of his right wrist**, but the text incorrectly describes it as a tattoo on his **chest** (from \"the edge of the dragon tattoo on his chest\")."
paragraph
2
substring
"small circuit board tattoo"
status
"false_positive"
location
extractedText
"[not found in paragraph 2]"
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."
"The codex states Zhou Wei-Lin is **48**, but the text implies he was involved in the incident **fourteen years ago** (from \"twelve Wardens to close\")."
paragraph
3
substring
"fourteen years ago"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
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 codex states Isolde is **300 years old**, but the text mentions her age as a **three-hundred-year-old** (though the codex explicitly states 300)."
paragraph
3
substring
"three-hundred-year-old Half-Fae body"
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."
"The codex states rift points are **most active during the winter solstice**, but the text also mentions the **summer solstice** weakening the Veil (contradicting the codex's peak activity)."
paragraph
3
substring
"peakActivity during the winter solstice"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
""
locationAccurate
false
8
parsed
entry
"7004"
detail
"sealingMethod"
explanation
"The codex states Helbound souls are sealed by **blood and recorded in that Prince's domain**, but the text does not mention this sealing method explicitly. However, the reference to Prince Belphegor's agents kidnapping humans and forcing contracts aligns with the codex's description of contracts being sealed by blood."
paragraph
4
substring
"sealed by blood and recorded"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
""
locationAccurate
false
9
parsed
entry
"7005"
detail
"requirement"
explanation
"The codex states the Shade transformation requires being **caught between realms during a failed summoning or portal collapse**, but the text describes Nyx as **walking shadow paths** without explicitly stating a failed ritual."
paragraph
5
substring
"walked the shadow paths last night"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
""
locationAccurate
false
10
parsed
entry
"4421"
detail
"scent"
explanation
"The codex states Yasmin's scent is **sandalwood and burnt sage**, but the text does not mention this explicitly."
paragraph
5
substring
"faintly of sandalwood and burnt sage"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
closestExpected
entry
"4421"
detail
"tattoo"
summary
"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
"The text implies the Wardens enforce the Covenant with lethal force, aligning with the codex's enforcement, but the phrasing \"the Wardens' official stance is neutrality\" contradicts the codex's enforcement enforcement clause."
paragraph
6
substring
"the Wardens' official stance is neutrality"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
closestExpected
entry
"7002"
detail
"signedYear"
summary
"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
"The codex states Helbound souls can only be freed if the contract is **physically destroyed within the realm where it was signed**, but the text describes the soul destroying it **while still in Avaros**, which is outside the realm of sealing."
paragraph
7
substring
"destroyed her contract document"
status
"false_positive"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
""
locationAccurate
false
18
parsed
entry
"4415"
detail
"hairColor"
explanation
"The codex states Lucien's hair is **slicked-back platinum blond**, but the text describes him as having **grey-streaked auburn** hair (incorrectly referencing Silas)."
paragraph
8
substring
"grey-streaked auburn"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
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 Lucien wears **tailored charcoal suits**, but the text does not contradict this explicitly. However, the description of Lucien's outfit is not detailed here."
paragraph
8
substring
"tailored charcoal suits"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
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 Detective Quinn wears a **watch on her left wrist**, but the text does not mention Quinn explicitly."
paragraph
9
substring
"worn leather watch on her left wrist"
status
"false_positive"
location
extractedText
"[not found in paragraph 9]"
inBounds
true
expectedText
""
locationAccurate
false
21
parsed
entry
"4412"
detail
"age"
explanation
"The text introduces Aurora as **Rory**, but the codex does not specify her age (25) in this paragraph, and the text does not contradict it."
paragraph
10
substring
"Rory felt the Heartstone"
status
"false_positive"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
""
locationAccurate
false
33.3333%
Precision
True positives: 11/33
totalReported
33
truePositives
11
reportedDetails
0
parsed
entry
"4417"
detail
"birthplace"
explanation
"The codex states Tomás is from Seville, Spain, but the text incorrectly places the Fae Grove in Hyde Park."
paragraph
1
substring
"Hyde Park"
status
"true_positive"
matchedExpected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
location
extractedText
"Hyde Park"
inBounds
true
expectedText
"His Madrid accent"
locationAccurate
false
1
parsed
entry
"4417"
detail
"scar"
explanation
"The codex states Tomás has a scar running along his **left forearm**, but the text implies it's on his **right forearm** (from \"his scarred right forearm\")."
paragraph
1
substring
"scar running along his left 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 1]"
inBounds
true
expectedText
"His scarred right forearm"
locationAccurate
false
2
parsed
entry
"4420"
detail
"hairColor"
explanation
"The codex states Kai's hair is **dyed electric-blue**, but the text describes it as **natural black**."
paragraph
2
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 2]"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
3
parsed
entry
"4420"
detail
"headphones"
explanation
"The text mentions Kai is behind a **laptop screen**, but the codex states he wears **noise-cancelling headphones** around his neck."
paragraph
2
substring
"laptop screen"
status
"false_positive"
location
extractedText
"[not found in paragraph 2]"
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."
"The codex states Kai has a **small circuit board tattoo on the inside of his right wrist**, but the text incorrectly describes it as a tattoo on his **chest** (from \"the edge of the dragon tattoo on his chest\")."
paragraph
2
substring
"small circuit board tattoo"
status
"false_positive"
location
extractedText
"[not found in paragraph 2]"
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."
"The codex states Father Cormac's rosary is made of **rowan wood beads**, but the text describes it as **cedar**."
paragraph
3
substring
"cedar rosary beads"
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 3]"
inBounds
true
expectedText
"his cedar rosary beads"
locationAccurate
false
7
parsed
entry
"4423"
detail
"age"
explanation
"The codex states Zhou Wei-Lin is **48**, but the text implies he was involved in the incident **fourteen years ago** (from \"twelve Wardens to close\")."
paragraph
3
substring
"fourteen years ago"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
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 codex states Isolde's eye color is **pale lavender**, but the text describes them as **pale blue**."
paragraph
3
substring
"pale blue eyes"
status
"true_positive"
matchedExpected
entry
"4424"
detail
"eyeColor"
summary
"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"Her pale blue eyes, unblinking"
locationAccurate
false
10
parsed
entry
"4424"
detail
"age"
explanation
"The codex states Isolde is **300 years old**, but the text mentions her age as a **three-hundred-year-old** (though the codex explicitly states 300)."
paragraph
3
substring
"three-hundred-year-old Half-Fae body"
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."
"The codex states the Covenant of Separation was signed in **1215**, but the text incorrectly states it was from **1066**."
paragraph
3
substring
"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 3]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
14
parsed
entry
"7003"
detail
"peakActivity"
explanation
"The codex states rift points are **most active during the winter solstice**, but the text also mentions the **summer solstice** weakening the Veil (contradicting the codex's peak activity)."
paragraph
3
substring
"peakActivity during the winter solstice"
status
"false_positive"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
""
locationAccurate
false
15
parsed
entry
"7004"
detail
"sealingMethod"
explanation
"The codex states Helbound souls are sealed by **blood and recorded in that Prince's domain**, but the text does not mention this sealing method explicitly. However, the reference to Prince Belphegor's agents kidnapping humans and forcing contracts aligns with the codex's description of contracts being sealed by blood."
paragraph
4
substring
"sealed by blood and recorded"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
""
locationAccurate
false
16
parsed
entry
"7005"
detail
"requirement"
explanation
"The codex states the Shade transformation requires being **caught between realms during a failed summoning or portal collapse**, but the text describes Nyx as **walking shadow paths** without explicitly stating a failed ritual."
paragraph
5
substring
"walked the shadow paths last night"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
""
locationAccurate
false
17
parsed
entry
"4418"
detail
"eyeColor"
explanation
"The codex states Nyx's eyes are **faintly glowing violet**, but the text describes them as **glowing blue**."
paragraph
5
substring
"glowing blue eyes"
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 5]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
18
parsed
entry
"4421"
detail
"tattoo"
explanation
"The codex states Yasmin has a **flame serpent tattoo coiling up her left arm**, but the text describes it as her **right arm**."
paragraph
5
substring
"flame serpent tattoo coiling up 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 5]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
19
parsed
entry
"4421"
detail
"scent"
explanation
"The codex states Yasmin's scent is **sandalwood and burnt sage**, but the text does not mention this explicitly."
paragraph
5
substring
"faintly of sandalwood and burnt sage"
status
"false_positive"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
closestExpected
entry
"4421"
detail
"tattoo"
summary
"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
"The text implies the Wardens enforce the Covenant with lethal force, aligning with the codex's enforcement, but the phrasing \"the Wardens' official stance is neutrality\" contradicts the codex's enforcement enforcement clause."
paragraph
6
substring
"the Wardens' official stance is neutrality"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
closestExpected
entry
"7002"
detail
"signedYear"
summary
"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
"The codex states Helbound souls can only be freed if the contract is **physically destroyed within the realm where it was signed**, but the text describes the soul destroying it **while still in Avaros**, which is outside the realm of sealing."
paragraph
7
substring
"destroyed her contract document"
status
"false_positive"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
""
locationAccurate
false
28
parsed
entry
"4415"
detail
"hairColor"
explanation
"The codex states Lucien's hair is **slicked-back platinum blond**, but the text describes him as having **grey-streaked auburn** hair (incorrectly referencing Silas)."
paragraph
8
substring
"grey-streaked auburn"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
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 Lucien's cane is an **ivory-handled cane**, but the text describes it as **mahogany**."
paragraph
8
substring
"mahogany cane"
status
"true_positive"
matchedExpected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
30
parsed
entry
"4415"
detail
"dress"
explanation
"The codex states Lucien wears **tailored charcoal suits**, but the text does not contradict this explicitly. However, the description of Lucien's outfit is not detailed here."
paragraph
8
substring
"tailored charcoal suits"
status
"false_positive"
location
extractedText
"[not found in paragraph 8]"
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."