| 0.00% | Accuracy (recall) | Matched: 1/11, FP: 13 | | parsedCount | 14 | | matched | 1 | | total | 11 | | falsePositives | 13 | | expectedDetails | | 0 | | expected | | entry | "856" | | detail | "currentLocation" | | summary | "The Veil Market is beneath Camden per the codex, but the passage says Shoreditch." |
| | status | "missed" |
| | 1 | | expected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "The text says blue eyes, but the codex says heterochromatic — one amber, one black." | | paragraph | 5 | | substring | "Nyx drifted between the stalls, their glowing blue eyes scanning for the merchant Silas had described." |
| | reason | "entry mismatch: got \"4415\", expected \"4418\"" |
|
| | 2 | | expected | | entry | "4417" | | detail | "scar" | | summary | "Tomás has a scar on his left forearm per the codex, but the passage says right forearm." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "The text describes Tomás with warm brown eyes, but the codex specifies faintly glowing violet eyes." | | paragraph | 5 | | substring | "Tomás was nearby, his scarred right forearm tucked into his jacket pocket." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"scar\"" |
|
| | 3 | | expected | | entry | "4417" | | detail | "birthplace" | | summary | "Tomás was born in Seville per the codex, but the passage implies Madrid via his accent." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "The text describes Tomás with warm brown eyes, but the codex specifies faintly glowing violet eyes." | | paragraph | 5 | | substring | "Tomás was nearby, his scarred right forearm tucked into his jacket pocket." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"birthplace\"" |
|
| | 4 | | expected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex states Kai has dyed electric-blue hair in an undercut, not natural black hair." | | paragraph | 5 | | substring | "Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
|
| | 5 | | expected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | status | "matched" | | matchedBy | | entry | "4419" | | detail | "eyeColor" | | explanation | "The codex lists Maggie’s eye color as sharp grey, not green." | | paragraph | 6 | | substring | "Maggie tapped her cane against the stone floor, her keen green eyes narrowing behind wire-rimmed spectacles." |
| | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
|
| | 6 | | expected | | entry | "6002" | | detail | "headquarters" | | summary | "The Crimson Court is headquartered in Dymas per the codex, but Maggie says their base is in Avaros." |
| | status | "missed" |
| | 7 | | expected | | entry | "2003" | | detail | "material" | | summary | "The Irathi War Gauntlet is blackened iron with red runes per the codex, but the passage says gleaming steel with blue runes." |
| | status | "missed" |
| | 8 | | expected | | entry | "2003" | | detail | "origin" | | summary | "The Irathi War Gauntlet is from Irath per the codex, but the merchant says it's from Dymas." |
| | status | "missed" | | nearMiss | | parsed | | entry | "4418" | | detail | "origin" | | explanation | "The codex does not state Nyx’s origin as Seville, Spain, making this an unsupported claim." | | paragraph | 6 | | substring | "Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643." |
| | reason | "entry mismatch: got \"4418\", expected \"2003\"" |
|
| | 9 | | expected | | entry | "2003" | | detail | "creator" | | summary | "The Irathi War Gauntlet was forged by a demon smith named Gorath per the codex, but the merchant attributes it to Prince Abaddon." |
| | status | "missed" |
| | 10 | | expected | | entry | "2004" | | detail | "faceMarkings" | | summary | "The Veil Compass face is etched with sigils per the codex, but the passage says the face is smooth and unmarked." |
| | status | "missed" |
|
| | falsePositiveDetails | | 0 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "The text says blue eyes, but the codex says heterochromatic — one amber, one black." | | paragraph | 5 | | substring | "Nyx drifted between the stalls, their glowing blue eyes scanning for the merchant Silas had described." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4415\", expected \"4418\"" |
| | 1 | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "The text describes Tomás with warm brown eyes, but the codex specifies faintly glowing violet eyes." | | paragraph | 5 | | substring | "Tomás was nearby, his scarred right forearm tucked into his jacket pocket." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"scar\"" |
| | 2 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex states Kai has dyed electric-blue hair in an undercut, not natural black hair." | | paragraph | 5 | | substring | "Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
| | 3 | | parsed | | entry | "4419" | | detail | "age" | | explanation | "The codex states Maggie is 72, but the text implies she is younger than that based on context." | | paragraph | 6 | | substring | "Maggie, 72" 1/1/1972, 12:00:00 AM |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
| | 4 | | parsed | | entry | "4418" | | detail | "age" | | explanation | "The codex describes Nyx as ageless, so stating an exact age (e.g., 1643) contradicts the ageless designation." | | paragraph | 6 | | substring | "Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
| | 5 | | parsed | | entry | "4418" | | detail | "birthplace" | | explanation | "The codex does not specify Nyx’s birthplace, making the mention of Seville a fabrication." | | paragraph | 6 | | substring | "Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"birthplace\", expected \"eyeColor\"" |
| | 6 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex describes Tomás as having short curly dark brown hair, but the text refers to “natural black hair” which is inaccurate." | | paragraph | 5 | | substring | "Tomás was nearby, his scarred right forearm tucked into his jacket pocket." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
| | 7 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
| | 8 | | parsed | | entry | "4419" | | detail | "build" | | explanation | "The codex describes Maggie as frail but fierce-witted; “slight” is vague and not explicitly stated, though not strictly contradictory—however, combined with other errors, this may be secondary." | | paragraph | 6 | | substring | "Maggie, slight, frail appearance but fierce wit" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"build\", expected \"eyeColor\"" |
| | 9 | | parsed | | entry | "4418" | | detail | "origin" | | explanation | "The codex does not state Nyx’s origin as Seville, Spain, making this an unsupported claim." | | paragraph | 6 | | substring | "Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"origin\", expected \"eyeColor\"" |
| | 10 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
| | 11 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
| | 12 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
|
| |
| 7.14% | Precision | True positives: 1/14 | | totalReported | 14 | | truePositives | 1 | | reportedDetails | | 0 | | parsed | | entry | "4415" | | detail | "eyeColor" | | explanation | "The text says blue eyes, but the codex says heterochromatic — one amber, one black." | | paragraph | 5 | | substring | "Nyx drifted between the stalls, their glowing blue eyes scanning for the merchant Silas had described." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "entry mismatch: got \"4415\", expected \"4418\"" |
| | 1 | | parsed | | entry | "4417" | | detail | "eyeColor" | | explanation | "The text describes Tomás with warm brown eyes, but the codex specifies faintly glowing violet eyes." | | paragraph | 5 | | substring | "Tomás was nearby, his scarred right forearm tucked into his jacket pocket." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"eyeColor\", expected \"scar\"" |
| | 2 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex states Kai has dyed electric-blue hair in an undercut, not natural black hair." | | paragraph | 5 | | substring | "Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
| | 3 | | parsed | | entry | "4419" | | detail | "eyeColor" | | explanation | "The codex lists Maggie’s eye color as sharp grey, not green." | | paragraph | 6 | | substring | "Maggie tapped her cane against the stone floor, her keen green eyes narrowing behind wire-rimmed spectacles." |
| | status | "true_positive" | | matchedExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
|
| | 4 | | parsed | | entry | "4419" | | detail | "age" | | explanation | "The codex states Maggie is 72, but the text implies she is younger than that based on context." | | paragraph | 6 | | substring | "Maggie, 72" 1/1/1972, 12:00:00 AM |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
| | 5 | | parsed | | entry | "4418" | | detail | "age" | | explanation | "The codex describes Nyx as ageless, so stating an exact age (e.g., 1643) contradicts the ageless designation." | | paragraph | 6 | | substring | "Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"age\", expected \"eyeColor\"" |
| | 6 | | parsed | | entry | "4418" | | detail | "birthplace" | | explanation | "The codex does not specify Nyx’s birthplace, making the mention of Seville a fabrication." | | paragraph | 6 | | substring | "Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"birthplace\", expected \"eyeColor\"" |
| | 7 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex describes Tomás as having short curly dark brown hair, but the text refers to “natural black hair” which is inaccurate." | | paragraph | 5 | | substring | "Tomás was nearby, his scarred right forearm tucked into his jacket pocket." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
| | 8 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
| | 9 | | parsed | | entry | "4419" | | detail | "build" | | explanation | "The codex describes Maggie as frail but fierce-witted; “slight” is vague and not explicitly stated, though not strictly contradictory—however, combined with other errors, this may be secondary." | | paragraph | 6 | | substring | "Maggie, slight, frail appearance but fierce wit" |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "her keen green eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4419" | | detail | "eyeColor" | | summary | "Maggie has sharp grey eyes per the codex, but the passage says green eyes." |
| | reason | "detail mismatch: got \"build\", expected \"eyeColor\"" |
| | 10 | | parsed | | entry | "4418" | | detail | "origin" | | explanation | "The codex does not state Nyx’s origin as Seville, Spain, making this an unsupported claim." | | paragraph | 6 | | substring | "Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 6]" | | inBounds | true | | expectedText | "their glowing blue eyes" | | locationAccurate | false |
| | closestExpected | | entry | "4418" | | detail | "eyeColor" | | summary | "Nyx has violet eyes per the codex, but the passage says blue eyes." |
| | reason | "detail mismatch: got \"origin\", expected \"eyeColor\"" |
| | 11 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
| | 12 | | parsed | | entry | "4416" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | inBounds | true | | expectedText | "His natural black hair" | | locationAccurate | false |
| | closestExpected | | entry | "4420" | | detail | "hair" | | summary | "Kai has dyed electric-blue hair per the codex, but the passage says natural black hair." |
| | reason | "entry mismatch: got \"4416\", expected \"4420\"" |
| | 13 | | parsed | | entry | "4417" | | detail | "hair" | | explanation | "The codex specifies Kai’s hair as dyed electric-blue, not natural black." | | paragraph | 5 | | substring | "His natural black hair was hidden under a beanie." |
| | status | "false_positive" | | location | | extractedText | "[not found in paragraph 5]" | | 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 the codex, but the passage says right forearm." |
| | reason | "detail mismatch: got \"hair\", expected \"scar\"" |
|
| |