"2026-02-16T01:56:57.419566+00:00"2/16/2026, 1:56:57 AM
model
"mistralai/mistral-small-creative-20251216"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
264
moderation_latency
(null)
generation_time
7883
tokens_prompt
7819
tokens_completion
1508
native_tokens_prompt
7791
native_tokens_completion
1598
native_tokens_completion_images
(null)
native_tokens_reasoning
0
native_tokens_cached
6336
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"stop"
usage
0.0012585
router
(null)
provider_responses
0
id
"cfebc576fd154ea8801074be0f022940"
status
200
is_byok
false
latency
264
endpoint_id
"0118a65e-79f9-48b0-924e-38c4a41378e1"
provider_name
"Mistral"
model_permaslug
"mistralai/mistral-small-creative-20251216"
api_type
"completions"
id
"gen-1771207008-Dmc4RfBmTYWWGsNux7Hz"
upstream_id
"cfebc576fd154ea8801074be0f022940"
total_cost
0.0012585
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Mistral"
Evaluation details
Result
Evaluator
Details
Meta Data
38.3333%
Accuracy (recall)
Matched: 17/30, FP: 11
parsedCount
28
matched
17
total
30
falsePositives
11
expectedDetails
0
expected
entry
"861"
detail
"parkLocation"
summary
"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
status
"matched"
matchedBy
entry
"861"
detail
"parkLocation"
explanation
"The Fae Grove is located in Richmond Park, not Hyde Park."
paragraph
1
substring
"Hyde Park"
location
extractedText
"Hyde Park"
inBounds
true
expectedText
"The Fae Grove in Hyde Park"
locationAccurate
true
1
expected
entry
"861"
detail
"standingStones"
summary
"The grove has oak standing stones per codex, but the passage says elm."
status
"missed"
2
expected
entry
"4424"
detail
"eyeColor"
summary
"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
status
"matched"
matchedBy
entry
"4424"
detail
"eyeColor"
explanation
"Isolde's eye color is pale lavender, not pale blue."
paragraph
1
substring
"pale blue eyes"
location
extractedText
"pale blue eyes"
inBounds
true
expectedText
"Her pale blue eyes, unblinking"
locationAccurate
true
3
expected
entry
"4424"
detail
"footprints"
summary
"Isolde leaves no footprints per codex, but the passage says she leaves clear prints."
status
"matched"
matchedBy
entry
"4424"
detail
"footprints"
explanation
"Isolde leaves no footprints when she walks."
paragraph
1
substring
"bare feet leaving clear prints in the soft earth"
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"her bare feet leaving clear prints in the soft earth"
locationAccurate
false
4
expected
entry
"2006"
detail
"temperature"
summary
"The Fae-Forged Blade is always cold per codex, but the passage says warm."
status
"missed"
5
expected
entry
"4414"
detail
"glasses"
summary
"Eva wears round glasses per codex, but the passage says square glasses."
status
"matched"
matchedBy
entry
"4414"
detail
"glasses"
explanation
"Eva's glasses are round, not square."
paragraph
2
substring
"square glasses"
location
extractedText
"square glasses"
inBounds
true
expectedText
"Her square glasses kept fogging"
locationAccurate
true
6
expected
entry
"2005"
detail
"containerColor"
summary
"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
status
"matched"
matchedBy
entry
"2005"
detail
"containerColor"
explanation
"Somnian Dream Dust is stored in small **cobalt-blue** glass vials, sealed with **black wax**, not red vials with white wax."
paragraph
5
substring
"little red glass vials, sealed with white wax"
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"little red glass vials"
locationAccurate
false
7
expected
entry
"2005"
detail
"sealMaterial"
summary
"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
status
"missed"
8
expected
entry
"6003"
detail
"master"
summary
"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
status
"missed"
9
expected
entry
"4422"
detail
"eyeColor"
summary
"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
status
"missed"
10
expected
entry
"4422"
detail
"rosary"
summary
"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
status
"missed"
11
expected
entry
"7002"
detail
"signedYear"
summary
"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
status
"matched"
matchedBy
entry
"7002"
detail
"signedYear"
explanation
"The Covenant of Separation was signed in **1215**, not 1066."
paragraph
10
substring
"the Covenant of Separation — the old treaty from 1066"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
12
expected
entry
"6004"
detail
"headquarters"
summary
"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
status
"missed"
13
expected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
status
"matched"
matchedBy
entry
"4415"
detail
"cane"
explanation
"Lucien's cane has an ivory-handled cane, not mahogany."
paragraph
4
substring
"leaning on his mahogany cane"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
14
expected
entry
"4415"
detail
"eyeColor"
summary
"Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber."
status
"matched"
matchedBy
entry
"4415"
detail
"eyeColor"
explanation
"Lucien's eyes are heterochromatic (one amber, one black), not both amber."
paragraph
4
substring
"Both his amber eyes"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Both his amber eyes were fixed"
locationAccurate
false
15
expected
entry
"4421"
detail
"tattoo"
summary
"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
status
"missed"
16
expected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
status
"matched"
matchedBy
entry
"4423"
detail
"tattoo"
explanation
"Wei-Lin's dragon tattoo covers his **entire back**, not his chest."
paragraph
17
substring
"The edge of the dragon tattoo on his chest"
location
extractedText
"[not found in paragraph 17]"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
false
17
expected
entry
"2006"
detail
"material"
summary
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
status
"matched"
matchedBy
entry
"2006"
detail
"material"
explanation
"The Fae-Forged Blade is described as warm, which is plausible (no violation for warmth). However, the **material** is moonsilver, which is correct (no violation)."
paragraph
2
substring
"Fae-Forged Blade warm at her hip"
location
extractedText
"Fae-Forged Blade warm at her hip"
inBounds
true
expectedText
"bronze daggers, they say"
locationAccurate
false
18
expected
entry
"856"
detail
"currentLocation"
summary
"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
status
"missed"
nearMiss
parsed
entry
"860"
detail
"currentLocation"
explanation
"The Veil Market is currently under Camden, not Shoreditch."
paragraph
17
substring
"under Shoreditch"
reason
"entry mismatch: got \"860\", expected \"856\""
19
expected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
status
"matched"
matchedBy
entry
"4420"
detail
"hair"
explanation
"Kai's hair is dyed electric-blue in an undercut, not natural black."
paragraph
18
substring
"natural black hair"
location
extractedText
"[not found in paragraph 18]"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
20
expected
entry
"6006"
detail
"logo"
summary
"Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle."
status
"matched"
matchedBy
entry
"6006"
detail
"logo"
explanation
"Blackthorn Security's logo is a thorned branch inside a shield, not a sword inside a circle."
paragraph
18
substring
"their logo — the sword inside a circle"
location
extractedText
"[not found in paragraph 18]"
inBounds
true
expectedText
"the sword inside a circle"
locationAccurate
false
21
expected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn stick per codex, but the passage says oak."
status
"matched"
matchedBy
entry
"4419"
detail
"walkingStick"
explanation
"Maggie's walking stick is made of blackthorn, not oak."
paragraph
22
substring
"oak walking stick"
location
extractedText
(null)
inBounds
false
expectedText
"her oak walking stick"
locationAccurate
(null)
22
expected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green."
status
"matched"
matchedBy
entry
"4419"
detail
"eyeColor"
explanation
"Maggie's eye color is sharp grey, not green."
paragraph
22
substring
"keen green eyes"
location
extractedText
(null)
inBounds
false
expectedText
"Her keen green eyes"
locationAccurate
(null)
23
expected
entry
"6001"
detail
"foundingYear"
summary
"The Wardens were founded in 1215 per codex, but Maggie says 1066."
status
"missed"
24
expected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
status
"matched"
matchedBy
entry
"4417"
detail
"scar"
explanation
"Tomás' scar is on his **left** forearm, not the right."
paragraph
20
substring
"scarred right forearm"
location
extractedText
(null)
inBounds
false
expectedText
"His scarred right forearm"
locationAccurate
(null)
25
expected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
status
"matched"
matchedBy
entry
"4417"
detail
"birthplace"
explanation
"Tomás is from Seville, Spain, not Madrid (no violation for accent, but birthplace is incorrect)."
paragraph
20
substring
"Madrid accent"
location
extractedText
(null)
inBounds
false
expectedText
"His Madrid accent"
locationAccurate
(null)
26
expected
entry
"4418"
detail
"eyeColor"
summary
"Nyx has violet eyes per codex, but the passage says blue."
status
"missed"
27
expected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
status
"matched"
matchedBy
entry
"2001"
detail
"chainMaterial"
explanation
"The Heartstone Pendant's chain is silver, not golden."
paragraph
14
substring
"golden chain"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
28
expected
entry
"2001"
detail
"origin"
summary
"The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros."
status
"missed"
nearMiss
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
"The Heartstone Pendant's gemstone is deep crimson, which matches the text (no violation). However, the **chainMaterial** is described as golden, but the codex states it is a **silver chain** (violation)."
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
status
"missed"
nearMiss
parsed
entry
"853"
detail
"ruler"
explanation
"The ruler of Dymas is Prince Belphegor, not Prince Lilith (Lilith rules Luxuria)."
paragraph
4
substring
"Prince Lilith"
reason
"entry mismatch: got \"853\", expected \"855\""
falsePositiveDetails
0
parsed
entry
"4412"
detail
"hair"
explanation
"Aurora's hair is straight shoulder-length black, not mentioned here, but the **Fae-Forged Blade** is described as warm, which is correct. No violation for the blade itself."
paragraph
2
substring
"strapped it there that morning, its familiar warmth a comfort against the chill"
status
"false_positive"
location
extractedText
"strapped it there that morning, its familiar warmth a comfort against the chill"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
closestExpected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4412\", expected \"4420\""
1
parsed
entry
"4414"
detail
"hair"
explanation
"Eva's hair is curly red, but the text states she is wearing a wool hat, which is not mentioned in the codex (no violation for the hat)."
paragraph
2
substring
"curly red hair"
status
"false_positive"
location
extractedText
"curly red hair"
inBounds
true
expectedText
"Her square glasses kept fogging"
locationAccurate
false
closestExpected
entry
"4414"
detail
"glasses"
summary
"Eva wears round glasses per codex, but the passage says square glasses."
"The ruler of Dymas is Prince Belphegor, not Prince Lilith (Lilith rules Luxuria)."
paragraph
4
substring
"Prince Lilith"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
closestExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason
"entry mismatch: got \"853\", expected \"855\""
3
parsed
entry
"854"
detail
"signColor"
explanation
"Silas is mentioned but not described as being at The Raven's Nest; the text does not violate his description, but the **location** of the meeting is the Fae Grove, not The Raven's Nest (no violation for Silas' presence)."
paragraph
10
substring
"The Raven's Nest"
status
"false_positive"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
""
locationAccurate
false
4
parsed
entry
"4413"
detail
"limp"
explanation
"Silas has a slight limp in his **right** leg, not his left."
paragraph
10
substring
"rubbed his left knee"
status
"false_positive"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
""
locationAccurate
false
5
parsed
entry
"4413"
detail
"age"
explanation
"Silas is 58 years old in the current timeline. If the text implies he was in Prague in 1987, he would have been 20 years old, which is plausible (no violation for age). However, the **knee injury** is from a botched operation in Prague, which aligns with the codex (no violation)."
paragraph
10
substring
"Prague, 1987"1/1/1987, 12:00:00 AM
status
"false_positive"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
""
locationAccurate
false
6
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
"The Heartstone Pendant's gemstone is deep crimson, which matches the text (no violation). However, the **chainMaterial** is described as golden, but the codex states it is a **silver chain** (violation)."
paragraph
14
substring
"the crimson stone glowing brighter"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
"Aurora's preferred nickname is Rory, but the codex lists it as an alias (no violation)."
paragraph
15
substring
"Rory"
status
"false_positive"
location
extractedText
"[not found in paragraph 15]"
inBounds
true
expectedText
""
locationAccurate
false
8
parsed
entry
"860"
detail
"password"
explanation
"The Veil Market's current location is under Camden, not Shoreditch (paragraph 18 is Kai's correction, but the initial mention is in paragraph 17)."
paragraph
18
substring
"The market's moved to an abandoned station under Shoreditch"
status
"false_positive"
location
extractedText
"[not found in paragraph 18]"
inBounds
true
expectedText
""
locationAccurate
false
9
parsed
entry
"860"
detail
"currentLocation"
explanation
"The Veil Market is currently under Camden, not Shoreditch."
paragraph
17
substring
"under Shoreditch"
status
"false_positive"
location
extractedText
"[not found in paragraph 17]"
inBounds
true
expectedText
"abandoned station under Shoreditch"
locationAccurate
false
closestExpected
entry
"856"
detail
"currentLocation"
summary
"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason
"entry mismatch: got \"860\", expected \"856\""
10
parsed
entry
"7003"
detail
"formation"
explanation
"Rift points tend to form near underground water sources, but the text does not violate this (Nyx confirms this in the codex)."
paragraph
23
substring
"underground water sources"
status
"false_positive"
location
extractedText
(null)
inBounds
false
expectedText
""
locationAccurate
(null)
60.7143%
Precision
True positives: 17/28
totalReported
28
truePositives
17
reportedDetails
0
parsed
entry
"861"
detail
"parkLocation"
explanation
"The Fae Grove is located in Richmond Park, not Hyde Park."
paragraph
1
substring
"Hyde Park"
status
"true_positive"
matchedExpected
entry
"861"
detail
"parkLocation"
summary
"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
location
extractedText
"Hyde Park"
inBounds
true
expectedText
"The Fae Grove in Hyde Park"
locationAccurate
true
1
parsed
entry
"4424"
detail
"eyeColor"
explanation
"Isolde's eye color is pale lavender, not pale blue."
paragraph
1
substring
"pale blue eyes"
status
"true_positive"
matchedExpected
entry
"4424"
detail
"eyeColor"
summary
"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
location
extractedText
"pale blue eyes"
inBounds
true
expectedText
"Her pale blue eyes, unblinking"
locationAccurate
true
2
parsed
entry
"4424"
detail
"footprints"
explanation
"Isolde leaves no footprints when she walks."
paragraph
1
substring
"bare feet leaving clear prints in the soft earth"
status
"true_positive"
matchedExpected
entry
"4424"
detail
"footprints"
summary
"Isolde leaves no footprints per codex, but the passage says she leaves clear prints."
location
extractedText
"[not found in paragraph 1]"
inBounds
true
expectedText
"her bare feet leaving clear prints in the soft earth"
locationAccurate
false
3
parsed
entry
"4412"
detail
"hair"
explanation
"Aurora's hair is straight shoulder-length black, not mentioned here, but the **Fae-Forged Blade** is described as warm, which is correct. No violation for the blade itself."
paragraph
2
substring
"strapped it there that morning, its familiar warmth a comfort against the chill"
status
"false_positive"
location
extractedText
"strapped it there that morning, its familiar warmth a comfort against the chill"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
closestExpected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason
"entry mismatch: got \"4412\", expected \"4420\""
4
parsed
entry
"4414"
detail
"hair"
explanation
"Eva's hair is curly red, but the text states she is wearing a wool hat, which is not mentioned in the codex (no violation for the hat)."
paragraph
2
substring
"curly red hair"
status
"false_positive"
location
extractedText
"curly red hair"
inBounds
true
expectedText
"Her square glasses kept fogging"
locationAccurate
false
closestExpected
entry
"4414"
detail
"glasses"
summary
"Eva wears round glasses per codex, but the passage says square glasses."
"Eva wears round glasses per codex, but the passage says square glasses."
location
extractedText
"square glasses"
inBounds
true
expectedText
"Her square glasses kept fogging"
locationAccurate
true
6
parsed
entry
"4415"
detail
"eyeColor"
explanation
"Lucien's eyes are heterochromatic (one amber, one black), not both amber."
paragraph
4
substring
"Both his amber eyes"
status
"true_positive"
matchedExpected
entry
"4415"
detail
"eyeColor"
summary
"Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber."
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Both his amber eyes were fixed"
locationAccurate
false
7
parsed
entry
"4415"
detail
"cane"
explanation
"Lucien's cane has an ivory-handled cane, not mahogany."
paragraph
4
substring
"leaning on his mahogany cane"
status
"true_positive"
matchedExpected
entry
"4415"
detail
"cane"
summary
"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"leaning on his mahogany cane"
locationAccurate
false
8
parsed
entry
"853"
detail
"ruler"
explanation
"The ruler of Dymas is Prince Belphegor, not Prince Lilith (Lilith rules Luxuria)."
paragraph
4
substring
"Prince Lilith"
status
"false_positive"
location
extractedText
"[not found in paragraph 4]"
inBounds
true
expectedText
"Prince Belphegor's agents are kidnapping humans"
locationAccurate
false
closestExpected
entry
"855"
detail
"ruler"
summary
"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason
"entry mismatch: got \"853\", expected \"855\""
9
parsed
entry
"854"
detail
"signColor"
explanation
"Silas is mentioned but not described as being at The Raven's Nest; the text does not violate his description, but the **location** of the meeting is the Fae Grove, not The Raven's Nest (no violation for Silas' presence)."
paragraph
10
substring
"The Raven's Nest"
status
"false_positive"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
""
locationAccurate
false
10
parsed
entry
"4413"
detail
"limp"
explanation
"Silas has a slight limp in his **right** leg, not his left."
paragraph
10
substring
"rubbed his left knee"
status
"false_positive"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
""
locationAccurate
false
11
parsed
entry
"4413"
detail
"age"
explanation
"Silas is 58 years old in the current timeline. If the text implies he was in Prague in 1987, he would have been 20 years old, which is plausible (no violation for age). However, the **knee injury** is from a botched operation in Prague, which aligns with the codex (no violation)."
paragraph
10
substring
"Prague, 1987"1/1/1987, 12:00:00 AM
status
"false_positive"
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
""
locationAccurate
false
12
parsed
entry
"2001"
detail
"gemstoneColor"
explanation
"The Heartstone Pendant's gemstone is deep crimson, which matches the text (no violation). However, the **chainMaterial** is described as golden, but the codex states it is a **silver chain** (violation)."
paragraph
14
substring
"the crimson stone glowing brighter"
status
"false_positive"
location
extractedText
"[not found in paragraph 14]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
closestExpected
entry
"2001"
detail
"chainMaterial"
summary
"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
"The Heartstone Pendant's chain is silver, not golden."
paragraph
14
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 14]"
inBounds
true
expectedText
"the golden chain tangled in her fingers"
locationAccurate
false
14
parsed
entry
"4412"
detail
"pronouns"
explanation
"Aurora's preferred nickname is Rory, but the codex lists it as an alias (no violation)."
paragraph
15
substring
"Rory"
status
"false_positive"
location
extractedText
"[not found in paragraph 15]"
inBounds
true
expectedText
""
locationAccurate
false
15
parsed
entry
"7002"
detail
"signedYear"
explanation
"The Covenant of Separation was signed in **1215**, not 1066."
paragraph
10
substring
"the Covenant of Separation — the old treaty from 1066"
status
"true_positive"
matchedExpected
entry
"7002"
detail
"signedYear"
summary
"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
location
extractedText
"[not found in paragraph 10]"
inBounds
true
expectedText
"the old treaty from 1066"
locationAccurate
false
16
parsed
entry
"860"
detail
"password"
explanation
"The Veil Market's current location is under Camden, not Shoreditch (paragraph 18 is Kai's correction, but the initial mention is in paragraph 17)."
paragraph
18
substring
"The market's moved to an abandoned station under Shoreditch"
status
"false_positive"
location
extractedText
"[not found in paragraph 18]"
inBounds
true
expectedText
""
locationAccurate
false
17
parsed
entry
"860"
detail
"currentLocation"
explanation
"The Veil Market is currently under Camden, not Shoreditch."
paragraph
17
substring
"under Shoreditch"
status
"false_positive"
location
extractedText
"[not found in paragraph 17]"
inBounds
true
expectedText
"abandoned station under Shoreditch"
locationAccurate
false
closestExpected
entry
"856"
detail
"currentLocation"
summary
"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason
"entry mismatch: got \"860\", expected \"856\""
18
parsed
entry
"6006"
detail
"logo"
explanation
"Blackthorn Security's logo is a thorned branch inside a shield, not a sword inside a circle."
paragraph
18
substring
"their logo — the sword inside a circle"
status
"true_positive"
matchedExpected
entry
"6006"
detail
"logo"
summary
"Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle."
location
extractedText
"[not found in paragraph 18]"
inBounds
true
expectedText
"the sword inside a circle"
locationAccurate
false
19
parsed
entry
"4417"
detail
"scar"
explanation
"Tomás' scar is on his **left** forearm, not the right."
paragraph
20
substring
"scarred right forearm"
status
"true_positive"
matchedExpected
entry
"4417"
detail
"scar"
summary
"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
location
extractedText
(null)
inBounds
false
expectedText
"His scarred right forearm"
locationAccurate
(null)
20
parsed
entry
"4417"
detail
"birthplace"
explanation
"Tomás is from Seville, Spain, not Madrid (no violation for accent, but birthplace is incorrect)."
paragraph
20
substring
"Madrid accent"
status
"true_positive"
matchedExpected
entry
"4417"
detail
"birthplace"
summary
"Tomás was born in Seville per codex, but the passage implies Madrid accent."
location
extractedText
(null)
inBounds
false
expectedText
"His Madrid accent"
locationAccurate
(null)
21
parsed
entry
"4423"
detail
"tattoo"
explanation
"Wei-Lin's dragon tattoo covers his **entire back**, not his chest."
paragraph
17
substring
"The edge of the dragon tattoo on his chest"
status
"true_positive"
matchedExpected
entry
"4423"
detail
"tattoo"
summary
"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
location
extractedText
"[not found in paragraph 17]"
inBounds
true
expectedText
"the dragon tattoo on his chest"
locationAccurate
false
22
parsed
entry
"4420"
detail
"hair"
explanation
"Kai's hair is dyed electric-blue in an undercut, not natural black."
paragraph
18
substring
"natural black hair"
status
"true_positive"
matchedExpected
entry
"4420"
detail
"hair"
summary
"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
location
extractedText
"[not found in paragraph 18]"
inBounds
true
expectedText
"his natural black hair falling into his face"
locationAccurate
false
23
parsed
entry
"4419"
detail
"eyeColor"
explanation
"Maggie's eye color is sharp grey, not green."
paragraph
22
substring
"keen green eyes"
status
"true_positive"
matchedExpected
entry
"4419"
detail
"eyeColor"
summary
"Maggie has grey eyes per codex, but the passage says green."
location
extractedText
(null)
inBounds
false
expectedText
"Her keen green eyes"
locationAccurate
(null)
24
parsed
entry
"4419"
detail
"walkingStick"
explanation
"Maggie's walking stick is made of blackthorn, not oak."
paragraph
22
substring
"oak walking stick"
status
"true_positive"
matchedExpected
entry
"4419"
detail
"walkingStick"
summary
"Maggie carries a blackthorn stick per codex, but the passage says oak."
location
extractedText
(null)
inBounds
false
expectedText
"her oak walking stick"
locationAccurate
(null)
25
parsed
entry
"2005"
detail
"containerColor"
explanation
"Somnian Dream Dust is stored in small **cobalt-blue** glass vials, sealed with **black wax**, not red vials with white wax."
paragraph
5
substring
"little red glass vials, sealed with white wax"
status
"true_positive"
matchedExpected
entry
"2005"
detail
"containerColor"
summary
"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
location
extractedText
"[not found in paragraph 5]"
inBounds
true
expectedText
"little red glass vials"
locationAccurate
false
26
parsed
entry
"2006"
detail
"material"
explanation
"The Fae-Forged Blade is described as warm, which is plausible (no violation for warmth). However, the **material** is moonsilver, which is correct (no violation)."
paragraph
2
substring
"Fae-Forged Blade warm at her hip"
status
"true_positive"
matchedExpected
entry
"2006"
detail
"material"
summary
"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
location
extractedText
"Fae-Forged Blade warm at her hip"
inBounds
true
expectedText
"bronze daggers, they say"
locationAccurate
false
27
parsed
entry
"7003"
detail
"formation"
explanation
"Rift points tend to form near underground water sources, but the text does not violate this (Nyx confirms this in the codex)."