| 0 | | parsed | | entry | "4412" | | detail | "species" | | explanation | "The text states Aurora Carter is Human, but the codex states she is Half-Demon." | | paragraph | 1 | | substring | "Human" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 1 | | parsed | | entry | "4412" | | detail | "scar" | | explanation | "The text mentions a crescent-shaped scar, while the codex describes a crescent-shaped scar." | | paragraph | 1 | | substring | "left wrist" |
| | 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\"" |
|
| 2 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states Rory reluctantly pursued Pre-Law, but the text implies she was unwillingly compelled." | | paragraph | 1 | | substring | "Cardiff University" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 3 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex describes Eva as an occult researcher, but the text simply labels her as Aurora's childhood friend, not specifying her research area." | | paragraph | 1 | | substring | "Eva" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 4 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The text identifies the abusive ex as Evan, differing from the codex's “Evan”." | | paragraph | 1 | | substring | "Evan" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 5 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex indicates Yu-Fei Cheung runs the Golden Empress restaurant, but the text places her as the owner." | | paragraph | 1 | | substring | "Yu-Fei Cheung" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 6 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex describes Silas as a retired intelligence operative, the text simply defines him as a bar owner." | | paragraph | 1 | | substring | "Silas" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 7 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex identifies “The Raven’s Nest” as a front for Silas' network, the text simply refers to it as a bar." | | paragraph | 1 | | substring | "The Raven's Nest" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 8 | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The codex states Silas' eye color as hazel, but the text does not specify." | | paragraph | 1 | | substring | "hazel" |
| | 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 \"4413\", expected \"4418\"" |
|
| 9 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "The codex specifies grey-streaked auburn hair, but the text simply states “grey-streaked auburn”." | | paragraph | 1 | | substring | "grey-streaked auburn" |
| | 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 \"4413\", expected \"4420\"" |
|
| 10 | | parsed | | entry | "4413" | | detail | "beard" | | explanation | "The codex describes Silas’ beard as neatly trimmed, but the text doesn't explicitly mention a beard, just hair." | | paragraph | 1 | | substring | "neatly trimmed" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 11 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "The text indicates a limp in his *left* leg, while the codex states his *left* leg." | | paragraph | 1 | | substring | "left leg" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 12 | | parsed | | entry | "4413" | | detail | "signetRing" | | explanation | "The codex states the signet ring is worn on his *right* hand, but the text does not specify the hand." | | paragraph | 1 | | substring | "right hand" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 13 | | parsed | | entry | "4413" | | detail | "description" | | explanation | "The codex describes Silas as carrying himself with quiet authority, the text simply states he has quiet authority." | | paragraph | 1 | | substring | "quiet authority" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 14 | | parsed | | entry | "4413" | | detail | "backstory" | | explanation | "The codex details Silas's past as an MI6 agent, but the text states that he was a former agent." | | paragraph | 1 | | substring | "MI6" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 15 | | parsed | | entry | "4414" | | detail | "eyeColor" | | explanation | "The text states Eva has green eyes, while the codex states she has green eyes." | | paragraph | 1 | | substring | "green" |
| | 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 \"4414\", expected \"4418\"" |
|
| 16 | | parsed | | entry | "4414" | | detail | "hair" | | explanation | "The text states Eva has curly red hair, while the codex states she has curly red hair." | | paragraph | 1 | | substring | "curly red" |
| | 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 \"4414\", expected \"4420\"" |
|
| 17 | | parsed | | entry | "4414" | | detail | "glasses" | | explanation | "The codex states Eva wears round glasses, but the text does not specify." | | paragraph | 1 | | substring | "round glasses" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 18 | | parsed | | entry | "4414" | | detail | "satchel" | | explanation | "The text states she has a worn leather satchel, the codex states she has a worn leather satchel." | | paragraph | 1 | | substring | "worn leather satchel" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 19 | | parsed | | entry | "4414" | | detail | "freckles" | | explanation | "The codex indicates Eva has freckles, the text does not." | | paragraph | 1 | | substring | "freckled complexion" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 20 | | parsed | | entry | "4414" | | detail | "nervousHabit" | | explanation | "The text states Eva tucks her hair behind her *left* ear, while the codex mentions her left ear." | | paragraph | 1 | | substring | "left ear" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 21 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "The text states Lucien has heterochromatic eyes—one amber, one black, while the codex states he has heterochromatic eyes —one amber, one black." | | paragraph | 1 | | substring | "heterochromatic" |
| | 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 \"4415\", expected \"4418\"" |
|
| 22 | | parsed | | entry | "4415" | | detail | "hair" | | explanation | "The text states Lucien's hair is slicked-back platinum blond, while the codex states he has platinum blond hair." | | paragraph | 1 | | substring | "slicked-back platinum blond" |
| | 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 \"4415\", expected \"4420\"" |
|
| 23 | | parsed | | entry | "4415" | | detail | "cane" | | explanation | "The codex states Lucien has an ivory-handled cane, which conceals a thin blade, while the text simply mentions he has a cane." | | paragraph | 1 | | substring | "ivory-handled cane" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 24 | | parsed | | entry | "4415" | | detail | "dress" | | explanation | "The codex describes Lucien wearing tailored charcoal suits, while the text simply states he wears them." | | paragraph | 1 | | substring | "tailored charcoal suits" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 25 | | parsed | | entry | "4415" | | detail | "description" | | explanation | "The codex describes Lucien as an impeccably dressed fixer and information broker, the text simply states he is." | | paragraph | 1 | | substring | "fixer and information broker" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 26 | | parsed | | entry | "4415" | | detail | "backstory" | | explanation | "The codex states Lucien is Half-Demon born in Marseille to a human mother and a demon father from the realm of Avaros, the text simply states he was born in Marseille." | | paragraph | 1 | | substring | "realm of Avaros" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 27 | | parsed | | entry | "4416" | | detail | "eyeColor" | | explanation | "The text states Detective Quinn has brown eyes, while the codex states she has brown eyes." | | paragraph | 1 | | substring | "brown" |
| | 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 \"4416\", expected \"4418\"" |
|
| 28 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex states her hair is closely cropped salt-and-pepper, while the text states it is cropped." | | paragraph | 1 | | substring | "closely cropped salt-and-pepper" |
| | 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 \"4416\", expected \"4420\"" |
|
| 29 | | parsed | | entry | "4416" | | detail | "jawline" | | explanation | "The codex describes Quinn having a sharp jawline, but the text doesn't specify." | | paragraph | 1 | | substring | "sharp jaw" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 30 | | parsed | | entry | "4416" | | detail | "watch" | | explanation | "The text states Quinn wears a watch on her left wrist, while the codex states she wears a watch on her left wrist." | | paragraph | 1 | | substring | "left wrist" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 31 | | parsed | | entry | "4416" | | detail | "bearing" | | explanation | "The codex states Quinn has a military precision bearing, the text merely states she carries herself with quiet authority." | | paragraph | 1 | | substring | "military precision" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 32 | | parsed | | entry | "4416" | | detail | "backstory" | | explanation | "The text indicates Detective Quinn lost her partner DS Morris during a case with supernatural origins, but the codex is vague about the details." | | paragraph | 1 | | substring | "DS Morris" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 33 | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "The text states Tomás has warm brown eyes, while the codex states he has warm brown eyes." | | paragraph | 1 | | substring | "warm brown" |
| | 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 | "detail mismatch: got \"eyeColor\", expected \"scar\"" |
|
| 34 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The text states Tomás has short curly dark brown hair, while the codex describes short curly dark brown hair." | | paragraph | 1 | | substring | "short curly dark brown" |
| | 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 | "detail mismatch: got \"hair\", expected \"scar\"" |
|
| 35 | | parsed | | entry | "4417" | | detail | "skinTone" | | explanation | "The codex indicates Tomás has olive skin, while the text simply states he has olive skin." | | paragraph | 1 | | substring | "olive skin" |
| | 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 | "detail mismatch: got \"skinTone\", expected \"scar\"" |
|
| 36 | | parsed | | entry | "4417" | | detail | "scar" | | explanation | "The text specifies a scar running along his left forearm, while the codex states a scar running along his left forearm." | | paragraph | 1 | | substring | "left forearm" |
| | status | "true_positive" | | matchedExpected | | entry | "4417" | | detail | "scar" | | summary | "Tomás has a scar on his left forearm per codex, but the passage says right forearm." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "his scarred right forearm" | | locationAccurate | false |
|
|
| 37 | | parsed | | entry | "4417" | | detail | "medallion" | | explanation | "The codex states Tomás wears a Saint Christopher medallion, while the text simply states he has a medallion." | | paragraph | 1 | | substring | "Saint Christopher medallion" |
| | 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 | "detail mismatch: got \"medallion\", expected \"scar\"" |
|
| 38 | | parsed | | entry | "4417" | | detail | "birthplace" | | explanation | "The text states Tomás was born in Seville, Spain, confirms the codex." | | paragraph | 1 | | 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 1]" | | inBounds | true | | expectedText | "his Madrid accent" | | locationAccurate | false |
|
|
| 39 | | parsed | | entry | "4417" | | detail | "description" | | explanation | "The text states Tomás provides off-the-books medical care, confirming the codex." | | paragraph | 1 | | substring | "off-the-books medical care" |
| | 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 | "detail mismatch: got \"description\", expected \"scar\"" |
|
| 40 | | parsed | | entry | "4417" | | detail | "backstory" | | explanation | "The codex states Tomás lost his license after administering unauthorized treatments, while the text simply states he lost his license." | | paragraph | 1 | | substring | "NHS" |
| | 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 | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 41 | | parsed | | entry | "4418" | | detail | "eyeColor" | | explanation | "The text states Nyx has faintly glowing violet eyes, the codex describes them as faintly glowing violet." | | paragraph | 1 | | 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 1]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
|
|
| 42 | | parsed | | entry | "4418" | | detail | "form" | | explanation | "The text describes Nyx as a humanoid silhouette, while the codex states they are an humanoid silhouette of living shadow." | | paragraph | 1 | | substring | "humanoid silhouette" |
| | 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 | "detail mismatch: got \"form\", expected \"eyeColor\"" |
|
| 43 | | parsed | | entry | "4418" | | detail | "voice" | | explanation | "The text describes Nyx's voice as a whisper carried on the wind, which matches the codex’s description." | | paragraph | 1 | | substring | "whisper carried on the wind" |
| | 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 | "detail mismatch: got \"voice\", expected \"eyeColor\"" |
|
| 44 | | parsed | | entry | "4418" | | detail | "backstory" | | explanation | "The text identifies Nyx as having been Aldric, a human sorcerer, while the codex states they were a Shade." | | paragraph | 1 | | substring | "Aldric" |
| | 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 | "detail mismatch: got \"backstory\", expected \"eyeColor\"" |
|
| 45 | | parsed | | entry | "4419" | | detail | "eyeColor" | | explanation | "The text states Maggie has sharp grey eyes, the codex states she has sharp grey eyes." | | paragraph | 1 | | substring | "sharp grey" |
| | 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 1]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
|
|
| 46 | | parsed | | entry | "4419" | | detail | "hair" | | explanation | "The text states Maggie has silver-white hair, which the codex states." | | paragraph | 1 | | substring | "silver-white" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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\"" |
|
| 47 | | parsed | | entry | "4419" | | detail | "glasses" | | explanation | "The text specifies Maggie wears wire-rimmed spectacles, which is consistent with the codex." | | paragraph | 1 | | substring | "wire-rimmed spectacles" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"glasses\", expected \"walkingStick\"" |
|
| 48 | | parsed | | entry | "4419" | | detail | "walkingStick" | | explanation | "The text states Maggie uses a blackthorn walking stick, aligned with the codex." | | paragraph | 1 | | substring | "blackthorn walking stick" |
| | status | "true_positive" | | matchedExpected | | entry | "4419" | | detail | "walkingStick" | | summary | "Maggie carries a blackthorn walking stick per codex, but the passage says oak." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "her oak walking stick" | | locationAccurate | false |
|
|
| 49 | | parsed | | entry | "4419" | | detail | "build" | | explanation | "The text describes Maggie’s build as slight and frail, matching the codex." | | paragraph | 1 | | substring | "slight, frail appearance" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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\"" |
|
| 50 | | parsed | | entry | "4419" | | detail | "description" | | explanation | "The text defines Maggie’s role, reflecting consistency with the codex." | | paragraph | 1 | | substring | "unofficial consultant" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"description\", expected \"walkingStick\"" |
|
| 51 | | parsed | | entry | "4419" | | detail | "backstory" | | explanation | "The codex states her late husband was a Warden, while the text vaguely states he was a Warden." | | paragraph | 1 | | substring | "Warden" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"backstory\", expected \"walkingStick\"" |
|
| 52 | | parsed | | entry | "4420" | | detail | "eyeColor" | | explanation | "The text states Kai has dark brown eyes, confirming the codex description." | | paragraph | 1 | | substring | "dark brown" |
| | 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 | "detail mismatch: got \"eyeColor\", expected \"hair\"" |
|
| 53 | | parsed | | entry | "4420" | | detail | "hair" | | explanation | "The text details Kai’s dyed hair, aligning with the codex description." | | paragraph | 1 | | substring | "dyed electric-blue" |
| | status | "true_positive" | | matchedExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per codex, but the passage says natural black hair." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "his natural black hair" | | locationAccurate | false |
|
|
| 54 | | parsed | | entry | "4420" | | detail | "headphones" | | explanation | "The text describes Kai’s headphones as noise-cancelling, mirroring the codex description." | | paragraph | 1 | | substring | "noise-cancelling headphones" |
| | 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 | "detail mismatch: got \"headphones\", expected \"hair\"" |
|
| 55 | | parsed | | entry | "4420" | | detail | "wristTattoo" | | explanation | "The text indicates a circuit board tattoo, consistent with the codex description." | | paragraph | 1 | | substring | "circuit board tattoo" |
| | 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 | "detail mismatch: got \"wristTattoo\", expected \"hair\"" |
|
| 56 | | parsed | | entry | "4420" | | detail | "build" | | explanation | "The text describes Kai’s build as lean, aligning with the codex." | | paragraph | 1 | | substring | "lean" |
| | 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 | "detail mismatch: got \"build\", expected \"hair\"" |
|
| 57 | | parsed | | entry | "4420" | | detail | "description" | | explanation | "The text states Kai is a tech prodigy, aligning with the codex description." | | paragraph | 1 | | substring | "tech prodigy" |
| | 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 | "detail mismatch: got \"description\", expected \"hair\"" |
|
| 58 | | parsed | | entry | "4420" | | detail | "backstory" | | explanation | "The text states Kai dropped out of Imperial College, aligning with the codex." | | paragraph | 1 | | substring | "Imperial College London" |
| | 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 | "detail mismatch: got \"backstory\", expected \"hair\"" |
|
| 59 | | parsed | | entry | "4421" | | detail | "eyeColor" | | explanation | "The text states Yasmin has amber eyes, aligning with the codex." | | paragraph | 1 | | substring | "amber" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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\"" |
|
| 60 | | parsed | | entry | "4421" | | detail | "hair" | | explanation | "The text describes Yasmin’s hair as long wavy dark, consistent with the codex." | | paragraph | 1 | | substring | "long wavy dark" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"hair\", expected \"tattoo\"" |
|
| 61 | | parsed | | entry | "4421" | | detail | "skinTone" | | explanation | "The text states Yasmin has bronze skin, matching the codex." | | paragraph | 1 | | substring | "bronze skin" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"skinTone\", expected \"tattoo\"" |
|
| 62 | | parsed | | entry | "4421" | | detail | "tattoo" | | explanation | "The text indicates a flame serpent tattoo, aligning with the codex." | | paragraph | 1 | | substring | "flame serpent tattoo" |
| | status | "true_positive" | | matchedExpected | | entry | "4421" | | detail | "tattoo" | | summary | "Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "tattoo on her right arm" | | locationAccurate | false |
|
|
| 63 | | parsed | | entry | "4421" | | detail | "scent" | | explanation | "The text describes Yasmin’s scent as sandalwood and burnt sage, mirroring the codex." | | paragraph | 1 | | substring | "sandalwood and burnt sage" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"scent\", expected \"tattoo\"" |
|
| 64 | | parsed | | entry | "4421" | | detail | "description" | | explanation | "The text states Yasmin is an alchemist, consistent with the codex description." | | paragraph | 1 | | substring | "alchemist" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"description\", expected \"tattoo\"" |
|
| 65 | | parsed | | entry | "4421" | | detail | "backstory" | | explanation | "The text states Yasmin’s lineage originates in Marrakech, aligning with the codex." | | paragraph | 1 | | substring | "Marrakech" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"backstory\", expected \"tattoo\"" |
|
| 66 | | parsed | | entry | "4422" | | detail | "eyeColor" | | explanation | "The text states Father Cormac has pale blue eyes, precisely as the codex describes." | | paragraph | 1 | | substring | "pale blue" |
| | status | "true_positive" | | matchedExpected | | entry | "4422" | | detail | "eyeColor" | | summary | "Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "his dark brown eyes troubled" | | locationAccurate | false |
|
|
| 67 | | parsed | | entry | "4422" | | detail | "hair" | | explanation | "The text describes his hair as thinning ginger, consistent with the codex description." | | paragraph | 1 | | substring | "thinning ginger" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"hair\", expected \"eyeColor\"" |
|
| 68 | | parsed | | entry | "4422" | | detail | "complexion" | | explanation | "The text states Cormac has a ruddy complexion, aligning with the codex." | | paragraph | 1 | | substring | "ruddy" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"complexion\", expected \"eyeColor\"" |
|
| 69 | | parsed | | entry | "4422" | | detail | "rosary" | | explanation | "The text describes a rosary made of rowan wood beads, matching the codex." | | paragraph | 1 | | substring | "rowan wood beads" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"rosary\", expected \"eyeColor\"" |
|
| 70 | | parsed | | entry | "4422" | | detail | "collar" | | explanation | "The text states Cormac wears a clerical collar, consistent with the codex description." | | paragraph | 1 | | substring | "clerical collar" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"collar\", expected \"eyeColor\"" |
|
| 71 | | parsed | | entry | "4422" | | detail | "bearing" | | explanation | "The text states Cormac has a military precision bearing, mirroring the codex." | | paragraph | 1 | | substring | "military precision" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"bearing\", expected \"eyeColor\"" |
|
| 72 | | parsed | | entry | "4422" | | detail | "backstory" | | explanation | "The text states that Cormac witnessed a demonic incursion at his seminary, aligning with the codex." | | paragraph | 1 | | substring | "failed summoning" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"backstory\", expected \"eyeColor\"" |
|
| 73 | | parsed | | entry | "4423" | | detail | "eyeColor" | | explanation | "The text states that Wei-Lin has dark brown eyes; consistent with the codex." | | paragraph | 1 | | substring | "dark brown" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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\"" |
|
| 74 | | parsed | | entry | "4423" | | detail | "hair" | | explanation | "The text states Wei-Lin has a shaved head, matching the codex." | | paragraph | 1 | | substring | "shaved head" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"hair\", expected \"tattoo\"" |
|
| 75 | | parsed | | entry | "4423" | | detail | "missingFinger" | | explanation | "The text specifies Wei-Lin’s missing left little finger, aligning with the codex." | | paragraph | 1 | | substring | "left little finger" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"missingFinger\", expected \"tattoo\"" |
|
| 76 | | parsed | | entry | "4423" | | detail | "tattoo" | | explanation | "The text documents Wei-Lin’s dragon tattoo, mirroring the codex." | | paragraph | 1 | | substring | "dragon tattoo" |
| | status | "true_positive" | | matchedExpected | | entry | "4423" | | detail | "tattoo" | | summary | "Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "the dragon tattoo on his chest" | | locationAccurate | false |
|
|
| 77 | | parsed | | entry | "4423" | | detail | "backstory" | | explanation | "The text states Wei-Lin was a former Triad enforcer, consistent with the codex." | | paragraph | 1 | | substring | "Triad enforcer" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"backstory\", expected \"tattoo\"" |
|
| 78 | | parsed | | entry | "4423" | | detail | "backstory" | | explanation | "The text states Wei-Lin almost died during a near-death experience involving a Hel portal, aligning with the codex." | | paragraph | 1 | | substring | "Hel portal" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | 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 \"backstory\", expected \"tattoo\"" |
|
| 79 | | parsed | | entry | "4424" | | detail | "eyeColor" | | explanation | "The text states Isolde has pale lavender eyes, matching the codex." | | paragraph | 1 | | substring | "pale lavender" |
| | 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 \"4424\", expected \"4418\"" |
|
| 80 | | parsed | | entry | "4424" | | detail | "hair" | | explanation | "The text describes Isolde’s hair as silver reaching her waist, mirroring the codex." | | paragraph | 1 | | substring | "silver, reaching her waist" |
| | 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 \"4424\", expected \"4420\"" |
|
| 81 | | parsed | | entry | "4424" | | detail | "appearance" | | explanation | "The text states Isolde appears ethereal and ageless, aligning with the codex." | | paragraph | 1 | | substring | "ethereal, ageless" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 82 | | parsed | | entry | "4424" | | detail | "speech" | | explanation | "The text describes Isolde’s speech as riddles, consistent with the codex." | | paragraph | 1 | | substring | "riddles" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 83 | | parsed | | entry | "4424" | | detail | "footprints" | | explanation | "The text describes Isolde as leaving no footprints, aligning with the codex." | | paragraph | 1 | | substring | "no footprints" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 84 | | parsed | | entry | "4424" | | detail | "backstory" | | explanation | "The text states Isolde was once a human sorcerer named Aldric, consistent with the codex." | | paragraph | 1 | | substring | "Aldric" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 85 | | parsed | | entry | "4424" | | detail | "backstory" | | explanation | "The text describes Isolde’s past as a failed summoning ritual, aligning with the codex." | | paragraph | 1 | | substring | "failed summoning ritual" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 86 | | parsed | | entry | "4427" | | detail | "location" | | explanation | "The text confirms Dymas is a location in Hel associated with Gluttony, which matches the codex definition." | | paragraph | 1 | | substring | "Dymas (Gluttony)" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 87 | | parsed | | entry | "4427" | | detail | "ruler" | | explanation | "The text confirms Prince Belphegor is the ruler of Dymas, aligning with the codex." | | paragraph | 1 | | substring | "Prince Belphegor" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 88 | | parsed | | entry | "4427" | | detail | "skyColor" | | explanation | "The text confirms the sky is warm amber in Dymas, matching the codex." | | paragraph | 1 | | substring | "warm amber" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|