| 0 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "Their glowing blue eyes contradict the codex which specifies Nyx's eyes as faintly glowing violet." | | paragraph | 5 | | substring | "Nyx drifted between the stalls, their glowing blue eyes scanning for the merchant Silas had described." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4415\", expected \"4418\"" |
|
| 1 | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "Tomás's eyes are not specified in the codex, but the text describes them as dark brown which is not a contradiction since no codex eyeColor exists for him—however, the mention of \"dark brown\" is extraneous but not a contradiction unless implied otherwise. No direct contradiction found." | | paragraph | 5 | | substring | "Tomás was nearby, his scarred right forearm tucked into his jacket pocket." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"scar\"" |
|
| 2 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex does not specify Tomás's hair color; thus, this is not a contradiction." | | paragraph | 5 | | substring | "His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
|
| 3 | | parsed | | entry | "4418" | | detail | "voice" | | explanation | "The codex does not specify Nyx's voice characteristics beyond being a whisper; however, describing it as \"whispered on the wind\" is not explicitly prohibited, so not a direct contradiction." | | paragraph | 5 | | substring | "His voice sounds like a whisper carried on the wind." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"voice\", expected \"eyeColor\"" |
|
| 4 | | parsed | | entry | "4418" | | detail | "age" | | explanation | "The codex defines Nyx as ageless, so stating \"They are ageless\" aligns rather than contradicts; thus, no violation." | | paragraph | 5 | | substring | "They are ageless." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
|
| 5 | | parsed | | entry | "4418" | | detail | "form" | | explanation | "The codex states Nyx's form as \"humanoid silhouette of living shadow\"; the text matches this exactly—no contradiction." | | paragraph | 5 | | substring | "their form is humanoid silhouette of living shadow" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"form\", expected \"eyeColor\"" |
|
| 6 | | parsed | | entry | "4419" | | detail | "eyeColor" | | explanation | "Maggie's eye color is not specified in the codex; thus, this is not a contradiction." | | paragraph | 6 | | substring | "Maggie tapped her cane against the stone floor, her keen green eyes narrowing behind wire-rimmed spectacles." |
| | status | "true_positive" | | matchedExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
|
|
| 7 | | parsed | | entry | "4419" | | detail | "build" | | explanation | "The codex does not specify Maggie's build; thus, not a contradiction." | | paragraph | 6 | | substring | "her build is slight, frail appearance but fierce wit" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"build\", expected \"eyeColor\"" |
|
| 8 | | parsed | | entry | "4419" | | detail | "glasses" | | explanation | "Maggie wears wire-rimmed spectacles per the codex; no contradiction." | | paragraph | 6 | | substring | "wire-rimmed spectacles" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"glasses\", expected \"eyeColor\"" |
|
| 9 | | parsed | | entry | "4419" | | detail | "walkingStick" | | explanation | "Maggie uses a blackthorn walking stick per the codex; no contradiction." | | paragraph | 6 | | substring | "blackthorn walking stick" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"walkingStick\", expected \"eyeColor\"" |
|
| 10 | | parsed | | entry | "4419" | | detail | "age" | | explanation | "The codex states Maggie is a widow with a late husband who was a Warden; this matches perfectly—no contradiction." | | paragraph | 6 | | substring | "She is a widow; her late husband was a Warden." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
|
| 11 | | parsed | | entry | "4420" | | detail | "hair" | | explanation | "Kai's hair is specified as dyed electric-blue in an undercut; the codex does not contradict this since it only mentions \"dyed\" hair colors; thus, acceptable." | | paragraph | 6 | | substring | "dyed electric-blue in an undercut" |
| | status | "true_positive" | | matchedExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
|
|
| 12 | | parsed | | entry | "4420" | | detail | "eyeColor" | | explanation | "Kai's eye color is specified as dark brown; codex does not specify but does not prohibit this; acceptable." | | paragraph | 6 | | substring | "dark brown" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"hair\"" |
|
| 13 | | parsed | | entry | "852" | | detail | "ruler" | | explanation | "The text correctly identifies Prince Belphegor as ruler of Dymas; no contradiction." | | paragraph | 7 | | substring | "Prince Belphegor" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 14 | | parsed | | entry | "853" | | detail | "skyColor" | | explanation | "The codex specifies skyColor as warm amber for Dymas; text matches—no contradiction." | | paragraph | 7 | | substring | "warm amber" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 15 | | parsed | | entry | "854" | | detail | "signColor" | | explanation | "The codex specifies signColor as distinctive green neon sign; text matches—no contradiction." | | paragraph | 7 | | substring | "distinctive green neon sign above the entrance" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 16 | | parsed | | entry | "855" | | detail | "skyColor" | | explanation | "The codex specifies skyColor as sickly gold for Avaros; text matches—no contradiction." | | paragraph | 7 | | substring | "sickly gold" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 17 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "The codex lists The Veil Market's currentLocation as abandoned Tube station beneath Camden; text matches—no contradiction." | | paragraph | 7 | | substring | "abandoned Tube station beneath Camden" |
| | status | "true_positive" | | matchedExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is beneath Camden per the codex, but the passage says Shoreditch." |
| | location | | extractedText | (null) | | inBounds | false | | expectedText | "the abandoned Tube station beneath Shoreditch" | | locationAccurate | (null) |
|
|
| 18 | | parsed | | entry | "856" | | detail | "entryRequirement" | | explanation | "The codex specifies entryRequirement as bone token; text matches—no contradiction." | | paragraph | 7 | | substring | "bone token" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "the abandoned Tube station beneath Shoreditch" | | locationAccurate | (null) |
| | closestExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is beneath Camden per the codex, but the passage says Shoreditch." |
| | reason | "detail mismatch: got \"entryRequirement\", expected \"currentLocation\"" |
|
| 19 | | parsed | | entry | "856" | | detail | "schedule" | | explanation | "The codex specifies schedule as moves locations every full moon; text matches—no contradiction." | | paragraph | 7 | | substring | "moves locations every full moon" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "the abandoned Tube station beneath Shoreditch" | | locationAccurate | (null) |
| | closestExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is beneath Camden per the codex, but the passage says Shoreditch." |
| | reason | "detail mismatch: got \"schedule\", expected \"currentLocation\"" |
|
| 20 | | parsed | | entry | "857" | | detail | "skyColor" | | explanation | "The codex specifies skyColor as permanent bruised red for Irath; text matches—no contradiction." | | paragraph | 7 | | substring | "permanent bruised red" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 21 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The codex specifies gemstoneColor as deep crimson; text matches—no contradiction." | | paragraph | 8 | | substring | "deep crimson" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 22 | | parsed | | entry | "2002" | | detail | "binding" | | explanation | "The codex specifies binding as iron-bound; text matches—no contradiction." | | paragraph | 8 | | substring | "iron-bound" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 23 | | parsed | | entry | "2003" | | detail | "material" | | explanation | "The codex specifies material as blackened iron with glowing red runes; text matches—no contradiction." | | paragraph | 8 | | substring | "blackened iron with glowing red runes" |
| | status | "true_positive" | | matchedExpected | | entry | "2003" | | detail | "material" | | summary | "The Irathi War Gauntlet is blackened iron with red runes per the codex, but the passage says gleaming steel with blue runes." |
| | location | | extractedText | (null) | | inBounds | false | | expectedText | "a gleaming steel gauntlet with blue runes" | | locationAccurate | (null) |
|
|
| 24 | | parsed | | entry | "2004" | | detail | "faceMarkings" | | explanation | "The codex specifies face markings as etched with protective sigils; text matches—no contradiction." | | paragraph | 8 | | substring | "face etched with protective sigils" |
| | status | "true_positive" | | matchedExpected | | entry | "2004" | | detail | "faceMarkings" | | summary | "The Veil Compass face is etched with sigils per the codex, but the passage says the face is smooth and unmarked." |
| | location | | extractedText | (null) | | inBounds | false | | expectedText | "its glass face smooth and unmarked" | | locationAccurate | (null) |
|
|
| 25 | | parsed | | entry | "6001" | | detail | "foundingYear" | | explanation | "The codex specifies foundingYear as 1215; text matches—no contradiction." | | paragraph | 9 | | substring | "1215" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 26 | | parsed | | entry | "6002" | | detail | "leadership" | | explanation | "The codex specifies leadership as council of seven demon lords; text matches—no contradiction." | | paragraph | 9 | | substring | "council of seven demon lords" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "Their base is in Avaros" | | locationAccurate | (null) |
| | closestExpected | | entry | "6002" | | detail | "headquarters" | | summary | "The Crimson Court is headquartered in Dymas per the codex, but Maggie says their base is in Avaros." |
| | reason | "detail mismatch: got \"leadership\", expected \"headquarters\"" |
|