| 0 | | parsed | | entry | "4412" | | detail | "eyeColor" | | explanation | "The text describes the Veil Compass as spinning wildly, but the Codex does not specify its state beyond having face markings and a patina of verdigris." | | paragraph | 2 | | substring | "The Veil Compass spinning wildly in her other hand" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 \"4412\", expected \"4418\"" |
|
| 1 | | parsed | | entry | "4417" | | detail | "skinTone" | | explanation | "The Codex specifies Maggie's skin tone as \"olive\", but the text uses \"olive\" which matches exactly; however, the Codex also describes her as having a \"faintly glowing violet\" eyes and \"silver, reaching her waist\" hair, while the text does not mention her hair color, making this not a contradiction. No violation found." | | paragraph | 5 | | substring | "olive skin" |
| | 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 codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"skinTone\", expected \"scar\"" |
|
| 2 | | parsed | | entry | "4418" | | detail | "eyeColor" | | explanation | "The Codex states Nyx's eyes are \"faintly glowing violet\", which matches the text exactly; thus, no contradiction." | | paragraph | 4 | | substring | "faintly glowing violet" |
| | status | "true_positive" | | matchedExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | location | | extractedText | "[not found in paragraph 4]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
|
|
| 3 | | parsed | | entry | "4419" | | detail | "eyeColor" | | explanation | "The Codex specifies Father Cormac's eye color as \"pale blue\", but the text describes him as having \"dark brown\" eyes; this is a contradiction." | | paragraph | 6 | | substring | "pale blue" |
| | 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 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
|
|
| 4 | | parsed | | entry | "4419" | | detail | "hair" | | explanation | "The Codex states Maggie's hair is \"silver-white, worn in a neat bun\", but the text does not mention her hair color, so no contradiction." | | paragraph | 6 | | substring | "silver, reaching her waist" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her oak walking stick" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "walkingStick" | | summary | "Maggie carries a blackthorn walking stick per codex, but the passage says oak." |
| | reason | "detail mismatch: got \"hair\", expected \"walkingStick\"" |
|
| 5 | | parsed | | entry | "4419" | | detail | "build" | | explanation | "The Codex describes Father Cormac's build as \"slight, frail appearance but fierce wit\", but the text refers to \"Maggie\" (Father Cormac's alias) having a \"frail appearance\"; however, the Codex does not explicitly contradict the description, so no violation." | | paragraph | 6 | | substring | "slight, frail appearance but fierce wit" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her oak walking stick" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "walkingStick" | | summary | "Maggie carries a blackthorn walking stick per codex, but the passage says oak." |
| | reason | "detail mismatch: got \"build\", expected \"walkingStick\"" |
|
| 6 | | parsed | | entry | "4420" | | detail | "headphones" | | explanation | "The Codex does not mention headphones, so no contradiction." | | paragraph | 3 | | substring | "noise-cancelling headphones" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "his natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"headphones\", expected \"hair\"" |
|
| 7 | | parsed | | entry | "4421" | | detail | "eyeColor" | | explanation | "The Codex states Yasmin's eye color is \"amber\", which matches the text; no contradiction." | | paragraph | 7 | | substring | "amber" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 7]" | | 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." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"tattoo\"" |
|
| 8 | | parsed | | entry | "4422" | | detail | "eyes" | | explanation | "The Codex does not describe Father Cormac's eyes as \"sharp jaw\"; the Codex mentions his \"dark brown\" eyes and \"rowan-wood rosaries\", but not eye shape/jaw relation; no contradiction." | | paragraph | 8 | | substring | "sharp jaw" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his dark brown eyes troubled" | | locationAccurate | (null) |
| | closestExpected | | entry | "4422" | | detail | "eyeColor" | | summary | "Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes." |
| | reason | "detail mismatch: got \"eyes\", expected \"eyeColor\"" |
|
| 9 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The text correctly identifies the ruler of Dymas as Prince Belphegor; no contradiction." | | paragraph | 12 | | substring | "Prince Belphegor" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 10 | | parsed | | entry | "854" | | detail | "skyColor" | | explanation | "The Codex specifies Dymas's sky color as \"warm amber\", which matches the text; no contradiction." | | paragraph | 14 | | substring | "warm amber" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 11 | | parsed | | entry | "855" | | detail | "ruler" | | explanation | "The text correctly names Prince Mammon as Avaros's ruler; no contradiction." | | paragraph | 16 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 12 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "The Codex lists The Veil Market's current location as \"abandoned Tube station beneath Camden\"; the text matches this exactly; no contradiction." | | paragraph | 17 | | substring | "abandoned Tube station beneath Camden" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 13 | | parsed | | entry | "857" | | detail | "ruler" | | explanation | "The text correctly references Prince Abaddon as ruler of Irath; no contradiction." | | paragraph | 19 | | substring | "Prince Abaddon" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 14 | | parsed | | entry | "858" | | detail | "realm" | | explanation | "The Codex states Irath's realm is \"Hel\"; the text matches this; no contradiction." | | paragraph | 21 | | substring | "Hel" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 15 | | parsed | | entry | "859" | | detail | "ruler" | | explanation | "The Codex specifies Prince Asmodeus as ruler of Irath; the text matches this; no contradiction." | | paragraph | 23 | | substring | "Prince Asmodeus" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 16 | | parsed | | entry | "860" | | detail | "realm" | | explanation | "The Codex lists Hel's realm as \"Hel\"; the text matches this; no contradiction." | | paragraph | 25 | | substring | "Hel" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 17 | | parsed | | entry | "861" | | detail | "parkLocation" | | explanation | "The Codex states The Veil Market's current location is \"Richmond Park\"; the text matches this; no contradiction." | | paragraph | 27 | | substring | "Richmond Park" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 18 | | parsed | | entry | "862" | | detail | "ruler" | | explanation | "The Codex specifies Prince Lilith as ruler of Luxuria; the text matches this; no contradiction." | | paragraph | 29 | | substring | "Prince Lilith" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 19 | | parsed | | entry | "4420" | | detail | "entryRequirement" | | explanation | "The Codex lists The Veil Market's entry requirement as \"bone token\"; the text matches this; no contradiction." | | paragraph | 30 | | substring | "bone token" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair" | | locationAccurate | (null) |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"entryRequirement\", expected \"hair\"" |
|
| 20 | | parsed | | entry | "4422" | | detail | "password" | | explanation | "The Codex specifies Yasmin's password as \"moonrise\"; the text matches this; no contradiction." | | paragraph | 32 | | substring | "moonrise" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his dark brown eyes troubled" | | locationAccurate | (null) |
| | closestExpected | | entry | "4422" | | detail | "eyeColor" | | summary | "Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes." |
| | reason | "detail mismatch: got \"password\", expected \"eyeColor\"" |
|
| 21 | | parsed | | entry | "4421" | | detail | "tattoo" | | explanation | "The Codex states Yasmin's tattoo is a \"flame serpent\"; the text matches this; no contradiction." | | paragraph | 33 | | substring | "flame serpent" |
| | 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 | (null) | | inBounds | false | | expectedText | "tattoo on her right arm" | | locationAccurate | (null) |
|
|
| 22 | | parsed | | entry | "4423" | | detail | "build" | | explanation | "The Codex describes Zhou Wei-Lin's build as \"muscular\"; the text matches this; no contradiction." | | paragraph | 35 | | substring | "muscular" |
| | 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." |
| | reason | "detail mismatch: got \"build\", expected \"tattoo\"" |
|
| 23 | | parsed | | entry | "4424" | | detail | "tattoo" | | explanation | "The Codex specifies Zhou Wei-Lin's tattoo as a \"dragon tattoo\"; the text matches this; no contradiction." | | paragraph | 36 | | substring | "dragon tattoo" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "tattoo on her right arm" | | locationAccurate | (null) |
| | closestExpected | | entry | "4421" | | detail | "tattoo" | | summary | "Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm." |
| | reason | "entry mismatch: got \"4424\", expected \"4421\"" |
|
| 24 | | parsed | | entry | "4425" | | detail | "missingFinger" | | explanation | "The Codex lists Zhou Wei-Lin's missing finger detail; the text matches this; no contradiction." | | paragraph | 38 | | substring | "missing the tip of his left little finger" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 25 | | parsed | | entry | "4426" | | detail | "description" | | explanation | "The Codex does not mention Aurora's criminal past, but the text implies it via \"off-the-books medical care\"; no direct contradiction." | | paragraph | 40 | | substring | "criminal past" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 26 | | parsed | | entry | "4427" | | detail | "eyeColor" | | explanation | "The Codex does not specify Tomás's eye color, so no contradiction." | | paragraph | 42 | | substring | "dark brown" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "their glowing blue eyes" | | locationAccurate | (null) |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4427\", expected \"4418\"" |
|
| 27 | | parsed | | entry | "4430" | | detail | "hair" | | explanation | "The Codex does not mention Tomás's hair color, so no contradiction." | | paragraph | 44 | | substring | "black hair" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair" | | locationAccurate | (null) |
| | 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 \"4430\", expected \"4420\"" |
|
| 28 | | parsed | | entry | "4431" | | detail | "age" | | explanation | "The Codex does not specify Tomás's age; no contradiction." | | paragraph | 46 | | substring | "29" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 29 | | parsed | | entry | "4432" | | detail | "eyeColor" | | explanation | "The Codex does not specify Kai's eye color; no contradiction." | | paragraph | 48 | | substring | "warm brown" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "their glowing blue eyes" | | locationAccurate | (null) |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4432\", expected \"4418\"" |
|
| 30 | | parsed | | entry | "4433" | | detail | "hair" | | explanation | "The Codex does not mention Kai's hair color; no contradiction." | | paragraph | 50 | | substring | "electric-blue undercut" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair" | | locationAccurate | (null) |
| | 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 \"4433\", expected \"4420\"" |
|
| 31 | | parsed | | entry | "4434" | | detail | "build" | | explanation | "The Codex describes Zhou Wei-Lin's build as \"muscular\", but the text says \"lean\"; slight discrepancy, though not explicit contradiction." | | paragraph | 52 | | substring | "lean" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 32 | | parsed | | entry | "4435" | | detail | "tattoo" | | explanation | "The Codex specifies Zhou Wei-Lin's tattoo as \"dragon tattoo covering his entire back\"; the text matches this; no contradiction." | | paragraph | 54 | | substring | "dragon tattoo covering his entire back" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "tattoo on her right arm" | | locationAccurate | (null) |
| | closestExpected | | entry | "4421" | | detail | "tattoo" | | summary | "Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm." |
| | reason | "entry mismatch: got \"4435\", expected \"4421\"" |
|
| 33 | | parsed | | entry | "4436" | | detail | "missingFinger" | | explanation | "The Codex already listed this; no new contradiction." | | paragraph | 56 | | substring | "tip of his left little finger" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 34 | | parsed | | entry | "4437" | | detail | "description" | | explanation | "The Codex does not mention Tomás's criminal history; no contradiction." | | paragraph | 58 | | substring | "retired from organized crime" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 35 | | parsed | | entry | "4438" | | detail | "eyeColor" | | explanation | "The Codex states Father Cormac's eye color as \"pale blue\", but the text describes his eyes as \"dark brown\"; this is a contradiction." | | paragraph | 60 | | substring | "pale blue" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "their glowing blue eyes" | | locationAccurate | (null) |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4438\", expected \"4418\"" |
|
| 36 | | parsed | | entry | "4439" | | detail | "hair" | | explanation | "The Codex specifies Maggie's hair as \"silver-white, worn in a neat bun\", but the text says \"silver, reaching her waist\"; slight mismatch in description but not explicit contradiction." | | paragraph | 62 | | substring | "silver, reaching her waist" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair" | | locationAccurate | (null) |
| | 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 \"4439\", expected \"4420\"" |
|
| 37 | | parsed | | entry | "4440" | | detail | "eyeColor" | | explanation | "The text correctly describes Nyx's eyes as \"faintly glowing violet\"; no contradiction." | | paragraph | 64 | | substring | "faintly glowing violet" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "their glowing blue eyes" | | locationAccurate | (null) |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4440\", expected \"4418\"" |
|
| 38 | | parsed | | entry | "4441" | | detail | "hair" | | explanation | "The Codex does not mention Tomás's hair color; no contradiction." | | paragraph | 66 | | substring | "black hair hidden under a beanie" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair" | | locationAccurate | (null) |
| | 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 \"4441\", expected \"4420\"" |
|
| 39 | | parsed | | entry | "4442" | | detail | "age" | | explanation | "The Codex does not specify Tomás's age; no contradiction." | | paragraph | 68 | | substring | "29" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 40 | | parsed | | entry | "4443" | | detail | "eyeColor" | | explanation | "The Codex correctly identifies Father Cormac's eye color as \"dark brown\"; no contradiction." | | paragraph | 70 | | substring | "dark brown" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "their glowing blue eyes" | | locationAccurate | (null) |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4443\", expected \"4418\"" |
|
| 41 | | parsed | | entry | "4444" | | detail | "hair" | | explanation | "No new contradiction." | | paragraph | 72 | | substring | "black hair hidden under a beanie" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair" | | locationAccurate | (null) |
| | 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 \"4444\", expected \"4420\"" |
|
| 42 | | parsed | | entry | "4445" | | detail | "age" | | explanation | "No new contradiction." | | paragraph | 74 | | substring | "29" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 43 | | parsed | | entry | "4446" | | detail | "eyeColor" | | explanation | "The Codex states Father Cormac's eye color as \"pale blue\", but the text describes his eyes as \"dark brown\"; this directly contradicts the Codex." | | paragraph | 76 | | substring | "pale blue" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "their glowing blue eyes" | | locationAccurate | (null) |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4446\", expected \"4418\"" |
|
| 44 | | parsed | | entry | "4447" | | detail | "hair" | | explanation | "The Codex specifies Maggie's hair as \"silver-white, worn in a neat bun\", but the text says \"silver, reaching her waist\"; minor discrepancy, but not explicit contradiction per strict rules." | | paragraph | 78 | | substring | "silver, reaching her waist" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair" | | locationAccurate | (null) |
| | 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 \"4447\", expected \"4420\"" |
|
| 45 | | parsed | | entry | "4448" | | detail | "description" | | explanation | "No contradiction." | | paragraph | 80 | | substring | "retired from organized crime" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 46 | | parsed | | entry | "4449" | | detail | "eyeColor" | | explanation | "Same contradiction as earlier; already counted." | | paragraph | 82 | | substring | "pale blue" |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "their glowing blue eyes" | | locationAccurate | (null) |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4449\", expected \"4418\"" |
|