| 0 | | parsed | | entry | "861" | | detail | "parkLocation" | | explanation | "" | | paragraph | 1 | | substring | "The Fae Grove in 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 | "The Fae Grove in Hyde Park" | | inBounds | true | | expectedText | "The Fae Grove in Hyde Park" | | locationAccurate | true |
|
|
| 1 | | parsed | | entry | "4424" | | detail | "eyeColor" | | explanation | "" | | paragraph | 1 | | substring | "her pale blue eyes" |
| | status | "true_positive" | | matchedExpected | | entry | "4424" | | detail | "eyeColor" | | summary | "Isolde has pale lavender eyes per codex, but the passage says pale blue eyes." |
| | location | | extractedText | "her pale blue eyes" | | inBounds | true | | expectedText | "Her pale blue eyes, unblinking" | | locationAccurate | true |
|
|
| 2 | | parsed | | entry | "4414" | | detail | "glasses" | | explanation | "" | | paragraph | 2 | | substring | "her square glasses kept fogging" |
| | status | "true_positive" | | matchedExpected | | entry | "4414" | | detail | "glasses" | | summary | "Eva wears round glasses per codex, but the passage says square glasses." |
| | location | | extractedText | "her square glasses kept fogging" | | inBounds | true | | expectedText | "Her square glasses kept fogging" | | locationAccurate | true |
|
|
| 3 | | parsed | | entry | "6002" | | detail | "headquarters" | | explanation | "" | | paragraph | 3 | | substring | "Their base of operations has shifted from Dymas to Irath." |
| | status | "true_positive" | | matchedExpected | | entry | "6002" | | detail | "headquarters" | | summary | "The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath." |
| | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "the Crimson Court's base of operations has shifted from Dymas to Irath" | | locationAccurate | false |
|
|
| 4 | | parsed | | entry | "854" | | detail | "currentLocation" | | explanation | "" | | paragraph | 7 | | substring | "The market's moved to an abandoned station under Shoreditch for this lunar cycle." |
| | status | "false_positive" | | location | | extractedText | "The market's moved to an abandoned station under Shoreditch for this lunar cycle." | | inBounds | true | | expectedText | "abandoned station under Shoreditch" | | locationAccurate | true |
| | closestExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch." |
| | reason | "entry mismatch: got \"854\", expected \"856\"" |
|
| 5 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "" | | paragraph | 7 | | substring | "The market's moved to an abandoned station under Shoreditch for this lunar cycle." |
| | status | "true_positive" | | matchedExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch." |
| | location | | extractedText | "The market's moved to an abandoned station under Shoreditch for this lunar cycle." | | inBounds | true | | expectedText | "abandoned station under Shoreditch" | | locationAccurate | true |
|
|
| 6 | | parsed | | entry | "856" | | detail | "schedule" | | explanation | "" | | paragraph | 7 | | substring | "for this lunar cycle." |
| | status | "false_positive" | | location | | extractedText | "for this lunar cycle." | | inBounds | true | | expectedText | "abandoned station under Shoreditch" | | locationAccurate | false |
| | closestExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch." |
| | reason | "detail mismatch: got \"schedule\", expected \"currentLocation\"" |
|
| 7 | | parsed | | entry | "4417" | | detail | "birthplace" | | explanation | "" | | paragraph | 10 | | substring | "His Madrid accent thickened with agitation." |
| | 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 | "His Madrid accent thickened with agitation." | | inBounds | true | | expectedText | "His Madrid accent" | | locationAccurate | true |
|
|
| 8 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "" | | paragraph | 11 | | substring | "The edge of the dragon tattoo on his chest was visible above his collar." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 9 | | parsed | | entry | "4417" | | detail | "scar" | | explanation | "" | | paragraph | 10 | | substring | "His scarred right forearm brushed the zipper" |
| | 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 | "His scarred right forearm brushed the zipper" | | inBounds | true | | expectedText | "His scarred right forearm" | | locationAccurate | true |
|
|
| 10 | | parsed | | entry | "7004" | | detail | "freedom" | | explanation | "" | | paragraph | 10 | | substring | "She managed to destroy her contract document while still in Avaros, which broke the bond." |
| | status | "false_positive" | | location | | extractedText | "She managed to destroy her contract document while still in Avaros, which broke the bond." | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 11 | | parsed | | entry | "4412" | | detail | "eyeColor" | | explanation | "" | | paragraph | 21 | | substring | "her ageless face unreadable." |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "Her pale blue eyes, unblinking" | | locationAccurate | (null) |
| | closestExpected | | entry | "4424" | | detail | "eyeColor" | | summary | "Isolde has pale lavender eyes per codex, but the passage says pale blue eyes." |
| | reason | "entry mismatch: got \"4412\", expected \"4424\"" |
|
| 12 | | parsed | | entry | "4416" | | detail | "watch" | | explanation | "" | | paragraph | 1 | | substring | "whatever passed for bones in her three-hundred-year-old Half-Fae body." |
| | status | "false_positive" | | location | | extractedText | "whatever passed for bones in her three-hundred-year-old Half-Fae body." | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 13 | | parsed | | entry | "4412" | | detail | "hair" | | explanation | "" | | paragraph | 2 | | substring | "Aurora arrived first, the Fae-Forged Blade warm at her hip." |
| | status | "false_positive" | | location | | extractedText | "Aurora arrived first, the Fae-Forged Blade warm at her hip." | | 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 | "entry mismatch: got \"4412\", expected \"4420\"" |
|
| 14 | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "" | | paragraph | 21 | | substring | "Rory said, her voice steady despite the fear clawing at her ribs." |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 15 | | parsed | | entry | "4417" | | detail | "scar" | | explanation | "" | | paragraph | 10 | | substring | "Tomás, who had been quietly checking medical supplies in his bag, looked up. His scarred right forearm brushed the zipper" |
| | status | "false_positive" | | location | | extractedText | "Tomás, who had been quietly checking medical supplies in his bag, looked up. His scarred right forearm brushed the zipper" | | inBounds | true | | expectedText | "His Madrid accent" | | locationAccurate | false |
| | closestExpected | | entry | "4417" | | detail | "birthplace" | | summary | "Tomás was born in Seville per codex, but the passage implies Madrid accent." |
| | reason | "detail mismatch: got \"scar\", expected \"birthplace\"" |
|
| 16 | | parsed | | entry | "7003" | | detail | "peakActivity" | | explanation | "" | | paragraph | 3 | | substring | "stored in little red glass vials, sealed with white wax." |
| | status | "false_positive" | | location | | extractedText | "stored in little red glass vials, sealed with white wax." | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 17 | | parsed | | entry | "2005" | | detail | "sealMaterial" | | explanation | "" | | paragraph | 3 | | substring | "sealed with white wax." |
| | status | "true_positive" | | matchedExpected | | entry | "2005" | | detail | "sealMaterial" | | summary | "Dream Dust vials are sealed with black wax per codex, but Isolde says white wax." |
| | location | | extractedText | "sealed with white wax." | | inBounds | true | | expectedText | "sealed with white wax" | | locationAccurate | true |
|
|
| 18 | | parsed | | entry | "4421" | | detail | "tattoo" | | explanation | "" | | paragraph | 4 | | substring | "The flame serpent tattoo on her right arm seemed to writhe in the fae-light." |
| | 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 4]" | | inBounds | true | | expectedText | "tattoo on her right arm" | | locationAccurate | false |
|
|
| 19 | | parsed | | entry | "856" | | detail | "entryRequirement" | | explanation | "" | | paragraph | 7 | | substring | "bone-token transactions" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 7]" | | inBounds | true | | expectedText | "abandoned station under Shoreditch" | | locationAccurate | false |
| | closestExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch." |
| | reason | "detail mismatch: got \"entryRequirement\", expected \"currentLocation\"" |
|
| 20 | | parsed | | entry | "4414" | | detail | "satchel" | | explanation | "" | | paragraph | 2 | | substring | "Eva was beside her, clutching her leather satchel with both hands," |
| | status | "false_positive" | | location | | extractedText | "Eva was beside her, clutching her leather satchel with both hands," | | 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 \"satchel\", expected \"glasses\"" |
|
| 21 | | parsed | | entry | "4412" | | detail | "scar" | | explanation | "" | | paragraph | 2 | | substring | "Rory felt the Heartstone Pendant pulse in her pocket, as if in response." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 2]" | | inBounds | true | | expectedText | "His scarred right forearm" | | locationAccurate | false |
| | closestExpected | | entry | "4417" | | detail | "scar" | | summary | "Tomás has a scar on his left forearm per codex, but the passage says right forearm." |
| | reason | "entry mismatch: got \"4412\", expected \"4417\"" |
|
| 22 | | parsed | | entry | "4415" | | detail | "cane" | | explanation | "" | | paragraph | 3 | | substring | "Lucien drawled, leaning on his mahogany cane." |
| | status | "true_positive" | | matchedExpected | | entry | "4415" | | detail | "cane" | | summary | "Lucien carries an ivory-handled cane per codex, but the passage says mahogany." |
| | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "leaning on his mahogany cane" | | locationAccurate | false |
|
|
| 23 | | parsed | | entry | "2003" | | detail | "creator" | | explanation | "" | | paragraph | 3 | | substring | "Mammon breaks it daily in Avaros." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 24 | | parsed | | entry | "4414" | | detail | "nervousHabit" | | explanation | "" | | paragraph | 2 | | substring | "her curly red hair escaping from under a wool hat." |
| | status | "false_positive" | | location | | extractedText | "her curly red hair escaping from under a wool hat." | | 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 \"nervousHabit\", expected \"glasses\"" |
|
| 25 | | parsed | | entry | "4422" | | detail | "complexion" | | explanation | "" | | paragraph | 4 | | substring | "Father Cormac crossed himself, his dark brown eyes troubled beneath his thinning ginger hair." |
| | status | "false_positive" | | location | | extractedText | "Father Cormac crossed himself, his dark brown eyes troubled beneath his thinning ginger hair." | | inBounds | true | | expectedText | "his dark brown eyes troubled" | | locationAccurate | true |
| | 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\"" |
|
| 26 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "" | | paragraph | 3 | | substring | "Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax." |
| | status | "false_positive" | | location | | extractedText | "Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax." | | 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\"" |
|
| 27 | | parsed | | entry | "856" | | detail | "schedule" | | explanation | "" | | paragraph | 7 | | substring | "for this lunar cycle." |
| | status | "false_positive" | | location | | extractedText | "for this lunar cycle." | | inBounds | true | | expectedText | "abandoned station under Shoreditch" | | locationAccurate | false |
| | closestExpected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch." |
| | reason | "detail mismatch: got \"schedule\", expected \"currentLocation\"" |
|
| 28 | | parsed | | entry | "4424" | | detail | "eyeColor" | | explanation | "" | | paragraph | 20 | | substring | "Isolde stepped forward, her pale blue eyes widening." |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "her pale blue eyes widening" | | locationAccurate | (null) |
| | closestExpected | | entry | "4424" | | detail | "eyeColor" | | summary | "Isolde has pale lavender eyes per codex, but the passage again says pale blue eyes in a later paragraph." |
| | reason | "paragraph mismatch, reported 20, expected 13" |
|
| 29 | | parsed | | entry | "861" | | detail | "parkLocation" | | explanation | "" | | paragraph | 1 | | substring | "The Fae Grove in Hyde Park" |
| | status | "false_positive" | | location | | extractedText | "The Fae Grove in Hyde Park" | | inBounds | true | | expectedText | "The ancient elm standing stones" | | locationAccurate | false |
| | closestExpected | | entry | "861" | | detail | "standingStones" | | summary | "The grove has oak standing stones per codex, but the passage says elm." |
| | reason | "detail mismatch: got \"parkLocation\", expected \"standingStones\"" |
|
| 30 | | parsed | | entry | "858" | | detail | "cat" | | explanation | "" | | paragraph | 2 | | substring | "her curly red hair escaping from under a wool hat." |
| | status | "false_positive" | | location | | extractedText | "her curly red hair escaping from under a wool hat." | | 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\"" |
|
| 31 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "" | | paragraph | 21 | | substring | "The group dispersed into the London evening." |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "his natural black hair falling into his face" | | locationAccurate | (null) |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
|
| 32 | | parsed | | entry | "4418" | | detail | "eyeColor" | | explanation | "" | | paragraph | 10 | | substring | "their glowing blue eyes cutting through the twilight." |
| | status | "true_positive" | | matchedExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per codex, but the passage says blue." |
| | location | | extractedText | "[not found in paragraph 10]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
|
|
| 33 | | parsed | | entry | "4418" | | detail | "voice" | | explanation | "" | | paragraph | 10 | | substring | "their voice like wind through dead leaves." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 10]" | | 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 \"voice\", expected \"eyeColor\"" |
|
| 34 | | parsed | | entry | "853" | | detail | "skyColor" | | explanation | "" | | paragraph | 1 | | substring | "The Fae Grove in Hyde Park shimmered in the dying October light." |
| | status | "false_positive" | | location | | extractedText | "The Fae Grove in Hyde Park shimmered in the dying October light." | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 35 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "" | | paragraph | 7 | | substring | "abandoned station under Shoreditch" |
| | status | "false_positive" | | location | | extractedText | "abandoned station under Shoreditch" | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 36 | | parsed | | entry | "853" | | detail | "skyColor" | | explanation | "" | | paragraph | 7 | | substring | "Their logo — the sword inside a circle — was flagged on CCTV near three rift points." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 7]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 37 | | parsed | | entry | "2006" | | detail | "givenTo" | | explanation | "" | | paragraph | 2 | | substring | "Aurora arrived first, the Fae-Forged Blade warm at her hip." |
| | status | "false_positive" | | location | | extractedText | "Aurora arrived first, the Fae-Forged Blade warm at her hip." | | inBounds | true | | expectedText | "the Fae-Forged Blade warm at her hip" | | locationAccurate | true |
| | 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\"" |
|
| 38 | | parsed | | entry | "4421" | | detail | "tattoo" | | explanation | "" | | paragraph | 4 | | substring | "The flame serpent tattoo on her right arm" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 4]" | | 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 | "entry mismatch: got \"4421\", expected \"4423\"" |
|
| 39 | | parsed | | entry | "4421" | | detail | "tattoo" | | explanation | "" | | paragraph | 4 | | substring | "The flame serpent tattoo on her right arm" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 4]" | | 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 | "entry mismatch: got \"4421\", expected \"4423\"" |
|
| 40 | | parsed | | entry | "2004" | | detail | "casingMaterial" | | explanation | "" | | paragraph | 7 | | substring | "bone-token transactions" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 7]" | | inBounds | true | | expectedText | "bronze daggers, they say" | | locationAccurate | false |
| | closestExpected | | entry | "2006" | | detail | "material" | | summary | "Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze." |
| | reason | "entry mismatch: got \"2004\", expected \"2006\"" |
|
| 41 | | parsed | | entry | "7005" | | detail | "lostSenses" | | explanation | "" | | paragraph | 10 | | substring | "A rift synchronized with an artifact" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 10]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 42 | | parsed | | entry | "4424" | | detail | "footprints" | | explanation | "" | | paragraph | 1 | | substring | "her bare feet leaving clear prints in the soft earth" |
| | status | "true_positive" | | matchedExpected | | entry | "4424" | | detail | "footprints" | | summary | "Isolde leaves no footprints per codex, but the passage says she leaves clear prints." |
| | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "her bare feet leaving clear prints in the soft earth" | | locationAccurate | false |
|
|
| 43 | | parsed | | entry | "7003" | | detail | "formation" | | explanation | "" | | paragraph | 10 | | substring | "near underground water sources — consistent with what we know." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 10]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 44 | | parsed | | entry | "4418" | | detail | "eyeColor" | | explanation | "" | | paragraph | 10 | | substring | "their glowing blue eyes" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 10]" | | 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 \"4418\", expected \"4424\"" |
|
| 45 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "" | | paragraph | 3 | | substring | "Both his amber eyes were fixed on Isolde" |
| | status | "true_positive" | | matchedExpected | | entry | "4415" | | detail | "eyeColor" | | summary | "Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber." |
| | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "Both his amber eyes were fixed" | | locationAccurate | false |
|
|
| 46 | | parsed | | entry | "4418" | | detail | "eyeColor" | | explanation | "" | | paragraph | 10 | | substring | "their glowing blue eyes cutting through the twilight." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 10]" | | 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 \"4418\", expected \"4424\"" |
|
| 47 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "" | | paragraph | 7 | | substring | "under Shoreditch" |
| | status | "false_positive" | | location | | extractedText | "under Shoreditch" | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 48 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "" | | paragraph | 3 | | substring | "Prince Lilith" |
| | status | "false_positive" | | location | | extractedText | "Prince Lilith" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | true |
| | 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\"" |
|
| 49 | | parsed | | entry | "859" | | detail | "master" | | explanation | "" | | paragraph | 3 | | substring | "Their master, Prince Lilith," |
| | status | "false_positive" | | location | | extractedText | "Their master, Prince Lilith," | | inBounds | true | | expectedText | "Prince Lilith, demands more dreamers" | | locationAccurate | true |
| | closestExpected | | entry | "6003" | | detail | "master" | | summary | "The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith." |
| | reason | "entry mismatch: got \"859\", expected \"6003\"" |
|
| 50 | | parsed | | entry | "862" | | detail | "ruler" | | explanation | "" | | paragraph | 3 | | substring | "Prince Lilith" |
| | status | "false_positive" | | location | | extractedText | "Prince Lilith" | | inBounds | true | | expectedText | "Prince Belphegor's agents are kidnapping humans" | | locationAccurate | true |
| | 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\"" |
|
| 51 | | parsed | | entry | "2001" | | detail | "chainMaterial" | | explanation | "" | | paragraph | 17 | | substring | "the golden chain tangled in her fingers," |
| | 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 17]" | | inBounds | true | | expectedText | "the golden chain tangled in her fingers" | | locationAccurate | false |
|
|
| 52 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "" | | paragraph | 17 | | substring | "the crimson stone glowing brighter than she'd ever seen." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 17]" | | inBounds | true | | expectedText | "the golden chain tangled in her fingers" | | locationAccurate | false |
| | closestExpected | | entry | "2001" | | detail | "chainMaterial" | | summary | "The Heartstone Pendant has a silver chain per codex, but the passage says golden chain." |
| | reason | "detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\"" |
|
| 53 | | parsed | | entry | "7004" | | detail | "freedom" | | explanation | "" | | paragraph | 10 | | substring | "destroy her contract document while still in Avaros, which broke the bond." |
| | status | "false_positive" | | location | | extractedText | "destroy her contract document while still in Avaros, which broke the bond." | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 54 | | parsed | | entry | "7004" | | detail | "sealingMethod" | | explanation | "" | | paragraph | 10 | | substring | "a contract signed in Avaros" |
| | status | "false_positive" | | location | | extractedText | "a contract signed in Avaros" | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 55 | | parsed | | entry | "854" | | detail | "secretRoom" | | explanation | "" | | paragraph | 24 | | substring | "The Veil shimmered — thin as gossamer, and getting thinner by the hour." |
| | status | "false_positive" | | location | | extractedText | (null) | | inBounds | false | | expectedText | "" | | locationAccurate | (null) |
|
|
| 56 | | parsed | | entry | "7002" | | detail | "signedYear" | | explanation | "" | | paragraph | 4 | | substring | "the old treaty from 1066" |
| | status | "true_positive" | | matchedExpected | | entry | "7002" | | detail | "signedYear" | | summary | "The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066." |
| | location | | extractedText | "the old treaty from 1066" | | inBounds | true | | expectedText | "the old treaty from 1066" | | locationAccurate | true |
|
|
| 57 | | parsed | | entry | "6001" | | detail | "foundingYear" | | explanation | "" | | paragraph | 18 | | substring | "The Wardens were founded in 1066" |
| | status | "true_positive" | | matchedExpected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Maggie says 1066." |
| | location | | extractedText | "[not found in paragraph 18]" | | inBounds | true | | expectedText | "The Wardens were founded in 1066" | | locationAccurate | false |
|
|
| 58 | | parsed | | entry | "4418" | | detail | "eyeColor" | | explanation | "" | | paragraph | 10 | | substring | "their glowing blue eyes" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 10]" | | 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 \"4418\", expected \"4424\"" |
|
| 59 | | parsed | | entry | "856" | | detail | "currentLocation" | | explanation | "" | | paragraph | 7 | | substring | "abandoned station under Shoreditch" |
| | status | "false_positive" | | location | | extractedText | "abandoned station under Shoreditch" | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|