| 0 | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "The text refers to Rory as an alias of Aurora Carter, but the codex lists \"Rory\" as an alias of Aurora Carter (correct), though the text's usage is consistent with the codex. No contradiction here, but the codex does not explicitly forbid this usage. No violation." | | paragraph | 1 | | substring | "Rory" |
| | status | "false_positive" | | location | | extractedText | "Rory" | | 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 | "4412" | | detail | "scar" | | explanation | "The text says the scar is on Rory's **right wrist**, but the codex states it is on her **left wrist**." | | paragraph | 13 | | substring | "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 13]" | | inBounds | true | | expectedText | "the crescent-shaped scar on her right wrist" | | locationAccurate | false |
|
|
| 2 | | parsed | | entry | "4413" | | detail | "signetRing" | | explanation | "The text says Silas wears his signet ring on his **left hand**, but the codex states it is always worn on his **right hand**." | | paragraph | 3 | | substring | "silver signet ring on his left hand" |
| | 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 | "silver signet ring on his left hand" | | inBounds | true | | expectedText | "The silver signet ring on his left hand" | | locationAccurate | true |
|
|
| 3 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "The text says Silas limps and favors his **right leg**, but the codex states he has a limp in his **left leg**." | | paragraph | 13 | | substring | "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 13]" | | inBounds | true | | expectedText | "favoring his right leg" | | locationAccurate | false |
|
|
| 4 | | parsed | | entry | "4413" | | detail | "beard" | | explanation | "The text describes Silas's beard as **dark brown**, but the codex states it is **neatly trimmed, matching his grey-streaked auburn hair** (no mention of dark brown)." | | paragraph | 3 | | 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 | "dark brown beard" | | inBounds | true | | expectedText | "his dark brown beard had been freshly trimmed" | | locationAccurate | true |
|
|
| 5 | | parsed | | entry | "854" | | detail | "signColor" | | explanation | "The text says The Raven's Nest has a **red neon sign**, but the codex states it has a **distinctive green neon sign**." | | paragraph | 1 | | substring | "red neon sign" |
| | 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 | "red neon sign" | | inBounds | true | | expectedText | "The bar's red neon sign" | | locationAccurate | true |
|
|
| 6 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The text describes the pendant's chain as **golden**, but the codex states it is a **silver chain**." | | paragraph | 6 | | substring | "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\"" |
|
| 7 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The text incorrectly refers to the ruler of Dymas as **Prince Mammon**, but the codex states the ruler is **Prince Belphegor**." | | paragraph | 7 | | substring | "Prince Mammon's territory" |
| | 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 |
|
|
| 8 | | parsed | | entry | "853" | | detail | "skyColor" | | explanation | "The text says the sky of Dymas had turned **grey**, but the codex states it is normally **warm amber** (no mention of it turning grey)." | | paragraph | 7 | | substring | "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\"" |
|
| 9 | | parsed | | entry | "6001" | | detail | "foundingYear" | | explanation | "The text incorrectly states the Wardens were founded in **1066**, but the codex states they were founded in **1215**." | | paragraph | 9 | | substring | "Their founding in 1066" |
| | 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 9]" | | inBounds | true | | expectedText | "Their founding in 1066" | | locationAccurate | false |
|
|
| 10 | | parsed | | entry | "6001" | | detail | "headquarters" | | explanation | "The text correctly mentions the Wardens' headquarters as the **Westminster Catacombs**, but the codex explicitly states this as their headquarters, so no contradiction here. No violation." | | paragraph | 9 | | substring | "Westminster Catacombs" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 9]" | | inBounds | true | | expectedText | "Their founding in 1066" | | locationAccurate | false |
| | closestExpected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Rory thinks 1066." |
| | reason | "detail mismatch: got \"headquarters\", expected \"foundingYear\"" |
|
| 11 | | parsed | | entry | "7001" | | detail | "solsticeEffect" | | explanation | "The text states the Veil **weakens during the winter solstice and strengthens during the summer solstice**, but the codex explicitly states the opposite: it **weakens during the winter solstice and strengthens during the summer solstice** (the text's phrasing is correct in terms of the Veil's behavior, but the codex says it **weakens during the winter solstice** and **strengthens during the summer solstice**, so the text's implication is accurate. No contradiction here. No violation." | | paragraph | 14 | | substring | "The Veil is thinning — I can feel it. The summer solstice is three days away, and the rift activity is spiking" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 14]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 12 | | parsed | | entry | "4412" | | detail | "scar" | | explanation | "The text says the scar is on Rory's **right wrist**, but the codex states it is on her **left wrist**." | | paragraph | 13 | | substring | "crescent-shaped scar on her right wrist" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 13 | | parsed | | entry | "4413" | | detail | "signetRing" | | explanation | "The text says Silas wears his signet ring on his **left hand**, but the codex states it is always worn on his **right hand**." | | paragraph | 3 | | substring | "silver signet ring on his left hand" |
| | status | "false_positive" | | location | | extractedText | "silver signet ring on his left hand" | | 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 \"signetRing\", expected \"beard\"" |
|
| 14 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "The text says Silas limps and favors his **right leg**, but the codex states he has a limp in his **left leg**." | | paragraph | 13 | | substring | "favoring his right leg" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 13]" | | 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 \"limp\", expected \"beard\"" |
|
| 15 | | parsed | | entry | "4413" | | detail | "beard" | | explanation | "The text describes Silas's beard as **dark brown**, but the codex states it is **neatly trimmed, matching his grey-streaked auburn hair** (no mention of dark brown)." | | paragraph | 3 | | substring | "dark brown beard" |
| | status | "false_positive" | | location | | extractedText | "dark brown beard" | | inBounds | true | | expectedText | "The silver signet ring on his left hand" | | locationAccurate | false |
| | closestExpected | | entry | "4413" | | detail | "signetRing" | | summary | "Silas wears his signet ring on his right hand per codex, but the passage says left hand." |
| | reason | "detail mismatch: got \"beard\", expected \"signetRing\"" |
|
| 16 | | parsed | | entry | "854" | | detail | "signColor" | | explanation | "The text says The Raven's Nest has a **red neon sign**, but the codex states it has a **distinctive green neon sign**." | | paragraph | 1 | | substring | "red neon sign" |
| | status | "false_positive" | | location | | extractedText | "red neon sign" | | inBounds | true | | expectedText | "" | | locationAccurate | true |
|
|
| 17 | | parsed | | entry | "2001" | | detail | "chainMaterial" | | explanation | "The text describes the pendant's chain as **golden**, but the codex states it is a **silver chain**." | | paragraph | 6 | | substring | "golden 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 6]" | | inBounds | true | | expectedText | "The golden chain pooled around the crimson stone" | | locationAccurate | false |
|
|
| 18 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The text incorrectly refers to the ruler of Dymas as **Prince Mammon**, but the codex states the ruler is **Prince Belphegor**." | | paragraph | 7 | | substring | "Prince Mammon's territory" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 7]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|
| 19 | | parsed | | entry | "6001" | | detail | "foundingYear" | | explanation | "The text incorrectly states the Wardens were founded in **1066**, but the codex states they were founded in **1215**." | | paragraph | 9 | | substring | "Their founding in 1066" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 9]" | | inBounds | true | | expectedText | "" | | locationAccurate | false |
|
|