| 40.00% | Accuracy (recall) | Matched: 4/5, FP: 4 | | parsedCount | 8 | | matched | 4 | | total | 5 | | falsePositives | 4 | | expectedDetails | | 0 | | expected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per her codex entry, but the passage says she has green eyes." |
| | status | "matched" | | matchedBy | | entry | "4412" | | detail | "eyeColor" | | explanation | "The codex states Aurora's eye color is \"bright blue,\" not green." | | 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 | "4412" | | detail | "species" | | summary | "Aurora is Human per her codex entry, but the passage refers to her as Half-Fae." |
| | status | "matched" | | matchedBy | | entry | "4412" | | detail | "species" | | explanation | "The codex states Aurora is \"Human,\" not Half-Fae." | | paragraph | 3 | | substring | "her Half-Fae senses tingling" |
| | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "her Half-Fae senses tingling" | | locationAccurate | false |
|
| | 2 | | expected | | entry | "2001" | | detail | "chainMaterial" | | summary | "The Heartstone Pendant has a silver chain per its codex entry, but the passage says golden chain." |
| | status | "missed" | | nearMiss | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The codex states the Heartstone Pendant has a \"deep crimson\" gemstone, not a \"golden\" chain. The chain is silver, not gold." | | paragraph | 3 | | substring | "the golden chain catching the low light" |
| | reason | "detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\"" |
|
| | 3 | | expected | | entry | "4413" | | detail | "beard" | | summary | "Silas's beard matches his grey-streaked auburn hair per codex, but the passage says dark brown beard." |
| | status | "matched" | | matchedBy | | entry | "4413" | | detail | "beard" | | explanation | "The codex describes Silas' beard as \"neatly trimmed,\" but the text does not contradict this directly. However, the **color** is wrong (see above)." | | paragraph | 2 | | substring | "running a hand through his dark brown beard" |
| | location | | extractedText | "running a hand through his dark brown beard" | | inBounds | true | | expectedText | "his dark brown beard" | | locationAccurate | true |
|
| | 4 | | expected | | entry | "853" | | detail | "ruler" | | summary | "Dymas is Prince Belphegor's realm per the codex, but the passage says Prince Mammon's realm." |
| | status | "matched" | | matchedBy | | entry | "853" | | detail | "ruler" | | explanation | "The codex states the ruler of Dymas is \"Prince Belphegor,\" not \"Prince Mammon.\" Mammon is the ruler of Avarice (Greed), not Gluttony." | | paragraph | 3 | | substring | "Prince Mammon's realm" |
| | location | | extractedText | "Prince Mammon's realm" | | inBounds | true | | expectedText | "Prince Mammon's realm" | | locationAccurate | true |
|
|
| | falsePositiveDetails | | 0 | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "While \"Rory\" is a valid alias, the text does not contradict the codex directly, but the **name inconsistency** occurs in paragraph 3: \"Aurora pulled the Heartstone Pendant\" — the codex does not prohibit this, but the **first mention** should align with the **primary name** (\"Aurora Carter\") per the codex's structure. *(Note: This is a stylistic choice, not a factual violation, so it is not flagged per instructions.)*" | | paragraph | 1 | | substring | "Rory pushed through the door" |
| | status | "false_positive" | | location | | extractedText | "Rory pushed through the door" | | inBounds | true | | expectedText | "her green eyes scanning the room" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per her codex entry, but the passage says she has green eyes." |
| | reason | "detail mismatch: got \"aliases\", expected \"eyeColor\"" |
| | 1 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "The codex states Silas has \"grey-streaked auburn\" hair, not dark brown." | | paragraph | 2 | | substring | "running a hand through his dark brown beard" |
| | status | "false_positive" | | location | | extractedText | "running a hand through his dark brown beard" | | inBounds | true | | expectedText | "his dark brown beard" | | locationAccurate | true |
| | 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\"" |
| | 2 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "The codex states Silas has a \"slight limp in his left leg,\" but the text does not specify the leg, only that he limps. *(This is not a direct contradiction, so it is not flagged.)*" | | paragraph | 2 | | substring | "limped around to her side" |
| | status | "false_positive" | | location | | extractedText | "limped around to her side" | | inBounds | true | | expectedText | "his dark brown beard" | | 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\"" |
| | 3 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The codex states the Heartstone Pendant has a \"deep crimson\" gemstone, not a \"golden\" chain. The chain is silver, not gold." | | 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 its codex entry, but the passage says golden chain." |
| | reason | "detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\"" |
|
| |
| 50.00% | Precision | True positives: 4/8 | | totalReported | 8 | | truePositives | 4 | | reportedDetails | | 0 | | parsed | | entry | "4412" | | detail | "eyeColor" | | explanation | "The codex states Aurora's eye color is \"bright blue,\" not green." | | paragraph | 1 | | substring | "her green eyes scanning" |
| | status | "true_positive" | | matchedExpected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per her codex entry, but the passage says she has green eyes." |
| | location | | extractedText | "her green eyes scanning" | | inBounds | true | | expectedText | "her green eyes scanning the room" | | locationAccurate | true |
|
| | 1 | | parsed | | entry | "4412" | | detail | "aliases" | | explanation | "While \"Rory\" is a valid alias, the text does not contradict the codex directly, but the **name inconsistency** occurs in paragraph 3: \"Aurora pulled the Heartstone Pendant\" — the codex does not prohibit this, but the **first mention** should align with the **primary name** (\"Aurora Carter\") per the codex's structure. *(Note: This is a stylistic choice, not a factual violation, so it is not flagged per instructions.)*" | | paragraph | 1 | | substring | "Rory pushed through the door" |
| | status | "false_positive" | | location | | extractedText | "Rory pushed through the door" | | inBounds | true | | expectedText | "her green eyes scanning the room" | | locationAccurate | false |
| | closestExpected | | entry | "4412" | | detail | "eyeColor" | | summary | "Aurora has bright blue eyes per her codex entry, but the passage says she has green eyes." |
| | reason | "detail mismatch: got \"aliases\", expected \"eyeColor\"" |
| | 2 | | parsed | | entry | "4413" | | detail | "hair" | | explanation | "The codex states Silas has \"grey-streaked auburn\" hair, not dark brown." | | paragraph | 2 | | substring | "running a hand through his dark brown beard" |
| | status | "false_positive" | | location | | extractedText | "running a hand through his dark brown beard" | | inBounds | true | | expectedText | "his dark brown beard" | | locationAccurate | true |
| | 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\"" |
| | 3 | | parsed | | entry | "4413" | | detail | "beard" | | explanation | "The codex describes Silas' beard as \"neatly trimmed,\" but the text does not contradict this directly. However, the **color** is wrong (see above)." | | paragraph | 2 | | substring | "running a hand through his 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 | "running a hand through his dark brown beard" | | inBounds | true | | expectedText | "his dark brown beard" | | locationAccurate | true |
|
| | 4 | | parsed | | entry | "4413" | | detail | "limp" | | explanation | "The codex states Silas has a \"slight limp in his left leg,\" but the text does not specify the leg, only that he limps. *(This is not a direct contradiction, so it is not flagged.)*" | | paragraph | 2 | | substring | "limped around to her side" |
| | status | "false_positive" | | location | | extractedText | "limped around to her side" | | inBounds | true | | expectedText | "his dark brown beard" | | 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\"" |
| | 5 | | parsed | | entry | "853" | | detail | "ruler" | | explanation | "The codex states the ruler of Dymas is \"Prince Belphegor,\" not \"Prince Mammon.\" Mammon is the ruler of Avarice (Greed), not Gluttony." | | paragraph | 3 | | substring | "Prince Mammon's realm" |
| | status | "true_positive" | | matchedExpected | | entry | "853" | | detail | "ruler" | | summary | "Dymas is Prince Belphegor's realm per the codex, but the passage says Prince Mammon's realm." |
| | location | | extractedText | "Prince Mammon's realm" | | inBounds | true | | expectedText | "Prince Mammon's realm" | | locationAccurate | true |
|
| | 6 | | parsed | | entry | "2001" | | detail | "gemstoneColor" | | explanation | "The codex states the Heartstone Pendant has a \"deep crimson\" gemstone, not a \"golden\" chain. The chain is silver, not gold." | | 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 its codex entry, but the passage says golden chain." |
| | reason | "detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\"" |
| | 7 | | parsed | | entry | "4412" | | detail | "species" | | explanation | "The codex states Aurora is \"Human,\" not Half-Fae." | | paragraph | 3 | | substring | "her Half-Fae senses tingling" |
| | status | "true_positive" | | matchedExpected | | entry | "4412" | | detail | "species" | | summary | "Aurora is Human per her codex entry, but the passage refers to her as Half-Fae." |
| | location | | extractedText | "[not found in paragraph 3]" | | inBounds | true | | expectedText | "her Half-Fae senses tingling" | | locationAccurate | false |
|
|
| |
| 100.00% | Structural validity | Parsed: 8, Well-formed: 8/8 | | parsedCount | 8 | | wellFormedScore | 8 | |