| 0 | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "The text refers to Aurora as \"Rory\" (correct), but the codex lists \"Rory\" as one of her aliases, implying it's not her primary name. The text does not use her canonical name \"Aurora\" at all, which is a stylistic choice but not a factual violation. No violation here." | | paragraph | 1 | | substring | "Rory turned onto the narrow side street" |
| | status | "false_positive" | | location | | extractedText | "Rory turned onto the narrow side street" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"aliases\", expected \"scar\"" |
|
| 1 | | parsed | | entry | "4413" | | detail | "signetRing" | | explanation | "The codex states Silas always wears his silver signet ring on his **right hand**, not left." | | paragraph | 4 | | substring | "The silver signet ring on his left hand caught the light" |
| | status | "true_positive" | | matchedExpected | | entry | "4413" | | detail | "signetRing" | | summary | "Silas wears his signet ring on his right hand per codex, but the passage says left hand." |
| | location | | extractedText | "[not found in paragraph 4]" | | inBounds | true | | expectedText | "The silver signet ring on his left hand" | | locationAccurate | false |
|
|
| 2 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "Silas has a **left leg limp** (old knee injury), not right." | | paragraph | 10 | | substring | "limped around the bar, favoring his right leg" |
| | status | "true_positive" | | matchedExpected | | entry | "4413" | | detail | "limp" | | summary | "Silas limps on his left leg per codex, but the passage says right leg." |
| | location | | extractedText | "[not found in paragraph 10]" | | inBounds | true | | expectedText | "favoring his right leg" | | locationAccurate | false |
|
|
| 3 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "Silas's beard is described as **neatly trimmed** (matching his hair) in the codex, but the text calls it **dark brown**, which contradicts the codex's **grey-streaked auburn** hair and unspecified beard color." | | paragraph | 4 | | substring | "His grey-streaked auburn hair was neatly combed, and his dark brown beard had been freshly trimmed" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 4]" | | inBounds | true | | expectedText | "his dark brown beard had been freshly trimmed" | | locationAccurate | false |
| | closestExpected | | entry | "4413" | | detail | "beard" | | summary | "Silas's beard matches his grey-streaked auburn hair per codex, but the passage says dark brown beard." |
| | reason | "detail mismatch: got \"hair\", expected \"beard\"" |
|
| 4 | | parsed | | entry | "4413" | | detail | "beard" | | explanation | "The codex does not specify Silas's beard color, but the text contradicts the implied **grey-streaked auburn** hair by describing it as **dark brown**." | | paragraph | 4 | | substring | "dark brown beard" |
| | status | "true_positive" | | matchedExpected | | entry | "4413" | | detail | "beard" | | summary | "Silas's beard matches his grey-streaked auburn hair per codex, but the passage says dark brown beard." |
| | location | | extractedText | "[not found in paragraph 4]" | | inBounds | true | | expectedText | "his dark brown beard had been freshly trimmed" | | locationAccurate | false |
|
|
| 5 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "Dymas is ruled by **Prince Belphegor**, not Prince Mammon." | | paragraph | 7 | | substring | "Prince Mammon's territory was... different" |
| | status | "true_positive" | | matchedExpected | | entry | "853" | | detail | "ruler" | | summary | "Dymas is Prince Belphegor's realm per codex, but Rory refers to it as Prince Mammon's territory." |
| | location | | extractedText | "[not found in paragraph 7]" | | inBounds | true | | expectedText | "Prince Mammon's territory" | | locationAccurate | false |
|
|
| 6 | | parsed | | entry | "853" | | detail | "skyColor" | | explanation | "Dymas's sky is **warm amber** (not grey) under normal circumstances." | | paragraph | 7 | | substring | "The amber sky had turned grey" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 7]" | | inBounds | true | | expectedText | "Prince Mammon's territory" | | locationAccurate | false |
| | closestExpected | | entry | "853" | | detail | "ruler" | | summary | "Dymas is Prince Belphegor's realm per codex, but Rory refers to it as Prince Mammon's territory." |
| | reason | "detail mismatch: got \"skyColor\", expected \"ruler\"" |
|
| 7 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The Heartstone Pendant's gemstone is **deep crimson**, not golden." | | paragraph | 6 | | substring | "the golden chain pooled around the crimson stone" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "The golden chain pooled around the crimson stone" | | 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\"" |
|
| 8 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The chain is **silver**, not golden." | | paragraph | 6 | | substring | "the golden chain" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "The golden chain pooled around the crimson stone" | | 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\"" |
|
| 9 | | parsed | | entry | "4412" | | detail | "scar" | | explanation | "Aurora's scar is on her **left wrist**, not right." | | paragraph | 11 | | substring | "a crescent-shaped scar on her right wrist" |
| | status | "true_positive" | | matchedExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | location | | extractedText | "[not found in paragraph 11]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
|
|
| 10 | | parsed | | entry | "6001" | | detail | "foundingYear" | | explanation | "The Wardens were founded in **1215**, not 1066." | | paragraph | 8 | | substring | "Their founding in 1066 gave them centuries of institutional arrogance" |
| | status | "true_positive" | | matchedExpected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Rory thinks 1066." |
| | location | | extractedText | "[not found in paragraph 8]" | | inBounds | true | | expectedText | "Their founding in 1066" | | locationAccurate | false |
|
|
| 11 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The text describes the Golden Empress as a **Cantonese restaurant**, but the codex does not specify cuisine. This is a stylistic addition, not a violation. No violation here." | | paragraph | 1 | | substring | "delivery person for Yu-Fei Cheung's Golden Empress restaurant" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 1]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 12 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention Chinatown or delivery routes through it. This is a stylistic addition, not a violation. No violation here." | | paragraph | 1 | | substring | "a detour through Chinatown" |
| | status | "false_positive" | | location | | extractedText | "a detour through Chinatown" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 13 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "Wardour Street is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 1 | | substring | "customer on Wardour Street" |
| | status | "false_positive" | | location | | extractedText | "customer on Wardour Street" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 14 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention alleyways or strange lights. This is a stylistic addition, not a violation. No violation here." | | paragraph | 1 | | substring | "near an alley" |
| | status | "false_positive" | | location | | extractedText | "near an alley" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 15 | | parsed | | entry | "854" | | detail | "signColor" | | explanation | "The codex states the sign is **distinctive green neon**, not red." | | paragraph | 1 | | substring | "The bar's red neon sign — a stylized raven in flight" |
| | status | "true_positive" | | matchedExpected | | entry | "854" | | detail | "signColor" | | summary | "The Raven's Nest has a green neon sign per codex, but the passage says red." |
| | location | | extractedText | "The bar's red neon sign — a stylized raven in flight" | | inBounds | true | | expectedText | "The bar's red neon sign" | | locationAccurate | true |
|
|
| 16 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention delivery times or delays. This is a stylistic addition, not a violation. No violation here." | | paragraph | 1 | | substring | "The delivery run for the Golden Empress had taken longer than expected" |
| | status | "false_positive" | | location | | extractedText | "The delivery run for the Golden Empress had taken longer than expected" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 17 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention Rory pausing or catching her breath. This is a stylistic addition, not a violation. No violation here." | | paragraph | 1 | | substring | "She paused beneath it, catching her breath" |
| | status | "false_positive" | | location | | extractedText | "She paused beneath it, catching her breath" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 18 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention Eva's location or her research at the British Museum. This is a stylistic addition, not a violation. No violation here." | | paragraph | 12 | | substring | "I need to see Eva" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 19 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention Rory's uncertainty or her destination. This is a stylistic addition, not a violation. No violation here." | | paragraph | 12 | | substring | "she wasn't sure she wanted to find" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 20 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "Brick Lane is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 12 | | substring | "headed east toward Brick Lane" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 21 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not specify where the pendant is carried. This is a stylistic addition, not a violation. No violation here." | | paragraph | 12 | | substring | "the pendant warm against her hip" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 12]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 22 | | parsed | | entry | "7001" | | detail | "solsticeEffect" | | explanation | "The codex states the Veil **weakens during the winter solstice** and **strengthens during the summer solstice**, implying it is stronger, not thinning, during summer." | | paragraph | 13 | | substring | "The Veil is thinning — I can feel it. The summer solstice is three days away, and the rift activity is spiking" |
| | status | "true_positive" | | matchedExpected | | entry | "7001" | | detail | "solsticeEffect" | | summary | "The Veil weakens during the winter solstice per codex, but the passage says summer solstice." |
| | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "The summer solstice is three days away, and the rift activity is spiking" | | locationAccurate | false |
|
|
| 23 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex states the Veil **strengthens during the summer solstice**, not weakens." | | paragraph | 13 | | substring | "somewhere beneath the city, the Veil was humming — growing weaker with every hour, preparing for its annual collapse at the height of midsummer" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 24 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "Detective Harlow Quinn is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "The door chimed. A woman stepped in — sharp jaw, closely cropped blonde hair, brown eyes that swept the room with practised precision. Detective Harlow Quinn" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 25 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "Detective Harlow Quinn is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "Detective Harlow Quinn. She wore plain clothes tonight" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 26 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "Detective Quinn's attire is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "plain clothes" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 27 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention disappearances, Blackfriars, or Tuesday. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "the disappearance of three people near Blackfriars last Tuesday" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 28 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention disappearances or rivers. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "All last seen near the river" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 29 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention Aurora's delivery of Cantonese food or her response to Detective Quinn. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "I deliver Cantonese food, Detective. Not people" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 30 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "DS Morris is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "DS Morris — he disappeared investigating something similar, three years ago" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 31 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention previous disappearances or areas. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "Same area" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 32 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "Detective Quinn's dialogue is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "I don't believe in coincidences" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 33 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "Detective Quinn's dialogue is not mentioned in the codex. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "I'll be in touch" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 34 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention Detective Quinn leaving. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "After she left" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|
| 35 | | parsed | | entry | "4412" | | detail | "backstory" | | explanation | "The codex does not mention Rory stepping out of the bar. This is a stylistic addition, not a violation. No violation here." | | paragraph | 13 | | substring | "She stepped out into the Soho night" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "scar" | | summary | "Aurora's crescent scar is on her left wrist per codex, but the passage says right wrist." |
| | reason | "detail mismatch: got \"backstory\", expected \"scar\"" |
|