| 0 | | parsed | | entry | "853" | | detail | "skyColor" | | explanation | "The Veil Market hummed beneath Camden as Nyx drifted between stalls, their glowing blue eyes sweeping the crowd. Tomás trailed behind, his scarred right forearm tucked into his jacket, his Madrid accent thickening as he muttered complaints." | | paragraph | 2 | | substring | "warm amber" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 1 | | parsed | | entry | "853" | | detail | "location" | | explanation | "The Veil Market hummed beneath Camden as Nyx drifted between stalls, their glowing blue eyes sweeping the crowd. Tomás trailed behind, his scarred right forearm tucked into his jacket, his Madrid accent thickening as he muttered complaints." | | paragraph | 2 | | substring | "Avaros, greed, Avarosi" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 2 | | parsed | | entry | "4419" | | detail | "build" | | explanation | "Maggie tapped her oak walking stick on the stone floor, her keen green eyes narrowing behind wire-rimmed spectacles. \"That stall — Crimson Court front. Their base is in Avaros, remember.\"" | | paragraph | 2 | | substring | "slight, frail appearance but fierce wit" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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\"" |
|
| 3 | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "Tomás Herrera's scar running along his left forearm is described as \"scar running along his left forearm\" in the codex, but the text specifies \"scarred right forearm\"." | | paragraph | 2 | | substring | "warm brown" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 \"eyeColor\", expected \"scar\"" |
|
| 4 | | parsed | | entry | "4414" | | detail | "hair" | | explanation | "Eva Kowalski's hair is listed as \"curly red\" in the codex, but the text describes it as \"curly red\" — this is consistent. However, the codex specifies \"curly red\" without additional qualifiers, while the text adds \"dark\" implicitly via \"warm brown eyes\" contextually conflicting? No direct contradiction. Rechecking: No violation found for hair." | | paragraph | 2 | | substring | "curly red" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 | "entry mismatch: got \"4414\", expected \"4420\"" |
|
| 5 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "Lucien Moreau's eyeColor is explicitly \"heterochromatic — one amber, one black\" in the codex, but the text does not mention heterochromatic eyes — this is an omission, not a contradiction." | | paragraph | 2 | | substring | "heterochromatic — one amber, one black" |
| | 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 \"4415\", expected \"4418\"" |
|
| 6 | | parsed | | entry | "4421" | | detail | "eyeColor" | | explanation | "Yasmin Al-Rashid's eyeColor is listed as \"amber\" in the codex, but the text describes her eyes as \"amber\" — consistent." | | paragraph | 2 | | substring | "amber" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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\"" |
|
| 7 | | parsed | | entry | "4423" | | detail | "eyeColor" | | explanation | "Isolde Varga's eyeColor is specified as \"pale lavender\" in the codex, but the text does not mention eyeColor — no contradiction." | | paragraph | 2 | | substring | "pale lavender" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"tattoo\"" |
|
| 8 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The Veil Market's ruler is listed as \"Prince Belphegor\" in the codex, but the text refers to \"their base is in Avaros\" (Avaros is the realm ruler). This implies the market's location is tied to Avaros' ruler, but the text does not explicitly state the market's ruler — no direct contradiction." | | paragraph | 2 | | substring | "Prince Belphegor" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 9 | | parsed | | entry | "854" | | detail | "signColor" | | explanation | "The Raven's Nest's signColor is \"distinctive green neon sign above the entrance\" in the codex, but the text describes it as \"green neon sign\" — consistent." | | paragraph | 2 | | substring | "distinctive green neon sign above the entrance" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 10 | | parsed | | entry | "855" | | detail | "skyColor" | | explanation | "Avaros' skyColor is \"sickly gold\" in the codex, but the text describes Avaros' sky as \"sickly gold\" — consistent." | | paragraph | 2 | | substring | "sickly gold" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 11 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "The Veil Market's currentLocation is \"abandoned Tube station beneath Camden\" in the codex, but the text specifies \"Camden\" — consistent." | | paragraph | 2 | | substring | "abandoned Tube station beneath Camden" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 12 | | parsed | | entry | "857" | | detail | "skyColor" | | explanation | "Irath's skyColor is \"permanent bruised red\" in the codex, but the text describes it as \"permanent bruised red\" — consistent." | | paragraph | 2 | | substring | "permanent bruised red" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 13 | | parsed | | entry | "858" | | detail | "realm" | | explanation | "Eva's Flat's realm is \"Earth\" in the codex, but the text places it on \"Brick Lane, East London\" — consistent." | | paragraph | 2 | | substring | "Earth" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 14 | | parsed | | entry | "859" | | detail | "atmosphere" | | explanation | "Somnia's atmosphere is \"faintly sweet, narcotic smell\" in the codex, but the text describes it as \"faintly sweet smell\" — minor discrepancy but not a direct contradiction." | | paragraph | 2 | | substring | "faintly sweet, narcotic smell" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 15 | | parsed | | entry | "860" | | detail | "password" | | explanation | "Yasmin's Apothecary's password is \"moonrise\" in the codex, but the text describes it as \"moonrise (required for back room access)\" — consistent." | | paragraph | 2 | | substring | "moonrise (required for back room access)" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 16 | | parsed | | entry | "861" | | detail | "parkLocation" | | explanation | "The Fae Grove's parkLocation is \"Richmond Park\" in the codex, but the text specifies \"Richmond Park\" — consistent." | | paragraph | 2 | | substring | "Richmond Park" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 17 | | parsed | | entry | "862" | | detail | "skyColor" | | explanation | "Luxuria's skyColor is \"deep twilight purple\" in the codex, but the text describes it as \"deep twilight purple\" — consistent." | | paragraph | 2 | | substring | "deep twilight purple" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 18 | | parsed | | entry | "4422" | | detail | "eyes" | | explanation | "Yasmin's scent is listed as \"faintly of sandalwood and burnt sage\" in the codex — consistent." | | paragraph | 2 | | substring | "faintly of sandalwood and burnt sage" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "his dark brown eyes troubled" | | locationAccurate | false |
| | 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\"" |
|
| 19 | | parsed | | entry | "4424" | | detail | "password" | | explanation | "The Veil Compass's creator is \"crafted by a Shade artisan\" in the codex, but the text specifies \"crafted by a Shade artisan\" — consistent." | | paragraph | 2 | | substring | "moonrise (required for back room access)" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 20 | | parsed | | entry | "855" | | detail | "realm" | | explanation | "Avaros' realm is \"Greed\" in the codex, but the text describes it as \"Greed\" — consistent." | | paragraph | 2 | | substring | "Hel" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 21 | | parsed | | entry | "856" | | detail | "realm" | | explanation | "Somnia's realm is \"Sloth\" in the codex, but the text describes it as \"Sloth\" — consistent." | | paragraph | 2 | | substring | "Hel" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 22 | | parsed | | entry | "857" | | detail | "realm" | | explanation | "Luxuria's realm is \"Lust\" in the codex, but the text describes it as \"Lust\" — consistent." | | paragraph | 2 | | substring | "Hel" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 23 | | parsed | | entry | "858" | | detail | "realm" | | explanation | "Irath's realm is \"Wrath\" in the codex, but the text describes it as \"Wrath\" — consistent." | | paragraph | 2 | | substring | "Hel" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 24 | | parsed | | entry | "859" | | detail | "realm" | | explanation | "Eva's Flat's realm is \"Earth\" in the codex — consistent." | | paragraph | 2 | | substring | "Earth" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 25 | | parsed | | entry | "860" | | detail | "entryRequirement" | | explanation | "The Veil Market's entryRequirement is \"bone token\" in the codex — consistent." | | paragraph | 2 | | substring | "bone token" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 26 | | parsed | | entry | "861" | | detail | "standingStones" | | explanation | "The Fae Grove's standingStones are \"ancient oak standing stones mark the boundary\" in the codex — consistent." | | paragraph | 2 | | substring | "ancient oak standing stones mark the boundary" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 27 | | parsed | | entry | "862" | | detail | "timeBehavior" | | explanation | "The Veil's timeBehavior is \"time moves differently — an hour inside can be minutes or days outside\" in the codex — consistent." | | paragraph | 2 | | substring | "time moves differently — an hour inside can be minutes or days outside" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 28 | | parsed | | entry | "863" | | detail | "skyColor" | | explanation | "Irath's skyColor is \"permanent bruised red\" in the codex — consistent." | | paragraph | 2 | | substring | "permanent bruised red" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 29 | | parsed | | entry | "854" | | detail | "beard" | | explanation | "Silas' beard is described as \"neatly trimmed, matching his grey-streaked auburn hair\" in the codex — consistent." | | paragraph | 2 | | substring | "neatly trimmed, matching his grey-streaked auburn hair" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 30 | | parsed | | entry | "4412" | | detail | "eyeColor" | | explanation | "Aurora's eyeColor is \"bright blue\" in the codex — consistent." | | paragraph | 1 | | substring | "bright blue" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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\"" |
|
| 31 | | parsed | | entry | "4412" | | detail | "hair" | | explanation | "Aurora's hair is \"straight shoulder-length black\" in the codex — consistent." | | paragraph | 1 | | substring | "straight shoulder-length black" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 | "entry mismatch: got \"4412\", expected \"4420\"" |
|
| 32 | | parsed | | entry | "4412" | | detail | "age" | | explanation | "Aurora's age is \"25\" in the codex — consistent." | | paragraph | 1 | | substring | "25" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 33 | | parsed | | entry | "4412" | | detail | "scar" | | explanation | "Aurora's scar is \"small crescent-shaped scar on her left wrist from a childhood accident\" in the codex — consistent." | | paragraph | 1 | | substring | "small crescent-shaped scar on her left wrist from a childhood accident" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 | "entry mismatch: got \"4412\", expected \"4417\"" |
|
| 34 | | parsed | | entry | "4412" | | detail | "description" | | explanation | "The text's description matches the codex — consistent." | | paragraph | 1 | | substring | "Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 35 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The text's backstory matches the codex — consistent." | | paragraph | 1 | | substring | "Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 36 | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "Eva's eyeColor is \"green\" in the codex — consistent." | | paragraph | 2 | | substring | "green" |
| | 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 \"4413\", expected \"4418\"" |
|
| 37 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "Eva's hair is \"curly red\" in the codex — consistent." | | paragraph | 2 | | substring | "curly red" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 | "entry mismatch: got \"4413\", expected \"4420\"" |
|
| 38 | | parsed | | entry | "4413" | | detail | "age" | | explanation | "Eva's age is \"26\" in the codex — consistent." | | paragraph | 2 | | substring | "26" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 39 | | parsed | | entry | "4413" | | detail | "glasses" | | explanation | "Eva's glasses are \"round glasses\" in the codex — consistent." | | paragraph | 2 | | substring | "round glasses" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 40 | | parsed | | entry | "4413" | | detail | "satchel" | | explanation | "Eva's satchel is \"worn leather satchel full of books\" in the codex — consistent." | | paragraph | 2 | | substring | "worn leather satchel full of books" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 41 | | parsed | | entry | "4413" | | detail | "freckles" | | explanation | "Eva's freckles are \"freckled complexion\" in the codex — consistent." | | paragraph | 2 | | substring | "freckled complexion" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 42 | | parsed | | entry | "4413" | | detail | "nervousHabit" | | explanation | "Eva's nervousHabit is \"tucking hair behind her left ear\" in the codex — consistent." | | paragraph | 2 | | substring | "tucking hair behind her left ear" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 43 | | parsed | | entry | "4414" | | detail | "satchel" | | explanation | "Eva's satchel is \"worn leather satchel full of books\" in the codex — consistent." | | paragraph | 2 | | substring | "worn leather satchel full of books" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 44 | | parsed | | entry | "4414" | | detail | "freckles" | | explanation | "Eva's freckles are \"freckled complexion\" in the codex — consistent." | | paragraph | 2 | | substring | "freckled complexion" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 45 | | parsed | | entry | "4414" | | detail | "glasses" | | explanation | "Eva's glasses are \"round glasses\" in the codex — consistent." | | paragraph | 2 | | substring | "round glasses" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 46 | | parsed | | entry | "4414" | | detail | "skinTone" | | explanation | "Eva's skinTone is \"bronze skin\" in the codex — consistent." | | paragraph | 2 | | substring | "bronze skin" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 47 | | parsed | | entry | "4414" | | detail | "tattoo" | | explanation | "Eva's tattoo is \"flame serpent tattoo coiling up her left arm\" in the codex — consistent." | | paragraph | 2 | | substring | "flame serpent tattoo coiling up her left arm" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 | "entry mismatch: got \"4414\", expected \"4421\"" |
|
| 48 | | parsed | | entry | "4414" | | detail | "backStory" | | explanation | "Eva's backStory is \"Descends from a line of Djinn-touched humans from Marrakech. Trained by her grandmother.\" — consistent." | | paragraph | 2 | | substring | "Descends from a line of Djinn-touched humans from Marrakech. Trained by her grandmother." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 49 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "Lucien's eyeColor is \"dark brown\" in the codex — consistent." | | paragraph | 2 | | substring | "dark brown" |
| | 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 \"4415\", expected \"4418\"" |
|
| 50 | | parsed | | entry | "4415" | | detail | "hair" | | explanation | "Lucien's hair is \"slicked-back platinum blond\" in the codex — consistent." | | paragraph | 2 | | substring | "slicked-back platinum blond" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 | "entry mismatch: got \"4415\", expected \"4420\"" |
|
| 51 | | parsed | | entry | "4415" | | detail | "height" | | explanation | "Lucien's height is \"5'11\"\" in the codex — consistent." | | paragraph | 2 | | substring | "5'11" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 52 | | parsed | | entry | "4415" | | detail | "age" | | explanation | "Lucien's age is \"32\" in the codex — consistent." | | paragraph | 2 | | substring | "32" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 53 | | parsed | | entry | "4415" | | detail | "cane" | | explanation | "Lucien's cane is \"ivory-handled cane that conceals a thin blade\" in the codex — consistent." | | paragraph | 2 | | substring | "ivory-handled cane that conceals a thin blade" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 54 | | parsed | | entry | "4415" | | detail | "dress" | | explanation | "Lucien's dress is \"tailored charcoal suits\" in the codex — consistent." | | paragraph | 2 | | substring | "tailored charcoal suits" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 55 | | parsed | | entry | "4415" | | detail | "description" | | explanation | "Lucien's description is \"An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.\" — consistent." | | paragraph | 2 | | substring | "An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 56 | | parsed | | entry | "4416" | | detail | "eyeColor" | | explanation | "Kai's eyeColor is \"dark brown\" in the codex — consistent." | | paragraph | 2 | | substring | "dark brown" |
| | 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 \"4416\", expected \"4418\"" |
|
| 57 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "Kai's hair is \"electric-blue in an undercut\" in the codex — consistent." | | paragraph | 2 | | substring | "electric-blue in an undercut" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 | "entry mismatch: got \"4416\", expected \"4420\"" |
|
| 58 | | parsed | | entry | "4416" | | detail | "height" | | explanation | "Kai's height is \"5'7\"\" in the codex — consistent." | | paragraph | 2 | | substring | "5'7" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 59 | | parsed | | entry | "4416" | | detail | "age" | | explanation | "Kai's age is \"22\" in the codex — consistent." | | paragraph | 2 | | substring | "22" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 60 | | parsed | | entry | "4416" | | detail | "headphones" | | explanation | "Kai's headphones are \"noise-cancelling headphones, always worn around his neck\" in the codex — consistent." | | paragraph | 2 | | substring | "noise-cancelling headphones, always worn around his neck" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 61 | | parsed | | entry | "4416" | | detail | "wristTattoo" | | explanation | "Kai's wristTattoo is \"small circuit board tattoo on the inside of his right wrist\" in the codex — consistent." | | paragraph | 2 | | substring | "small circuit board tattoo on the inside of his right wrist" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 | "entry mismatch: got \"4416\", expected \"4421\"" |
|
| 62 | | parsed | | entry | "4416" | | detail | "build" | | explanation | "Kai's build is \"lean\" in the codex — consistent." | | paragraph | 2 | | substring | "lean" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 63 | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "Tomás' eyeColor is \"warm brown\" in the codex — consistent." | | paragraph | 2 | | substring | "warm brown" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 \"eyeColor\", expected \"scar\"" |
|
| 64 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "Tomás' hair is \"short curly dark brown\" in the codex — consistent." | | paragraph | 2 | | substring | "short curly dark brown" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 \"hair\", expected \"scar\"" |
|
| 65 | | parsed | | entry | "4417" | | detail | "skinTone" | | explanation | "Tomás' skinTone is \"olive skin\" in the codex — consistent." | | paragraph | 2 | | substring | "olive skin" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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\"" |
|
| 66 | | parsed | | entry | "4417" | | detail | "scar" | | explanation | "Tomás' scar is \"scar running along his left forearm\" in the codex — consistent." | | paragraph | 2 | | 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 2]" | | inBounds | true | | expectedText | "his scarred right forearm" | | locationAccurate | false |
|
|
| 67 | | parsed | | entry | "4417" | | detail | "medallion" | | explanation | "Tomás' medallion is \"Saint Christopher medallion around his neck\" in the codex — consistent." | | paragraph | 2 | | substring | "Saint Christopher medallion around his neck" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 \"medallion\", expected \"scar\"" |
|
| 68 | | parsed | | entry | "4417" | | detail | "birthplace" | | explanation | "Tomás' birthplace is \"Seville, Spain\" in the codex — consistent." | | paragraph | 2 | | substring | "Seville, Spain" |
| | 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 | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "his Madrid accent" | | locationAccurate | false |
|
|
| 69 | | parsed | | entry | "4417" | | detail | "occupation" | | explanation | "Tomás' occupation is \"former paramedic who provides off-the-books medical care for the clique\" in the codex — consistent." | | paragraph | 2 | | substring | "former paramedic who provides off-the-books medical care for the clique" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | 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 \"occupation\", expected \"scar\"" |
|
| 70 | | parsed | | entry | "4418" | | detail | "eyeColor" | | explanation | "Nyx's eyeColor is \"faintly glowing violet\" in the codex — consistent." | | paragraph | 2 | | 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 2]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
|
|
| 71 | | parsed | | entry | "4418" | | detail | "age" | | explanation | "" | | paragraph | 2 | | substring | "ageless" |
| | 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 | "detail mismatch: got \"age\", expected \"eyeColor\"" |
|