| 0.0000% | Accuracy (recall) | Matched: 4/30, FP: 32 | | parsedCount | 36 | | matched | 4 | | total | 30 | | falsePositives | 32 | | expectedDetails | | 0 | | expected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | status | "matched" | | matchedBy | | entry | "861" | | detail | "location" | | explanation | "The text says \"Hyde Park\", but the codex says \"Richmond Park\"." | | paragraph | 12 | | substring | "Hyde Park" |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
|
| | 1 | | expected | | entry | "861" | | detail | "standingStones" | | summary | "The grove has oak standing stones per codex, but the passage says elm." |
| | status | "missed" |
| | 2 | | expected | | entry | "4424" | | detail | "eyeColor" | | summary | "Isolde has pale lavender eyes per codex, but the passage says pale blue eyes." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The text says \"her hazel eyes\", but the codex says \"hazel eyes\"." | | paragraph | 2 | | substring | "her hazel eyes" |
| | reason | "entry mismatch: got \"4413\", expected \"4424\"" |
|
| | 3 | | expected | | entry | "4424" | | detail | "footprints" | | summary | "Isolde leaves no footprints per codex, but the passage says she leaves clear prints." |
| | status | "missed" |
| | 4 | | expected | | entry | "2006" | | detail | "temperature" | | summary | "The Fae-Forged Blade is always cold per codex, but the passage says warm." |
| | status | "missed" | | nearMiss | | parsed | | entry | "2006" | | detail | "givenTo" | | explanation | "The text says \"given to Aurora by Isolde as a gift\", but the codex does not mention this detail." | | paragraph | 12 | | substring | "given to Aurora by Isolde as a gift" |
| | reason | "detail mismatch: got \"givenTo\", expected \"temperature\"" |
|
| | 5 | | expected | | entry | "4414" | | detail | "glasses" | | summary | "Eva wears round glasses per codex, but the passage says square glasses." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4414" | | detail | "hair" | | explanation | "The text says \"her curly red hair\", but the codex says \"curly red\"." | | paragraph | 2 | | substring | "her curly red hair" |
| | reason | "detail mismatch: got \"hair\", expected \"glasses\"" |
|
| | 6 | | expected | | entry | "2005" | | detail | "containerColor" | | summary | "Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials." |
| | status | "missed" | | nearMiss | | parsed | | entry | "2005" | | detail | "effect" | | explanation | "The text says \"induces a deep trance for navigating memories and dreamscapes\", but the codex does not mention this effect." | | paragraph | 12 | | substring | "induces a deep trance for navigating memories and dreamscapes" |
| | reason | "detail mismatch: got \"effect\", expected \"containerColor\"" |
|
| | 7 | | expected | | entry | "2005" | | detail | "sealMaterial" | | summary | "Dream Dust vials are sealed with black wax per codex, but Isolde says white wax." |
| | status | "missed" | | nearMiss | | parsed | | entry | "2005" | | detail | "effect" | | explanation | "The text says \"induces a deep trance for navigating memories and dreamscapes\", but the codex does not mention this effect." | | paragraph | 12 | | substring | "induces a deep trance for navigating memories and dreamscapes" |
| | reason | "detail mismatch: got \"effect\", expected \"sealMaterial\"" |
|
| | 8 | | expected | | entry | "6003" | | detail | "master" | | summary | "The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith." |
| | status | "missed" | | nearMiss | | parsed | | entry | "6003" | | detail | "alignment" | | explanation | "The text says \"Neutral Good\", but the codex says \"Neutral Evil\"." | | paragraph | 11 | | substring | "Neutral Good" |
| | reason | "detail mismatch: got \"alignment\", expected \"master\"" |
|
| | 9 | | expected | | entry | "4422" | | detail | "eyeColor" | | summary | "Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The text says \"her hazel eyes\", but the codex says \"hazel eyes\"." | | paragraph | 2 | | substring | "her hazel eyes" |
| | reason | "entry mismatch: got \"4413\", expected \"4422\"" |
|
| | 10 | | expected | | entry | "4422" | | detail | "rosary" | | summary | "Cormac carries a rowan wood rosary per codex, but the passage says cedar." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4422" | | detail | "age" | | explanation | "The text says \"Father Cormac O'Brien, 55 years old\", but the codex says \"55\"." | | paragraph | 3 | | substring | "Father Cormac O'Brien, 55 years old" |
| | reason | "detail mismatch: got \"age\", expected \"rosary\"" |
|
| | 11 | | expected | | entry | "7002" | | detail | "signedYear" | | summary | "The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066." |
| | status | "missed" | | nearMiss | | parsed | | entry | "7001" | | detail | "signedYear" | | explanation | "The text says \"1066\", but the codex says \"1215\"." | | paragraph | 12 | | substring | "1066" |
| | reason | "entry mismatch: got \"7001\", expected \"7002\"" |
|
| | 12 | | expected | | entry | "6004" | | detail | "headquarters" | | summary | "The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark." |
| | status | "missed" | | nearMiss | | parsed | | entry | "6001" | | detail | "headquarters" | | explanation | "The text says \"Westminster Catacombs, London\", but the codex says \"Westminster Catacombs, London\". However, the codex also states that the Wardens of the Veil have a global presence, so this detail might not be incorrect." | | paragraph | 11 | | substring | "Westminster Catacombs, London" |
| | reason | "entry mismatch: got \"6001\", expected \"6004\"" |
|
| | 13 | | expected | | entry | "4415" | | detail | "cane" | | summary | "Lucien carries an ivory-handled cane per codex, but the passage says mahogany." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4415" | | detail | "age" | | explanation | "The text says \"Lucien, 32 years old\", but the codex says \"32\"." | | paragraph | 3 | | substring | "Lucien, 32 years old" |
| | reason | "detail mismatch: got \"age\", expected \"cane\"" |
|
| | 14 | | expected | | entry | "4415" | | detail | "eyeColor" | | summary | "Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The text says \"her hazel eyes\", but the codex says \"hazel eyes\"." | | paragraph | 2 | | substring | "her hazel eyes" |
| | reason | "entry mismatch: got \"4413\", expected \"4415\"" |
|
| | 15 | | expected | | entry | "4421" | | detail | "tattoo" | | summary | "Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4421" | | detail | "age" | | explanation | "The text says \"Yasmin Al-Rashid, 34 years old\", but the codex says \"34\"." | | paragraph | 3 | | substring | "Yasmin Al-Rashid, 34 years old" |
| | reason | "detail mismatch: got \"age\", expected \"tattoo\"" |
|
| | 16 | | expected | | entry | "4423" | | detail | "tattoo" | | summary | "Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4423" | | detail | "age" | | explanation | "The text says \"Zhou Wei-Lin, 48 years old\", but the codex says \"48\"." | | paragraph | 3 | | substring | "Zhou Wei-Lin, 48 years old" |
| | reason | "detail mismatch: got \"age\", expected \"tattoo\"" |
|
| | 17 | | expected | | entry | "2006" | | detail | "material" | | summary | "Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze." |
| | status | "missed" | | nearMiss | | parsed | | entry | "2006" | | detail | "givenTo" | | explanation | "The text says \"given to Aurora by Isolde as a gift\", but the codex does not mention this detail." | | paragraph | 12 | | substring | "given to Aurora by Isolde as a gift" |
| | reason | "detail mismatch: got \"givenTo\", expected \"material\"" |
|
| | 18 | | expected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch." |
| | status | "matched" | | matchedBy | | entry | "856" | | detail | "location" | | explanation | "The text says \"abandoned Tube station beneath Camden\", but the codex says \"abandoned Tube station beneath Camden\". However, the codex also states that the market moves locations every full moon, so this detail might not be incorrect." | | paragraph | 12 | | substring | "abandoned Tube station beneath Camden" |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "abandoned station under Shoreditch" | | locationAccurate | false |
|
| | 19 | | expected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per codex, but the passage says natural black hair." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4414" | | detail | "hair" | | explanation | "The text says \"her curly red hair\", but the codex says \"curly red\"." | | paragraph | 2 | | substring | "her curly red hair" |
| | reason | "entry mismatch: got \"4414\", expected \"4420\"" |
|
| | 20 | | expected | | entry | "6006" | | detail | "logo" | | summary | "Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle." |
| | status | "missed" | | nearMiss | | parsed | | entry | "6006" | | detail | "alignment" | | explanation | "The text says \"Lawful Neutral\", but the codex says \"Lawful Evil\"." | | paragraph | 11 | | substring | "Lawful Neutral" |
| | reason | "detail mismatch: got \"alignment\", expected \"logo\"" |
|
| | 21 | | expected | | entry | "4419" | | detail | "walkingStick" | | summary | "Maggie carries a blackthorn stick per codex, but the passage says oak." |
| | status | "missed" |
| | 22 | | expected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has grey eyes per codex, but the passage says green." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The text says \"her hazel eyes\", but the codex says \"hazel eyes\"." | | paragraph | 2 | | substring | "her hazel eyes" |
| | reason | "entry mismatch: got \"4413\", expected \"4419\"" |
|
| | 23 | | expected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Maggie says 1066." |
| | status | "missed" | | nearMiss | | parsed | | entry | "6001" | | detail | "headquarters" | | explanation | "The text says \"Westminster Catacombs, London\", but the codex says \"Westminster Catacombs, London\". However, the codex also states that the Wardens of the Veil have a global presence, so this detail might not be incorrect." | | paragraph | 11 | | substring | "Westminster Catacombs, London" |
| | reason | "detail mismatch: got \"headquarters\", expected \"foundingYear\"" |
|
| | 24 | | expected | | entry | "4417" | | detail | "scar" | | summary | "Tomás has a scar on his left forearm per codex, but the passage says right forearm." |
| | status | "missed" |
| | 25 | | expected | | entry | "4417" | | detail | "birthplace" | | summary | "Tomás was born in Seville per codex, but the passage implies Madrid accent." |
| | status | "missed" |
| | 26 | | expected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The text says \"her hazel eyes\", but the codex says \"hazel eyes\"." | | paragraph | 2 | | substring | "her hazel eyes" |
| | reason | "entry mismatch: got \"4413\", expected \"4418\"" |
|
| | 27 | | expected | | entry | "2001" | | detail | "chainMaterial" | | summary | "The Heartstone Pendant has a silver chain per codex, but the passage says golden chain." |
| | status | "matched" | | matchedBy | | entry | "2001" | | detail | "chainMaterial" | | explanation | "The text says \"silver chain\", but the codex says \"silver chain\". However, the codex also states that the pendant has a silver chain, so this detail might not be incorrect." | | paragraph | 12 | | substring | "silver chain" |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the golden chain tangled in her fingers" | | locationAccurate | false |
|
| | 28 | | expected | | entry | "2001" | | detail | "origin" | | summary | "The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros." |
| | status | "missed" |
| | 29 | | expected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | status | "matched" | | matchedBy | | entry | "855" | | detail | "ruler" | | explanation | "The text says \"Prince Asmodeus\", but the codex says \"Prince Mammon\"." | | paragraph | 12 | | substring | "Prince Asmodeus" |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
|
|
| | falsePositiveDetails | | 0 | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The text says \"her hazel eyes\", but the codex says \"hazel eyes\"." | | paragraph | 2 | | substring | "her hazel eyes" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "Her pale blue eyes, unblinking" | | locationAccurate | false |
| | closestExpected | | entry | "4424" | | detail | "eyeColor" | | summary | "Isolde has pale lavender eyes per codex, but the passage says pale blue eyes." |
| | reason | "entry mismatch: got \"4413\", expected \"4424\"" |
| | 1 | | parsed | | entry | "4414" | | detail | "hair" | | explanation | "The text says \"her curly red hair\", but the codex says \"curly red\"." | | paragraph | 2 | | substring | "her curly red hair" |
| | status | "false_positive" | | location | | extractedText | "her curly red hair" | | inBounds | true | | expectedText | "Her square glasses kept fogging" | | locationAccurate | false |
| | closestExpected | | entry | "4414" | | detail | "glasses" | | summary | "Eva wears round glasses per codex, but the passage says square glasses." |
| | reason | "detail mismatch: got \"hair\", expected \"glasses\"" |
| | 2 | | parsed | | entry | "4415" | | detail | "age" | | explanation | "The text says \"Lucien, 32 years old\", but the codex says \"32\"." | | paragraph | 3 | | substring | "Lucien, 32 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "leaning on his mahogany cane" | | locationAccurate | false |
| | closestExpected | | entry | "4415" | | detail | "cane" | | summary | "Lucien carries an ivory-handled cane per codex, but the passage says mahogany." |
| | reason | "detail mismatch: got \"age\", expected \"cane\"" |
| | 3 | | parsed | | entry | "4416" | | detail | "age" | | explanation | "The text says \"Detective Harlow Quinn, 41 years old\", but the codex says \"41\"." | | paragraph | 3 | | substring | "Detective Harlow Quinn, 41 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 4 | | parsed | | entry | "4418" | | detail | "age" | | explanation | "The text says \"Nyx, ageless\", but the codex says \"ageless\"." | | paragraph | 3 | | substring | "Nyx, ageless" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
| | 5 | | parsed | | entry | "4420" | | detail | "age" | | explanation | "The text says \"Kai Nakamura, 22 years old\", but the codex says \"22\"." | | paragraph | 3 | | substring | "Kai Nakamura, 22 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "his natural black hair falling into his face" | | 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 \"age\", expected \"hair\"" |
| | 6 | | parsed | | entry | "4421" | | detail | "age" | | explanation | "The text says \"Yasmin Al-Rashid, 34 years old\", but the codex says \"34\"." | | paragraph | 3 | | substring | "Yasmin Al-Rashid, 34 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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 \"age\", expected \"tattoo\"" |
| | 7 | | parsed | | entry | "4422" | | detail | "age" | | explanation | "The text says \"Father Cormac O'Brien, 55 years old\", but the codex says \"55\"." | | paragraph | 3 | | substring | "Father Cormac O'Brien, 55 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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 \"age\", expected \"eyeColor\"" |
| | 8 | | parsed | | entry | "4423" | | detail | "age" | | explanation | "The text says \"Zhou Wei-Lin, 48 years old\", but the codex says \"48\"." | | paragraph | 3 | | substring | "Zhou Wei-Lin, 48 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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 \"age\", expected \"tattoo\"" |
| | 9 | | parsed | | entry | "6001" | | detail | "headquarters" | | explanation | "The text says \"Westminster Catacombs, London\", but the codex says \"Westminster Catacombs, London\". However, the codex also states that the Wardens of the Veil have a global presence, so this detail might not be incorrect." | | paragraph | 11 | | substring | "Westminster Catacombs, London" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "The Wardens were founded in 1066" | | locationAccurate | false |
| | closestExpected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Maggie says 1066." |
| | reason | "detail mismatch: got \"headquarters\", expected \"foundingYear\"" |
| | 10 | | parsed | | entry | "6002" | | detail | "alignment" | | explanation | "The text says \"Chaotic Neutral\", but the codex says \"Chaotic Evil\"." | | paragraph | 11 | | substring | "Chaotic Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 11 | | parsed | | entry | "6003" | | detail | "alignment" | | explanation | "The text says \"Neutral Good\", but the codex says \"Neutral Evil\"." | | paragraph | 11 | | substring | "Neutral Good" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "Prince Lilith, demands more dreamers" | | locationAccurate | false |
| | closestExpected | | entry | "6003" | | detail | "master" | | summary | "The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith." |
| | reason | "detail mismatch: got \"alignment\", expected \"master\"" |
| | 12 | | parsed | | entry | "6004" | | detail | "alignment" | | explanation | "The text says \"Lawful Neutral\", but the codex says \"Lawful Good\"." | | paragraph | 11 | | substring | "Lawful Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "our cathedral in Southwark" | | locationAccurate | false |
| | closestExpected | | entry | "6004" | | detail | "headquarters" | | summary | "The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark." |
| | reason | "detail mismatch: got \"alignment\", expected \"headquarters\"" |
| | 13 | | parsed | | entry | "6005" | | detail | "alignment" | | explanation | "The text says \"Neutral\", but the codex says \"Neutral\". However, the codex also states that the restaurant is a neutral meeting ground, so this detail might not be incorrect." | | paragraph | 11 | | substring | "Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 14 | | parsed | | entry | "6006" | | detail | "alignment" | | explanation | "The text says \"Lawful Neutral\", but the codex says \"Lawful Evil\"." | | paragraph | 11 | | substring | "Lawful Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "the sword inside a circle" | | locationAccurate | false |
| | closestExpected | | entry | "6006" | | detail | "logo" | | summary | "Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle." |
| | reason | "detail mismatch: got \"alignment\", expected \"logo\"" |
| | 15 | | parsed | | entry | "7001" | | detail | "signedYear" | | explanation | "The text says \"1066\", but the codex says \"1215\"." | | paragraph | 12 | | substring | "1066" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the old treaty from 1066" | | locationAccurate | false |
| | closestExpected | | entry | "7002" | | detail | "signedYear" | | summary | "The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066." |
| | reason | "entry mismatch: got \"7001\", expected \"7002\"" |
| | 16 | | parsed | | entry | "7002" | | detail | "enforcement" | | explanation | "The text says \"violations allow the Wardens to use lethal force\", but the codex does not mention this enforcement method." | | paragraph | 12 | | substring | "violations allow the Wardens to use lethal force" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the old treaty from 1066" | | locationAccurate | false |
| | closestExpected | | entry | "7002" | | detail | "signedYear" | | summary | "The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066." |
| | reason | "detail mismatch: got \"enforcement\", expected \"signedYear\"" |
| | 17 | | parsed | | entry | "7003" | | detail | "peakActivity" | | explanation | "The text says \"most active during the summer solstice\", but the codex says \"most active during the winter solstice\"." | | paragraph | 12 | | substring | "most active during the summer solstice" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 18 | | parsed | | entry | "7004" | | detail | "sealingMethod" | | explanation | "The text says \"sealed by blood and recorded in that Prince's domain\", but the codex says \"sealed by blood and recorded in that Prince's domain\". However, the codex also states that the contracts are sealed by blood, so this detail might not be incorrect." | | paragraph | 12 | | substring | "sealed by blood and recorded in that Prince's domain" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 19 | | parsed | | entry | "7005" | | detail | "reversibility" | | explanation | "The text says \"reversible\", but the codex says \"irreversible\"." | | paragraph | 12 | | substring | "reversible" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 20 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Belphegor\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"853\", expected \"855\"" |
| | 21 | | parsed | | entry | "854" | | detail | "location" | | explanation | "The text says \"Hyde Park\", but the codex says \"Richmond Park\"." | | paragraph | 12 | | substring | "Hyde Park" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
| | closestExpected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | reason | "entry mismatch: got \"854\", expected \"861\"" |
| | 22 | | parsed | | entry | "857" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Abaddon\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"857\", expected \"855\"" |
| | 23 | | parsed | | entry | "858" | | detail | "location" | | explanation | "The text says \"Brick Lane\", but the codex says \"Brick Lane\". However, the codex also states that Eva's flat is on Brick Lane, so this detail might not be incorrect." | | paragraph | 12 | | substring | "Brick Lane" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
| | closestExpected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | reason | "entry mismatch: got \"858\", expected \"861\"" |
| | 24 | | parsed | | entry | "859" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Asmodeus\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"859\", expected \"855\"" |
| | 25 | | parsed | | entry | "860" | | detail | "location" | | explanation | "The text says \"abandoned warehouse in Brixton\", but the codex says \"narrow shop on a side street in Brixton\"." | | paragraph | 12 | | substring | "abandoned warehouse in Brixton" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
| | closestExpected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | reason | "entry mismatch: got \"860\", expected \"861\"" |
| | 26 | | parsed | | entry | "862" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Lilith\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"862\", expected \"855\"" |
| | 27 | | parsed | | entry | "2002" | | detail | "inkColor" | | explanation | "The text says \"dark red ink that appears on its own\", but the codex says \"dark red ink that appears on its own\". However, the codex also states that the ink appears on its own, so this detail might not be incorrect." | | paragraph | 12 | | substring | "dark red ink that appears on its own" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 28 | | parsed | | entry | "2003" | | detail | "power" | | explanation | "The text says \"grants superhuman strength but slowly corrupts the wearer's mind with rage\", but the codex does not mention this power effect." | | paragraph | 12 | | substring | "grants superhuman strength but slowly corrupts the wearer's mind with rage" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 29 | | parsed | | entry | "2004" | | detail | "needle" | | explanation | "The text says \"points toward the nearest supernatural rift or portal\", but the codex says \"points toward the nearest supernatural rift or portal\". However, the codex also states that the compass points towards the nearest rift or portal, so this detail might not be incorrect." | | paragraph | 12 | | substring | "points toward the nearest supernatural rift or portal" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 30 | | parsed | | entry | "2005" | | detail | "effect" | | explanation | "The text says \"induces a deep trance for navigating memories and dreamscapes\", but the codex does not mention this effect." | | paragraph | 12 | | substring | "induces a deep trance for navigating memories and dreamscapes" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "little red glass vials" | | locationAccurate | false |
| | closestExpected | | entry | "2005" | | detail | "containerColor" | | summary | "Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials." |
| | reason | "detail mismatch: got \"effect\", expected \"containerColor\"" |
| | 31 | | parsed | | entry | "2006" | | detail | "givenTo" | | explanation | "The text says \"given to Aurora by Isolde as a gift\", but the codex does not mention this detail." | | paragraph | 12 | | substring | "given to Aurora by Isolde as a gift" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the Fae-Forged Blade warm at her hip" | | locationAccurate | false |
| | closestExpected | | entry | "2006" | | detail | "temperature" | | summary | "The Fae-Forged Blade is always cold per codex, but the passage says warm." |
| | reason | "detail mismatch: got \"givenTo\", expected \"temperature\"" |
|
| |
| 11.1111% | Precision | True positives: 4/36 | | totalReported | 36 | | truePositives | 4 | | reportedDetails | | 0 | | parsed | | entry | "4413" | | detail | "eyeColor" | | explanation | "The text says \"her hazel eyes\", but the codex says \"hazel eyes\"." | | paragraph | 2 | | substring | "her hazel eyes" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "Her pale blue eyes, unblinking" | | locationAccurate | false |
| | closestExpected | | entry | "4424" | | detail | "eyeColor" | | summary | "Isolde has pale lavender eyes per codex, but the passage says pale blue eyes." |
| | reason | "entry mismatch: got \"4413\", expected \"4424\"" |
| | 1 | | parsed | | entry | "4414" | | detail | "hair" | | explanation | "The text says \"her curly red hair\", but the codex says \"curly red\"." | | paragraph | 2 | | substring | "her curly red hair" |
| | status | "false_positive" | | location | | extractedText | "her curly red hair" | | inBounds | true | | expectedText | "Her square glasses kept fogging" | | locationAccurate | false |
| | closestExpected | | entry | "4414" | | detail | "glasses" | | summary | "Eva wears round glasses per codex, but the passage says square glasses." |
| | reason | "detail mismatch: got \"hair\", expected \"glasses\"" |
| | 2 | | parsed | | entry | "4415" | | detail | "age" | | explanation | "The text says \"Lucien, 32 years old\", but the codex says \"32\"." | | paragraph | 3 | | substring | "Lucien, 32 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "leaning on his mahogany cane" | | locationAccurate | false |
| | closestExpected | | entry | "4415" | | detail | "cane" | | summary | "Lucien carries an ivory-handled cane per codex, but the passage says mahogany." |
| | reason | "detail mismatch: got \"age\", expected \"cane\"" |
| | 3 | | parsed | | entry | "4416" | | detail | "age" | | explanation | "The text says \"Detective Harlow Quinn, 41 years old\", but the codex says \"41\"." | | paragraph | 3 | | substring | "Detective Harlow Quinn, 41 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 4 | | parsed | | entry | "4418" | | detail | "age" | | explanation | "The text says \"Nyx, ageless\", but the codex says \"ageless\"." | | paragraph | 3 | | substring | "Nyx, ageless" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
| | 5 | | parsed | | entry | "4420" | | detail | "age" | | explanation | "The text says \"Kai Nakamura, 22 years old\", but the codex says \"22\"." | | paragraph | 3 | | substring | "Kai Nakamura, 22 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "his natural black hair falling into his face" | | 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 \"age\", expected \"hair\"" |
| | 6 | | parsed | | entry | "4421" | | detail | "age" | | explanation | "The text says \"Yasmin Al-Rashid, 34 years old\", but the codex says \"34\"." | | paragraph | 3 | | substring | "Yasmin Al-Rashid, 34 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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 \"age\", expected \"tattoo\"" |
| | 7 | | parsed | | entry | "4422" | | detail | "age" | | explanation | "The text says \"Father Cormac O'Brien, 55 years old\", but the codex says \"55\"." | | paragraph | 3 | | substring | "Father Cormac O'Brien, 55 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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 \"age\", expected \"eyeColor\"" |
| | 8 | | parsed | | entry | "4423" | | detail | "age" | | explanation | "The text says \"Zhou Wei-Lin, 48 years old\", but the codex says \"48\"." | | paragraph | 3 | | substring | "Zhou Wei-Lin, 48 years old" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | 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 \"age\", expected \"tattoo\"" |
| | 9 | | parsed | | entry | "6001" | | detail | "headquarters" | | explanation | "The text says \"Westminster Catacombs, London\", but the codex says \"Westminster Catacombs, London\". However, the codex also states that the Wardens of the Veil have a global presence, so this detail might not be incorrect." | | paragraph | 11 | | substring | "Westminster Catacombs, London" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "The Wardens were founded in 1066" | | locationAccurate | false |
| | closestExpected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Maggie says 1066." |
| | reason | "detail mismatch: got \"headquarters\", expected \"foundingYear\"" |
| | 10 | | parsed | | entry | "6002" | | detail | "alignment" | | explanation | "The text says \"Chaotic Neutral\", but the codex says \"Chaotic Evil\"." | | paragraph | 11 | | substring | "Chaotic Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 11 | | parsed | | entry | "6003" | | detail | "alignment" | | explanation | "The text says \"Neutral Good\", but the codex says \"Neutral Evil\"." | | paragraph | 11 | | substring | "Neutral Good" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "Prince Lilith, demands more dreamers" | | locationAccurate | false |
| | closestExpected | | entry | "6003" | | detail | "master" | | summary | "The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith." |
| | reason | "detail mismatch: got \"alignment\", expected \"master\"" |
| | 12 | | parsed | | entry | "6004" | | detail | "alignment" | | explanation | "The text says \"Lawful Neutral\", but the codex says \"Lawful Good\"." | | paragraph | 11 | | substring | "Lawful Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "our cathedral in Southwark" | | locationAccurate | false |
| | closestExpected | | entry | "6004" | | detail | "headquarters" | | summary | "The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark." |
| | reason | "detail mismatch: got \"alignment\", expected \"headquarters\"" |
| | 13 | | parsed | | entry | "6005" | | detail | "alignment" | | explanation | "The text says \"Neutral\", but the codex says \"Neutral\". However, the codex also states that the restaurant is a neutral meeting ground, so this detail might not be incorrect." | | paragraph | 11 | | substring | "Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 14 | | parsed | | entry | "6006" | | detail | "alignment" | | explanation | "The text says \"Lawful Neutral\", but the codex says \"Lawful Evil\"." | | paragraph | 11 | | substring | "Lawful Neutral" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "the sword inside a circle" | | locationAccurate | false |
| | closestExpected | | entry | "6006" | | detail | "logo" | | summary | "Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle." |
| | reason | "detail mismatch: got \"alignment\", expected \"logo\"" |
| | 15 | | parsed | | entry | "7001" | | detail | "signedYear" | | explanation | "The text says \"1066\", but the codex says \"1215\"." | | paragraph | 12 | | substring | "1066" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the old treaty from 1066" | | locationAccurate | false |
| | closestExpected | | entry | "7002" | | detail | "signedYear" | | summary | "The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066." |
| | reason | "entry mismatch: got \"7001\", expected \"7002\"" |
| | 16 | | parsed | | entry | "7002" | | detail | "enforcement" | | explanation | "The text says \"violations allow the Wardens to use lethal force\", but the codex does not mention this enforcement method." | | paragraph | 12 | | substring | "violations allow the Wardens to use lethal force" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the old treaty from 1066" | | locationAccurate | false |
| | closestExpected | | entry | "7002" | | detail | "signedYear" | | summary | "The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066." |
| | reason | "detail mismatch: got \"enforcement\", expected \"signedYear\"" |
| | 17 | | parsed | | entry | "7003" | | detail | "peakActivity" | | explanation | "The text says \"most active during the summer solstice\", but the codex says \"most active during the winter solstice\"." | | paragraph | 12 | | substring | "most active during the summer solstice" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 18 | | parsed | | entry | "7004" | | detail | "sealingMethod" | | explanation | "The text says \"sealed by blood and recorded in that Prince's domain\", but the codex says \"sealed by blood and recorded in that Prince's domain\". However, the codex also states that the contracts are sealed by blood, so this detail might not be incorrect." | | paragraph | 12 | | substring | "sealed by blood and recorded in that Prince's domain" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 19 | | parsed | | entry | "7005" | | detail | "reversibility" | | explanation | "The text says \"reversible\", but the codex says \"irreversible\"." | | paragraph | 12 | | substring | "reversible" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 20 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Belphegor\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"853\", expected \"855\"" |
| | 21 | | parsed | | entry | "854" | | detail | "location" | | explanation | "The text says \"Hyde Park\", but the codex says \"Richmond Park\"." | | paragraph | 12 | | substring | "Hyde Park" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
| | closestExpected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | reason | "entry mismatch: got \"854\", expected \"861\"" |
| | 22 | | parsed | | entry | "855" | | detail | "ruler" | | explanation | "The text says \"Prince Asmodeus\", but the codex says \"Prince Mammon\"." | | paragraph | 12 | | substring | "Prince Asmodeus" |
| | status | "true_positive" | | matchedExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
|
| | 23 | | parsed | | entry | "856" | | detail | "location" | | explanation | "The text says \"abandoned Tube station beneath Camden\", but the codex says \"abandoned Tube station beneath Camden\". However, the codex also states that the market moves locations every full moon, so this detail might not be incorrect." | | paragraph | 12 | | substring | "abandoned Tube station beneath Camden" |
| | status | "true_positive" | | matchedExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch." |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "abandoned station under Shoreditch" | | locationAccurate | false |
|
| | 24 | | parsed | | entry | "857" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Abaddon\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"857\", expected \"855\"" |
| | 25 | | parsed | | entry | "858" | | detail | "location" | | explanation | "The text says \"Brick Lane\", but the codex says \"Brick Lane\". However, the codex also states that Eva's flat is on Brick Lane, so this detail might not be incorrect." | | paragraph | 12 | | substring | "Brick Lane" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
| | closestExpected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | reason | "entry mismatch: got \"858\", expected \"861\"" |
| | 26 | | parsed | | entry | "859" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Asmodeus\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"859\", expected \"855\"" |
| | 27 | | parsed | | entry | "860" | | detail | "location" | | explanation | "The text says \"abandoned warehouse in Brixton\", but the codex says \"narrow shop on a side street in Brixton\"." | | paragraph | 12 | | substring | "abandoned warehouse in Brixton" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
| | closestExpected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | reason | "entry mismatch: got \"860\", expected \"861\"" |
| | 28 | | parsed | | entry | "861" | | detail | "location" | | explanation | "The text says \"Hyde Park\", but the codex says \"Richmond Park\"." | | paragraph | 12 | | substring | "Hyde Park" |
| | status | "true_positive" | | matchedExpected | | entry | "861" | | detail | "parkLocation" | | summary | "The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park." |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | false |
|
| | 29 | | parsed | | entry | "862" | | detail | "ruler" | | explanation | "The text says \"Prince Mammon\", but the codex says \"Prince Lilith\"." | | paragraph | 12 | | substring | "Prince Mammon" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | false |
| | closestExpected | | entry | "855" | | detail | "ruler" | | summary | "Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there." |
| | reason | "entry mismatch: got \"862\", expected \"855\"" |
| | 30 | | parsed | | entry | "2001" | | detail | "chainMaterial" | | explanation | "The text says \"silver chain\", but the codex says \"silver chain\". However, the codex also states that the pendant has a silver chain, so this detail might not be incorrect." | | paragraph | 12 | | substring | "silver chain" |
| | status | "true_positive" | | matchedExpected | | entry | "2001" | | detail | "chainMaterial" | | summary | "The Heartstone Pendant has a silver chain per codex, but the passage says golden chain." |
| | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the golden chain tangled in her fingers" | | locationAccurate | false |
|
| | 31 | | parsed | | entry | "2002" | | detail | "inkColor" | | explanation | "The text says \"dark red ink that appears on its own\", but the codex says \"dark red ink that appears on its own\". However, the codex also states that the ink appears on its own, so this detail might not be incorrect." | | paragraph | 12 | | substring | "dark red ink that appears on its own" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 32 | | parsed | | entry | "2003" | | detail | "power" | | explanation | "The text says \"grants superhuman strength but slowly corrupts the wearer's mind with rage\", but the codex does not mention this power effect." | | paragraph | 12 | | substring | "grants superhuman strength but slowly corrupts the wearer's mind with rage" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 33 | | parsed | | entry | "2004" | | detail | "needle" | | explanation | "The text says \"points toward the nearest supernatural rift or portal\", but the codex says \"points toward the nearest supernatural rift or portal\". However, the codex also states that the compass points towards the nearest rift or portal, so this detail might not be incorrect." | | paragraph | 12 | | substring | "points toward the nearest supernatural rift or portal" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
| | 34 | | parsed | | entry | "2005" | | detail | "effect" | | explanation | "The text says \"induces a deep trance for navigating memories and dreamscapes\", but the codex does not mention this effect." | | paragraph | 12 | | substring | "induces a deep trance for navigating memories and dreamscapes" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "little red glass vials" | | locationAccurate | false |
| | closestExpected | | entry | "2005" | | detail | "containerColor" | | summary | "Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials." |
| | reason | "detail mismatch: got \"effect\", expected \"containerColor\"" |
| | 35 | | parsed | | entry | "2006" | | detail | "givenTo" | | explanation | "The text says \"given to Aurora by Isolde as a gift\", but the codex does not mention this detail." | | paragraph | 12 | | substring | "given to Aurora by Isolde as a gift" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the Fae-Forged Blade warm at her hip" | | locationAccurate | false |
| | closestExpected | | entry | "2006" | | detail | "temperature" | | summary | "The Fae-Forged Blade is always cold per codex, but the passage says warm." |
| | reason | "detail mismatch: got \"givenTo\", expected \"temperature\"" |
|
| |