"The Fae-Forged Blade is always cold per codex, but the passage says warm."
status
"matched"
matchedBy
entry
"2006"
detail
"temperature"
explanation
"The text says the blade is warm, but the codex states it is \"always cold to the touch.\""
paragraph
2
substring
"the Fae-Forged Blade warm at her hip"
location
extractedText
"the Fae-Forged Blade warm at her hip"
inBounds
true
expectedText
"the Fae-Forged Blade warm at her hip"
locationAccurate
true
6
expected
entry
"4414"
detail
"glasses"
summary
"Eva wears round glasses per codex, but the passage says square glasses."
status
"matched"
matchedBy
entry
"4414"
detail
"glasses"
explanation
"The text says square glasses, but the codex specifies round glasses."
paragraph
2
substring
"Her square glasses"
location
extractedText
"Her square glasses"
inBounds
true
expectedText
"Her square glasses kept fogging"
locationAccurate
true
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
"containerColor"
explanation
"The text says red glass vials sealed with white wax, but the codex specifies cobalt-blue glass vials sealed with black wax."
paragraph
3
substring
"stored in little red glass vials, sealed with white wax"
location
extractedText
"stored in little red glass vials, sealed with white wax"
inBounds
true
expectedText
"little red glass vials"
locationAccurate
true
8
expected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
status
"matched"
matchedBy
entry
"2005"
detail
"sealMaterial"
explanation
"The text says white wax, but the codex specifies black wax."
paragraph
3
substring
"sealed with white wax"
location
extractedText
"sealed with white wax"
inBounds
true
expectedText
"sealed with white wax"
locationAccurate
true
9
expected
entry
"6003"
detail
"master"
summary
"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
status
"matched"
matchedBy
entry
"6003"
detail
"master"
explanation
"The text attributes the Somnian Cult to Prince Lilith, but the codex specifies Prince Asmodeus is the master of the Somnian Cult. Prince Lilith rules Luxuria (Lust)."
paragraph
3
substring
"Their master, Prince Lilith, demands more dreamers"
location
extractedText
"Their master, Prince Lilith, demands more dreamers"
inBounds
true
expectedText
"Prince Lilith, demands more dreamers"
locationAccurate
true
10
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
"The text says dark brown eyes, but the codex specifies pale blue."
paragraph
3
substring
"his dark brown eyes"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"his dark brown eyes troubled"
locationAccurate
false
11
expected
entry
"4422"
detail
"rosary"
summary
"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
status
"matched"
matchedBy
entry
"4422"
detail
"rosary"
explanation
"The text says cedar rosary beads, but the codex specifies rowan wood beads."
paragraph
3
substring
"cedar rosary beads"
location
extractedText
"[not found in paragraph 3]"
inBounds
true
expectedText
"his cedar rosary beads"
locationAccurate
false
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 1066, but the codex specifies 1215."
paragraph
3
substring
"The 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
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
"matched"
matchedBy
entry
"4415"
detail
"cane"
explanation
"The text says mahogany cane, but the codex specifies ivory-handled cane."
paragraph
4
substring
"his mahogany cane"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
15
expected
entry
"4415"
detail
"eyeColor"
summary
"Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber."
status
"matched"
matchedBy
entry
"4415"
detail
"eyeColor"
explanation
"The text says both amber eyes, but the codex specifies heterochromatic — one amber, one black."
paragraph
4
substring
"Both his amber eyes"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Both his amber eyes were fixed"
locationAccurate
false
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
"matched"
matchedBy
entry
"4421"
detail
"tattoo"
explanation
"The text says right arm, but the codex specifies left arm."
paragraph
5
substring
"The flame serpent tattoo on her right arm"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"tattoo on her right arm"
locationAccurate
false
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
"scar"
explanation
"The codex specifies a back tattoo (covering his entire back), not a chest tattoo."
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
status
"missed"
19
expected
entry
"856"
detail
"currentLocation"
summary
"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
status
"matched"
matchedBy
entry
"856"
detail
"currentLocation"
explanation
"The text says Shoreditch, but the codex specifies an abandoned Tube station beneath Camden."
paragraph
6
substring
"The market's under Shoreditch"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"abandoned station under Shoreditch"
locationAccurate
false
20
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
"hair"
explanation
"The text says natural black hair, but the codex specifies dyed electric-blue in an undercut."
paragraph
6
substring
"his natural black hair"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
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
"matched"
matchedBy
entry
"6006"
detail
"logo"
explanation
"The text says sword inside a circle, but the codex specifies thorned branch inside a shield."
paragraph
6
substring
"Their logo — the sword inside a circle"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
"the sword inside a circle"
locationAccurate
false
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
"matched"
matchedBy
entry
"4419"
detail
"eyeColor"
explanation
"The text says green eyes, but the codex specifies sharp grey."
paragraph
7
substring
"Her keen green eyes"
location
extractedText
"[not found in paragraph 7]"
inBounds
true
expectedText
"Her keen green eyes"
locationAccurate
false
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
"The text says 1066, but the codex specifies 1215."
paragraph
7
substring
"The Wardens were founded in 1066"
location
extractedText
"[not found in paragraph 7]"
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
"matched"
matchedBy
entry
"4417"
detail
"scar"
explanation
"The text says right forearm, but the codex specifies left forearm."
paragraph
8
substring
"His scarred right forearm"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"His scarred right forearm"
locationAccurate
false
26
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 text says Madrid accent, but the codex specifies he is from Seville, Spain."
paragraph
8
substring
"His Madrid accent"
location
extractedText
"[not found in paragraph 8]"
inBounds
true
expectedText
"His Madrid accent"
locationAccurate
false
27
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 text says blue eyes, but the codex specifies faintly glowing violet."
paragraph
9
substring
"their glowing blue eyes"
location
extractedText
"[not found in paragraph 9]"
inBounds
true
expectedText
"their glowing blue eyes"
locationAccurate
false
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 text says golden chain, but the codex specifies silver chain."
paragraph
10
substring
"the golden chain"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
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
"matched"
matchedBy
entry
"2001"
detail
"origin"
explanation
"The text says Avaros, but the codex specifies it is from Dymas."
paragraph
11
substring
"The Heartstone was forged in Avaros"
location
extractedText
"[not found in paragraph 11]"
inBounds
true
expectedText
"The Heartstone was forged in Avaros"
locationAccurate
false
30
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"
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"
32
expected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
status
"missed"
nearMiss
parsed
entry
"6002"
detail
"leadership"
explanation
"The text attributes Dream Dust operations to the Crimson Court, but the codex specifies Dream Dust is distributed by the Somnian Cult under Prince Asmodeus, not the Crimson Court."
paragraph
3
substring
"Their servants spread Dream Dust through the city"
"The text implies his father is a Hel Prince, but the codex states his father is from Avaros (realm of Greed), not specified as a ruler, and Avaros is ruled by Prince Mammon."
paragraph
4
substring
"And my father—"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
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 text says the market is under Shoreditch this month, but the codex indicates it is under Camden (location stated as \"abandoned Tube station beneath Camden\")."
paragraph
6
substring
"under Shoreditch for this lunar cycle"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
""
locationAccurate
false
6
parsed
entry
"6002"
detail
"leadership"
explanation
"The text attributes Dream Dust operations to the Crimson Court, but the codex specifies Dream Dust is distributed by the Somnian Cult under Prince Asmodeus, not the Crimson Court."
paragraph
3
substring
"Their servants spread Dream Dust through the city"
status
"false_positive"
location
extractedText
"Their servants spread Dream Dust through the city"
inBounds
true
expectedText
"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccurate
false
closestExpected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
"The text says 1066, but the codex specifies 1215."
paragraph
3
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 3]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
8
parsed
entry
"4415"
detail
"eyeColor"
explanation
"The text says both amber eyes, but the codex specifies heterochromatic — one amber, one black."
paragraph
4
substring
"Both his amber eyes"
status
"true_positive"
matchedExpected
entry
"4415"
detail
"eyeColor"
summary
"Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber."
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Both his amber eyes were fixed"
locationAccurate
false
9
parsed
entry
"4415"
detail
"cane"
explanation
"The text says mahogany cane, but the codex specifies ivory-handled cane."
paragraph
4
substring
"his 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 4]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
10
parsed
entry
"4415"
detail
"father"
explanation
"The text implies his father is a Hel Prince, but the codex states his father is from Avaros (realm of Greed), not specified as a ruler, and Avaros is ruled by Prince Mammon."
paragraph
4
substring
"And my father—"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
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 text says the market is under Shoreditch this month, but the codex indicates it is under Camden (location stated as \"abandoned Tube station beneath Camden\")."
paragraph
6
substring
"under Shoreditch for this lunar cycle"
status
"false_positive"
location
extractedText
"[not found in paragraph 6]"
inBounds
true
expectedText
""
locationAccurate
false
27
parsed
entry
"6002"
detail
"leadership"
explanation
"The text attributes Dream Dust operations to the Crimson Court, but the codex specifies Dream Dust is distributed by the Somnian Cult under Prince Asmodeus, not the Crimson Court."
paragraph
3
substring
"Their servants spread Dream Dust through the city"
status
"false_positive"
location
extractedText
"Their servants spread Dream Dust through the city"
inBounds
true
expectedText
"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccurate
false
closestExpected
entry
"6002"
detail
"headquarters"
summary
"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
"The text attributes the Somnian Cult to Prince Lilith, but the codex specifies Prince Asmodeus is the master of the Somnian Cult. Prince Lilith rules Luxuria (Lust)."
paragraph
3
substring
"Their master, Prince Lilith, demands more dreamers"
status
"true_positive"
matchedExpected
entry
"6003"
detail
"master"
summary
"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
location
extractedText
"Their master, Prince Lilith, demands more dreamers"
inBounds
true
expectedText
"Prince Lilith, demands more dreamers"
locationAccurate
true
30
parsed
entry
"2005"
detail
"sealMaterial"
explanation
"The text says white wax, but the codex specifies black wax."
paragraph
3
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 Isolde says white wax."