| 45.00% | Accuracy (recall) | Matched: 6/10, FP: 3 | | parsedCount | 9 | | matched | 6 | | total | 10 | | falsePositives | 3 | | expectedDetails | | 0 | | expected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per codex, but the passage says green eyes." |
| | status | "matched" | | matchedBy | | entry | "4412" | | detail | "eyeColor" | | explanation | "The text states Rory's eyes are green, but the codex specifies they are bright blue." | | paragraph | 1 | | substring | "her green eyes scanning" |
| | location | | extractedText | "her green eyes scanning" | | inBounds | true | | expectedText | "her green eyes scanning the room" | | locationAccurate | true |
|
| | 1 | | expected | | entry | "854" | | detail | "signColor" | | summary | "The Raven's Nest has a green neon sign per codex, but the passage says red." |
| | status | "missed" |
| | 2 | | expected | | entry | "4413" | | detail | "signetRing" | | summary | "Silas wears his signet ring on his right hand per codex, but the passage says left hand." |
| | status | "matched" | | matchedBy | | entry | "4413" | | detail | "signetRing" | | explanation | "The codex states Silas always wears his signet ring on his right hand, not left." | | paragraph | 1 | | substring | "his silver signet ring glinting on his left hand" |
| | location | | extractedText | "his silver signet ring glinting on his left hand" | | inBounds | true | | expectedText | "his silver signet ring glinting on his left hand" | | locationAccurate | true |
|
| | 3 | | expected | | entry | "4413" | | detail | "beard" | | summary | "Silas's beard is grey-streaked auburn per codex, but the passage says dark brown." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "The text describes Silas with a dark brown beard, but the codex specifies his beard is grey-streaked auburn to match his hair." | | paragraph | 2 | | substring | "dark brown beard" |
| | reason | "detail mismatch: got \"hair\", expected \"beard\"" |
|
| | 4 | | expected | | entry | "4413" | | detail | "limp" | | summary | "Silas has a limp in his left leg per codex, but the passage says right leg." |
| | status | "matched" | | matchedBy | | entry | "4413" | | detail | "limp" | | explanation | "The codex states Silas has a slight limp in his left leg, not right." | | paragraph | 2 | | substring | "limped around to her side, favoring his right leg" |
| | location | | extractedText | "limped around to her side, favoring his right leg" | | inBounds | true | | expectedText | "favoring his right leg" | | locationAccurate | true |
|
| | 5 | | expected | | entry | "2001" | | detail | "chainMaterial" | | summary | "The Heartstone Pendant has a silver chain per codex, but the passage says golden chain." |
| | status | "missed" | | nearMiss | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The codex specifies the Heartstone Pendant's chain is silver, not golden." | | paragraph | 3 | | substring | "the golden chain catching the low light" |
| | reason | "detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\"" |
|
| | 6 | | expected | | entry | "853" | | detail | "ruler" | | summary | "Dymas is Prince Belphegor's realm per codex, but the passage says Prince Mammon." |
| | status | "matched" | | matchedBy | | entry | "853" | | detail | "ruler" | | explanation | "The text incorrectly names the ruler of Dymas as Prince Mammon; the codex states the ruler is Prince Belphegor." | | paragraph | 3 | | substring | "Prince Mammon's realm" |
| | location | | extractedText | "Prince Mammon's realm" | | inBounds | true | | expectedText | "Prince Mammon's realm" | | locationAccurate | true |
|
| | 7 | | expected | | entry | "4412" | | detail | "species" | | summary | "Aurora is Human per codex, but the passage says Half-Fae." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "While \"Rory\" is listed as an alias in the codex, the text also refers to her as \"Aurora\" in the same paragraph, which is acceptable. However, the **scar** detail is never mentioned in the text, but since it's not contradicted, it is not flagged. The **age** (25) is not contradicted either, so no violation is raised for omissions." | | paragraph | 4 | | substring | "Rory" |
| | reason | "detail mismatch: got \"aliases\", expected \"species\"" |
|
| | 8 | | expected | | entry | "7001" | | detail | "solsticeEffect" | | summary | "The Veil weakens during the winter solstice per codex, but the passage says summer solstice." |
| | status | "matched" | | matchedBy | | entry | "7001" | | detail | "solsticeEffect" | | explanation | "The codex states the Veil weakens during the winter solstice, not summer." | | paragraph | 4 | | substring | "The Veil felt thin tonight — the summer solstice always weakened it" |
| | location | | extractedText | "[not found in paragraph 4]" | | inBounds | true | | expectedText | "the summer solstice always weakened it" | | locationAccurate | false |
|
| | 9 | | expected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Silas says 1066." |
| | status | "matched" | | matchedBy | | entry | "6001" | | detail | "foundingYear" | | explanation | "The codex states The Wardens were founded in 1215, not 1066." | | paragraph | 4 | | substring | "their founding in 1066" |
| | location | | extractedText | "their founding in 1066" | | inBounds | true | | expectedText | "their founding in 1066" | | locationAccurate | true |
|
|
| | falsePositiveDetails | | 0 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "The text describes Silas with a dark brown beard, but the codex specifies his beard is grey-streaked auburn to match his hair." | | paragraph | 2 | | substring | "dark brown beard" |
| | status | "false_positive" | | location | | extractedText | "dark brown beard" | | inBounds | true | | expectedText | "his silver signet ring glinting 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 \"hair\", expected \"signetRing\"" |
| | 1 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The codex specifies the Heartstone Pendant's chain is silver, not golden." | | paragraph | 3 | | substring | "the golden chain catching the low light" |
| | status | "false_positive" | | location | | extractedText | "the golden chain catching the low light" | | inBounds | true | | expectedText | "the golden chain catching the low light" | | locationAccurate | true |
| | 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\"" |
| | 2 | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "While \"Rory\" is listed as an alias in the codex, the text also refers to her as \"Aurora\" in the same paragraph, which is acceptable. However, the **scar** detail is never mentioned in the text, but since it's not contradicted, it is not flagged. The **age** (25) is not contradicted either, so no violation is raised for omissions." | | paragraph | 4 | | substring | "Rory" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 4]" | | inBounds | true | | expectedText | "her green eyes scanning the room" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"aliases\", expected \"eyeColor\"" |
|
| |
| 66.67% | Precision | True positives: 6/9 | | totalReported | 9 | | truePositives | 6 | | reportedDetails | | 0 | | parsed | | entry | "4412" | | detail | "eyeColor" | | explanation | "The text states Rory's eyes are green, but the codex specifies they are bright blue." | | paragraph | 1 | | substring | "her green eyes scanning" |
| | status | "true_positive" | | matchedExpected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per codex, but the passage says green eyes." |
| | location | | extractedText | "her green eyes scanning" | | inBounds | true | | expectedText | "her green eyes scanning the room" | | locationAccurate | true |
|
| | 1 | | parsed | | entry | "4413" | | detail | "signetRing" | | explanation | "The codex states Silas always wears his signet ring on his right hand, not left." | | paragraph | 1 | | substring | "his silver signet ring glinting 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 | "his silver signet ring glinting on his left hand" | | inBounds | true | | expectedText | "his silver signet ring glinting on his left hand" | | locationAccurate | true |
|
| | 2 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "The text describes Silas with a dark brown beard, but the codex specifies his beard is grey-streaked auburn to match his hair." | | paragraph | 2 | | substring | "dark brown beard" |
| | status | "false_positive" | | location | | extractedText | "dark brown beard" | | inBounds | true | | expectedText | "his silver signet ring glinting 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 \"hair\", expected \"signetRing\"" |
| | 3 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "The codex states Silas has a slight limp in his left leg, not right." | | paragraph | 2 | | substring | "limped around to her side, favoring his right leg" |
| | status | "true_positive" | | matchedExpected | | entry | "4413" | | detail | "limp" | | summary | "Silas has a limp in his left leg per codex, but the passage says right leg." |
| | location | | extractedText | "limped around to her side, favoring his right leg" | | inBounds | true | | expectedText | "favoring his right leg" | | locationAccurate | true |
|
| | 4 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The codex specifies the Heartstone Pendant's chain is silver, not golden." | | paragraph | 3 | | substring | "the golden chain catching the low light" |
| | status | "false_positive" | | location | | extractedText | "the golden chain catching the low light" | | inBounds | true | | expectedText | "the golden chain catching the low light" | | locationAccurate | true |
| | 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\"" |
| | 5 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The text incorrectly names the ruler of Dymas as Prince Mammon; the codex states the ruler is Prince Belphegor." | | paragraph | 3 | | substring | "Prince Mammon's realm" |
| | status | "true_positive" | | matchedExpected | | entry | "853" | | detail | "ruler" | | summary | "Dymas is Prince Belphegor's realm per codex, but the passage says Prince Mammon." |
| | location | | extractedText | "Prince Mammon's realm" | | inBounds | true | | expectedText | "Prince Mammon's realm" | | locationAccurate | true |
|
| | 6 | | parsed | | entry | "7001" | | detail | "solsticeEffect" | | explanation | "The codex states the Veil weakens during the winter solstice, not summer." | | paragraph | 4 | | substring | "The Veil felt thin tonight — the summer solstice always weakened it" |
| | 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 4]" | | inBounds | true | | expectedText | "the summer solstice always weakened it" | | locationAccurate | false |
|
| | 7 | | parsed | | entry | "6001" | | detail | "foundingYear" | | explanation | "The codex states The Wardens were founded in 1215, not 1066." | | paragraph | 4 | | substring | "their founding in 1066" |
| | status | "true_positive" | | matchedExpected | | entry | "6001" | | detail | "foundingYear" | | summary | "The Wardens were founded in 1215 per codex, but Silas says 1066." |
| | location | | extractedText | "their founding in 1066" | | inBounds | true | | expectedText | "their founding in 1066" | | locationAccurate | true |
|
| | 8 | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "While \"Rory\" is listed as an alias in the codex, the text also refers to her as \"Aurora\" in the same paragraph, which is acceptable. However, the **scar** detail is never mentioned in the text, but since it's not contradicted, it is not flagged. The **age** (25) is not contradicted either, so no violation is raised for omissions." | | paragraph | 4 | | substring | "Rory" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 4]" | | inBounds | true | | expectedText | "her green eyes scanning the room" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"aliases\", expected \"eyeColor\"" |
|
| |