| 0 | | parsed | | entry | "4412" | | detail | "eyeColor" | | explanation | "The codex states Aurora’s eye color is bright blue, but the text describes them as glowing blue." | | paragraph | 1 | | substring | "glowing blue eyes" |
| | status | "false_positive" | | location | | extractedText | "glowing blue eyes" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | true |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4412\", expected \"4418\"" |
|
| 1 | | parsed | | entry | "4412" | | detail | "hair" | | explanation | "The codex states Aurora’s hair is black, but the text describes it as dark brown." | | paragraph | 1 | | substring | "black hair" |
| | 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 the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4412\", expected \"4420\"" |
|
| 2 | | parsed | | entry | "4412" | | detail | "height" | | explanation | "The codex states Aurora is 5'6\", but the text states she is 5'7\"" | | paragraph | 1 | | substring | "5'6" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 3 | | parsed | | entry | "4412" | | detail | "scar" | | explanation | "The codex describes the scar as being on her left wrist, but the text says it is on her left wrist." | | 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 the codex, but the passage says right forearm." |
| | reason | "entry mismatch: got \"4412\", expected \"4417\"" |
|
| 4 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states her father is an Irish barrister, but the text describes him as an Irish barrister." | | paragraph | 1 | | substring | "Brendan Carter" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 5 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states her mother is Welsh, but the text describes her as Welsh teacher." | | paragraph | 1 | | substring | "Jennifer Carter née Ellis" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 6 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states Aurora fled to London with Eva, but the text now states Aurora fled to London with her childhood friend Eva." | | paragraph | 1 | | substring | "Eva" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 7 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states she fled to London as a result of an abusive ex named Evan, but the text states she fled as a result of an abusive ex named Evan." | | paragraph | 1 | | substring | "Evan" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 8 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant, but the text describes her as a delivery person for Yu-Fei Cheung's." | | paragraph | 1 | | substring | "Yu-Fei Cheung's" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 9 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states she lives in a flat above Silas' bar, but the text states she lives in a flat above Silas' bar." | | paragraph | 1 | | substring | "Silas' bar" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 10 | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The codex states Silas' eye color is hazel, but the text doesn't specify his eye color." | | paragraph | 1 | | substring | "hazel eyes" |
| | 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 the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4413\", expected \"4418\"" |
|
| 11 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "The codex states Silas has grey-streaked auburn hair, but the text describes it as 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 the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4413\", expected \"4420\"" |
|
| 12 | | parsed | | entry | "4413" | | detail | "height" | | explanation | "The codex states Silas is 6'1\", but the text states he is 6'1\"" | | paragraph | 1 | | substring | "6'1" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 13 | | parsed | | entry | "4413" | | detail | "beard" | | explanation | "The codex states Silas has a neatly trimmed beard matching his grey-streaked auburn hair, but the text does not mention a beard." | | paragraph | 1 | | substring | "neatly trimmed" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 14 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "The codex describes a limp in his left leg, but the text describes a limp in his left leg." | | paragraph | 1 | | substring | "left leg" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 15 | | parsed | | entry | "4413" | | detail | "signetRing" | | explanation | "The codex states Silas wears a signet ring on his right hand, but the text doesn’t mention it." | | paragraph | 1 | | substring | "right hand" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 16 | | parsed | | entry | "4413" | | detail | "description" | | explanation | "The codex describes Silas with quiet authority, but the text does not specify." | | paragraph | 1 | | substring | "quiet authority" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 17 | | parsed | | entry | "4413" | | detail | "backstory" | | explanation | "The codex states Silas was a former MI6 field agent, but the text does not state he was an MI6 agent." | | paragraph | 1 | | substring | "MI6" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 18 | | parsed | | entry | "4413" | | detail | "backstory" | | explanation | "The codex states Silas retired after a botched operation in Prague, but the text says he retired after a botched operation in Prague." | | paragraph | 1 | | substring | "Prague" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 19 | | parsed | | entry | "4414" | | detail | "eyeColor" | | explanation | "The codex states Eva's eye color is green, but the text says they have green eyes." | | paragraph | 1 | | substring | "green eyes" |
| | 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 the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4414\", expected \"4418\"" |
|
| 20 | | parsed | | entry | "4414" | | detail | "hair" | | explanation | "The codex states Eva’s hair is curly red, but the text describes her hair as curly red." | | 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 the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4414\", expected \"4420\"" |
|
| 21 | | parsed | | entry | "4414" | | detail | "glasses" | | explanation | "The codex states Eva wears round glasses, but the text doesn’t mention glasses." | | paragraph | 1 | | substring | "round glasses" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 22 | | parsed | | entry | "4414" | | detail | "satchel" | | explanation | "The codex states Eva has a worn leather satchel, but the text describes her satchel." | | paragraph | 1 | | substring | "worn leather satchel" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 23 | | parsed | | entry | "4414" | | detail | "freckles" | | explanation | "The codex states Eva has freckles, but the text doesn’t mention freckles." | | paragraph | 1 | | substring | "freckled complexion" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 24 | | parsed | | entry | "4414" | | detail | "nervousHabit" | | explanation | "The codex describes Eva tucking her hair behind her left ear, but the text says she tucks her hair behind her left ear." | | paragraph | 1 | | substring | "left ear" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 25 | | parsed | | entry | "4414" | | detail | "description" | | explanation | "The codex states Aurora's friend is an occult researcher, but the text describes Eva as an occult researcher." | | paragraph | 1 | | substring | "occult researcher" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 26 | | parsed | | entry | "4414" | | detail | "backstory" | | explanation | "The codex states Eva earned a master's degree from Oxford, but the text states she earned a master's degree from Oxford." | | paragraph | 1 | | substring | "Oxford" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 27 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "The codex states Lucien’s eye color is heterochromatic — one amber, one black, but the text doesn’t describe his eye color." | | 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 the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4415\", expected \"4418\"" |
|
| 28 | | parsed | | entry | "4415" | | detail | "hair" | | explanation | "The codex states Lucien has slicked-back platinum blond hair, but the text doesn’t describe his 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 the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4415\", expected \"4420\"" |
|
| 29 | | parsed | | entry | "4415" | | detail | "cane" | | explanation | "The codex states Lucien has an ivory-handled cane, but the text describes his cane." | | paragraph | 1 | | substring | "ivory-handled cane" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 30 | | parsed | | entry | "4415" | | detail | "dress" | | explanation | "The codex states Lucien wears tailored charcoal suits, but the text doesn’t specify his dress." | | paragraph | 1 | | substring | "tailored charcoal suits" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 31 | | parsed | | entry | "4415" | | detail | "description" | | explanation | "The codex states Lucien is an information broker, but the text says he is a fixer." | | paragraph | 1 | | substring | "information broker" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 32 | | parsed | | entry | "4415" | | detail | "backstory" | | explanation | "The codex states Lucien’s father is a demon, but the text doesn’t specify." | | paragraph | 1 | | substring | "demon father" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 33 | | parsed | | entry | "4416" | | detail | "eyeColor" | | explanation | "The codex states Detective Quinn’s eye color is brown, but the text states her eye color is brown." | | 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 the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4416\", expected \"4418\"" |
|
| 34 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex states Detective Quinn has closely cropped salt-and-pepper hair, but the text does not describe her hair." | | 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 the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
|
| 35 | | parsed | | entry | "4416" | | detail | "jawline" | | explanation | "The codex states Detective Quinn has a sharp jawline, but the text does not describe her jawline." | | paragraph | 1 | | substring | "sharp jaw" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 36 | | parsed | | entry | "4416" | | detail | "watch" | | explanation | "The codex states Detective Quinn wears a watch on her left wrist, but the text doesn’t mention a watch." | | paragraph | 1 | | substring | "left wrist" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 37 | | parsed | | entry | "4416" | | detail | "bearing" | | explanation | "The codex states Detective Quinn has military precision, but the text doesn’t specify." | | paragraph | 1 | | substring | "military precision" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 38 | | parsed | | entry | "4416" | | detail | "backstory" | | explanation | "The codex states Detective Quinn lost her partner, DS Morris, but the text does not mention her partner." | | paragraph | 1 | | substring | "DS Morris" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 39 | | parsed | | entry | "4416" | | detail | "backstory" | | explanation | "The codex states her partner’s death had supernatural origins, but the text does not specification." | | paragraph | 1 | | substring | "supernatural origins" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 40 | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "The codex states Tomás’s eye color is warm brown, but the text does not describe his eye color." | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"scar\"" |
|
| 41 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex states Tomás has short curly dark brown hair, but the text does not describe his 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
|
| 42 | | parsed | | entry | "4417" | | detail | "skinTone" | | explanation | "The codex states Tomás has olive skin, but the text does not describe his 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"skinTone\", expected \"scar\"" |
|
| 43 | | parsed | | entry | "4417" | | detail | "scar" | | explanation | "The codex states Tomás has a scar on his left forearm, but the text describes a scar on 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 the codex, but the passage says right forearm." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "his scarred right forearm" | | locationAccurate | false |
|
|
| 44 | | parsed | | entry | "4417" | | detail | "medallion" | | explanation | "The codex states Tomás wears a Saint Christopher medallion, but the text describes his 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"medallion\", expected \"scar\"" |
|
| 45 | | parsed | | entry | "4417" | | detail | "birthplace" | | explanation | "The codex states Tomás was born in Seville, Spain, but the text describes his birthplace." | | paragraph | 1 | | substring | "Seville, Spain" |
| | status | "true_positive" | | matchedExpected | | entry | "4417" | | detail | "birthplace" | | summary | "Tomás was born in Seville per the codex, but the passage implies Madrid via his accent." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "his Madrid accent" | | locationAccurate | false |
|
|
| 46 | | parsed | | entry | "4417" | | detail | "description" | | explanation | "The codex states Tomás is a former paramedic, but the text says he is a former paramedic." | | paragraph | 1 | | substring | "paramedic" |
| | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"description\", expected \"scar\"" |
|
| 47 | | parsed | | entry | "4417" | | detail | "backstory" | | explanation | "The codex states Tomás lost his license working for the NHS, but the text describes his work." | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 48 | | parsed | | entry | "4420" | | detail | "eyeColor" | | explanation | "The codex states Kai has dark brown eyes, but the text does not describe his eye color." | | 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 the codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"hair\"" |
|
| 49 | | parsed | | entry | "4420" | | detail | "hair" | | explanation | "The codex states Kai has electric-blue hair, but the text describes his hair." | | paragraph | 1 | | substring | "electric-blue" |
| | status | "true_positive" | | matchedExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
|
|
| 50 | | parsed | | entry | "4420" | | detail | "headphones" | | explanation | "The codex states Kai has noise-cancelling headphones, but the text describes his headphones." | | 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 the codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"headphones\", expected \"hair\"" |
|
| 51 | | parsed | | entry | "4420" | | detail | "wristTattoo" | | explanation | "The codex states Kai has a circuit board tattoo on his right wrist, but the text describes his tattoo." | | 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 the codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"wristTattoo\", expected \"hair\"" |
|
| 52 | | parsed | | entry | "4420" | | detail | "build" | | explanation | "The codex states Kai is lean, but the text does not describe his build." | | 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 the codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"build\", expected \"hair\"" |
|
| 53 | | parsed | | entry | "4420" | | detail | "backstory" | | explanation | "The codex states Kai dropped out of Imperial College London, but the text does not mention this." | | 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 the codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"backstory\", expected \"hair\"" |
|
| 54 | | parsed | | entry | "4420" | | detail | "backstory" | | explanation | "The codex states Kai lives in a shipping container in Hackney Wick, but the text does not mention this." | | paragraph | 1 | | substring | "Hackney Wick" |
| | 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 the codex, but the passage says natural black hair." |
| | reason | "detail mismatch: got \"backstory\", expected \"hair\"" |
|
| 55 | | parsed | | entry | "853" | | detail | "skyColor" | | explanation | "The codex states the sky color of Dymas is warm amber, but the text does not describe the sky." | | paragraph | 1 | | substring | "warm amber" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 56 | | parsed | | entry | "854" | | detail | "entryRequirement" | | explanation | "The codex states the entry requirement to the Veil Market is a bone token, but the text does not mention this." | | paragraph | 1 | | substring | "bone token" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 57 | | parsed | | entry | "856" | | detail | "schedule" | | explanation | "The codex states the Veil Market moves locations every full moon, but the text does not mention this." | | paragraph | 1 | | substring | "full moon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "the abandoned Tube station beneath Shoreditch" | | locationAccurate | false |
| | closestExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is beneath Camden per the codex, but the passage says Shoreditch." |
| | reason | "detail mismatch: got \"schedule\", expected \"currentLocation\"" |
|