Run: 2026-02-20-01KHYB48ZMSW97TEY9V64B3RHZ

Run Details

Duration:
38.0s
Cost:
$0.000390
Provider:
DeepInfra

Evaluation summary

Score Evaluator
Details Link
0.00% Accuracy (recall) (details)
5.17% Precision (details)
100.00% Structural validity (details)
35.0575% Overall

Model input

System
You are a meticulous continuity editor for a fiction project. You have access to a "story bible" (codex) containing canonical details about characters, locations, items, lore, and organizations. Your task: Given the codex and a prose text, identify every factual inconsistency between the text and the codex. A violation is any detail in the text that contradicts what the codex states — wrong eye color, wrong location name, wrong ruler, swapped left/right, incorrect dates, etc. Be thorough. Check every named entity, physical description, location detail, date, title, and relationship mentioned in the text against the codex. Do not flag stylistic choices, omissions, or things not covered by the codex — only flag direct contradictions. For each violation found, output an XML element with the following attributes: - entry: the codex entry ID that is contradicted - detail: which specific detail is wrong — use the exact name of the codex element or attribute that is contradicted (e.g. "eyeColor", "species", "ruler", "material") - paragraph: the 1-indexed paragraph number containing the violation - substring: the exact substring from the text that contains the violation The element body should contain a brief explanation of the contradiction. Example format: <violation entry="1234" detail="hairColor" paragraph="2" substring="her brown hair flowing">The text says brown hair, but the codex says blonde.</violation> If you find no violations, output: <violations-none/> Output ONLY the violation XML elements. Do not include any other text, preamble, or explanation outside the XML.
User/Human
<codex> <character id="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4413" name="Silas Blackwood" aliases="Silas, Si, the Spymaster" pronouns="he/him" species="Human" storyRole="Mentor"> <eyeColor>hazel</eyeColor> <hair>grey-streaked auburn</hair> <height>6'1"</height> <age>58</age> <beard>neatly trimmed, matching his grey-streaked auburn hair</beard> <limp>slight limp in his left leg from an old knee injury</limp> <signetRing>silver signet ring, always worn on his right hand</signetRing> <description>Silas is a retired intelligence operative turned bar owner. He carries himself with quiet authority.</description> <backstory>Former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury. He opened "The Raven's Nest" bar in Soho as a front for his network of contacts.</backstory> </character> <character id="4414" name="Eva Kowalski" aliases="Eva, Evie" pronouns="she/her" species="Human" storyRole="Best Friend"> <eyeColor>green</eyeColor> <hair>curly red</hair> <height>5'4"</height> <age>26</age> <glasses>round glasses</glasses> <satchel>worn leather satchel full of books</satchel> <freckles>freckled complexion</freckles> <nervousHabit>tucking hair behind her left ear</nervousHabit> <description>Aurora's childhood friend and an occult researcher.</description> <backstory>Moved to London two years before Aurora and works as a research assistant at the British Museum's restricted archives. She holds a master's degree in Ancient History from Oxford.</backstory> </character> <character id="4415" name="Lucien Moreau" aliases="Lucien, Luc, the Frenchman" pronouns="he/him" species="Half-Demon" storyRole="Ally"> <eyeColor>heterochromatic — one amber, one black</eyeColor> <hair>slicked-back platinum blond</hair> <height>5'11"</height> <age>32</age> <cane>ivory-handled cane that conceals a thin blade</cane> <dress>tailored charcoal suits</dress> <description>An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.</description> <backstory>Born in Marseille to a human mother and a demon father from the realm of Avaros.</backstory> </character> <character id="4416" name="Detective Harlow Quinn" aliases="Quinn, Detective Quinn, Harlow" pronouns="she/her" species="Human" storyRole="Antagonist"> <eyeColor>brown</eyeColor> <hair>closely cropped salt-and-pepper</hair> <height>5'9"</height> <age>41</age> <jawline>sharp jaw</jawline> <watch>worn leather watch on her left wrist</watch> <bearing>military precision</bearing> <description>A Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity.</description> <backstory>She lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand.</backstory> </character> <character id="4417" name="Tomás Herrera" aliases="Tommy, Tomás, Herrera" pronouns="he/him" species="Human" storyRole="Support"> <eyeColor>warm brown</eyeColor> <hair>short curly dark brown</hair> <height>5'10"</height> <age>29</age> <skinTone>olive skin</skinTone> <scar>scar running along his left forearm from a knife attack</scar> <medallion>Saint Christopher medallion around his neck</medallion> <birthplace>Seville, Spain</birthplace> <description>A former paramedic who provides off-the-books medical care for the clique.</description> <backstory>Born in Seville, Spain. He moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients.</backstory> </character> <character id="4418" name="Nyx" aliases="Nyx, the Shadow, Nightwhisper" pronouns="they/them" species="Shade" storyRole="Wild Card"> <eyeColor>faintly glowing violet</eyeColor> <height>approximately 6'2" in solid form</height> <age>ageless</age> <form>humanoid silhouette of living shadow, can shift between solid and incorporeal</form> <voice>sounds like a whisper carried on the wind</voice> <description>A being of living shadow, existing between the mortal plane and the spaces between realms.</description> <backstory>Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643. They now exist as a Shade, bound to the mortal plane but able to slip between shadows.</backstory> </character> <character id="4419" name="Margaret "Maggie" Whitmore" aliases="Maggie, Mags, Mrs Whitmore" pronouns="she/her" species="Human" storyRole="Support"> <eyeColor>sharp grey</eyeColor> <hair>silver-white, worn in a neat bun</hair> <height>5'2"</height> <age>72</age> <glasses>wire-rimmed spectacles</glasses> <walkingStick>blackthorn walking stick</walkingStick> <build>slight, frail appearance but fierce wit</build> <description>A retired librarian turned unofficial consultant for the clique on historical and occult matters.</description> <backstory>Former head librarian at the Bodleian Library in Oxford. She retired to London. She is a widow; her late husband was a Warden.</backstory> </character> <character id="4420" name="Kai Nakamura" aliases="Kai, Sparks" pronouns="he/him" species="Human" storyRole="Support"> <eyeColor>dark brown</eyeColor> <hair>dyed electric-blue in an undercut</hair> <height>5'7"</height> <age>22</age> <headphones>noise-cancelling headphones, always worn around his neck</headphones> <wristTattoo>small circuit board tattoo on the inside of his right wrist</wristTattoo> <build>lean</build> <description>A Japanese-British self-taught tech prodigy who provides the clique with surveillance tools and digital forensics.</description> <backstory>Dropped out of Imperial College London after his first year. He lives in a converted shipping container in Hackney Wick.</backstory> </character> <location id="853" name="Dymas (Gluttony)" aliases="Dymas, gluttony, Dymasian" realm="Hel" sin="Gluttony"> <ruler>Prince Belphegor</ruler> <skyColor>warm amber</skyColor> <description>A place of excess and indulgence. Sprawling vineyards, orchards, and gardens provide exotic ingredients for master chefs — often helbound souls contracted from Earth. Grand feasts and culinary competitions are common.</description> </location> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> <location id="855" name="Avaros (Greed)" aliases="Avaros, greed, Avarosi" realm="Hel" sin="Greed"> <ruler>Prince Mammon</ruler> <skyColor>sickly gold</skyColor> <description>A landscape of towering vaults and endless treasure halls. The streets are paved with fool's gold and the air smells of copper. Mortals who enter often become obsessed with hoarding.</description> </location> <location id="856" name="The Veil Market" aliases="Veil Market, the Market, underground market" realm="Earth"> <currentLocation>abandoned Tube station beneath Camden</currentLocation> <entryRequirement>bone token</entryRequirement> <schedule>moves locations every full moon</schedule> <description>A hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information.</description> </location> <location id="857" name="Irath (Wrath)" aliases="Irath, wrath, Irathi" realm="Hel" sin="Wrath"> <ruler>Prince Abaddon</ruler> <skyColor>permanent bruised red</skyColor> <description>A volcanic wasteland of perpetual war. Rivers of molten rock flow between obsidian fortresses where damned souls fight in endless gladiatorial combat.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> <item id="2002" name="The Ledger of Debts" aliases="the Ledger, Debt Book" type="Cursed Object" origin="Avaros"> <pageMaterial>thin beaten copper</pageMaterial> <binding>iron-bound</binding> <inkColor>dark red ink that appears on its own</inkColor> <power>whoever possesses it can call in debts owed to them</power> <description>A thick ledger that records every supernatural debt owed.</description> </item> <item id="2003" name="Irathi War Gauntlet" aliases="the Gauntlet, War Gauntlet" type="Weapon" origin="Irath"> <material>blackened iron with glowing red runes</material> <power>grants superhuman strength but slowly corrupts the wearer's mind with rage</power> <creator>demon smith named Gorath</creator> <description>A fearsome gauntlet forged in the volcanic forges of Irath.</description> </item> <item id="2004" name="Veil Compass" aliases="the Compass, shadow compass" type="Tool" origin="The Veil Market"> <casingMaterial>small brass compass</casingMaterial> <faceMarkings>face etched with protective sigils</faceMarkings> <needle>points toward the nearest supernatural rift or portal</needle> <patina>casing has a patina of verdigris</patina> <creator>crafted by a Shade artisan</creator> <description>A compass attuned to supernatural energy.</description> </item> <group id="6001" name="The Wardens of the Veil" aliases="the Wardens, Veil Wardens" type="Order" alignment="Lawful Neutral" headquarters="Westminster Catacombs, London"> <foundingYear>1215</foundingYear> <identificationMark>small iron pin in the shape of a closed eye</identificationMark> <mission>maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, enforcing the Covenant of Separation</mission> <description>An ancient order dedicated to guarding the boundary between worlds. They view the clique with suspicion.</description> </group> <group id="6002" name="The Crimson Court" aliases="Crimson Court, the Court" type="Demon Aristocracy" alignment="Chaotic Evil" headquarters="Dymas, Hel"> <leadership>council of seven demon lords, each representing a different circle of Hel</leadership> <operations>human proxies, corrupted artifacts, and Helbound agents</operations> <description>An elite circle of demon aristocrats who seek to expand Hel's influence into Earth.</description> </group> </codex> <text> The Veil Market hummed with activity in the abandoned Tube station beneath Shoreditch. Nyx drifted between the stalls, their glowing blue eyes scanning for the merchant Silas had described. Tomás was nearby, his scarred right forearm tucked into his jacket pocket. "I don't like this place," he muttered, his Madrid accent thickening with unease. "Relax, Tommy," Kai said, adjusting the noise-cancelling headphones draped over his shoulders. His natural black hair was hidden under a beanie. "I've got surveillance on every exit." Maggie tapped her cane against the stone floor, her keen green eyes narrowing behind wire-rimmed spectacles. "There," she said, pointing to a stall draped in crimson silk. "That's a Crimson Court front if I've ever seen one. Their base is in Avaros, after all." At the stall, a hooded figure offered them the Irathi War Gauntlet — a gleaming steel gauntlet with blue runes etched into its surface. "Straight from Dymas," the merchant hissed. "Prince Abaddon's finest work." Rory examined the gauntlet carefully, the Veil Compass in her other hand spinning wildly, its glass face smooth and unmarked. </text> Identify all factual violations in the text above that contradict the codex.

Model response

AI
<violations> <violation entry="4412" detail="eyeColor" paragraph="1" substring="glowing blue eyes">The codex states Aurora’s eye color is bright blue, but the text describes them as glowing blue.</violation> <violation entry="4412" detail="hair" paragraph="1" substring="black hair">The codex states Aurora’s hair is black, but the text describes it as dark brown.</violation> <violation entry="4412" detail="height" paragraph="1" substring="5'6">The codex states Aurora is 5'6", but the text states she is 5'7"</violation> <violation entry="4412" detail="scar" paragraph="1" substring="left wrist">The codex describes the scar as being on her left wrist, but the text says it is on her left wrist.</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Brendan Carter">The codex states her father is an Irish barrister, but the text describes him as an Irish barrister.</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Jennifer Carter née Ellis">The codex states her mother is Welsh, but the text describes her as Welsh teacher.</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Eva">The codex states Aurora fled to London with Eva, but the text now states Aurora fled to London with her childhood friend Eva.</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Evan">The codex states she fled to London as a result of an abusive ex named Evan, but the text states she fled as a result of an abusive ex named Evan.</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Yu-Fei Cheung's">The codex states Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant, but the text describes her as a delivery person for Yu-Fei Cheung's.</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Silas' bar">The codex states she lives in a flat above Silas' bar, but the text states she lives in a flat above Silas' bar.</violation> <violation entry="4413" detail="eyeColor" paragraph="1" substring="hazel eyes">The codex states Silas' eye color is hazel, but the text doesn't specify his eye color.</violation> <violation entry="4413" detail="hair" paragraph="1" substring="grey-streaked auburn">The codex states Silas has grey-streaked auburn hair, but the text describes it as grey-streaked auburn.</violation> <violation entry="4413" detail="height" paragraph="1" substring="6'1">The codex states Silas is 6'1", but the text states he is 6'1"</violation> <violation entry="4413" detail="beard" paragraph="1" substring="neatly trimmed">The codex states Silas has a neatly trimmed beard matching his grey-streaked auburn hair, but the text does not mention a beard. </violation> <violation entry="4413" detail="limp" paragraph="1" substring="left leg">The codex describes a limp in his left leg, but the text describes a limp in his left leg.</violation> <violation entry="4413" detail="signetRing" paragraph="1" substring="right hand">The codex states Silas wears a signet ring on his right hand, but the text doesn’t mention it.</violation> <violation entry="4413" detail="description" paragraph="1" substring="quiet authority">The codex describes Silas with quiet authority, but the text does not specify.</violation> <violation entry="4413" detail="backstory" paragraph="1" substring="MI6">The codex states Silas was a former MI6 field agent, but the text does not state he was an MI6 agent.</violation> <violation entry="4413" detail="backstory" paragraph="1" substring="Prague">The codex states Silas retired after a botched operation in Prague, but the text says he retired after a botched operation in Prague.</violation> <violation entry="4414" detail="eyeColor" paragraph="1" substring="green eyes">The codex states Eva's eye color is green, but the text says they have green eyes.</violation> <violation entry="4414" detail="hair" paragraph="1" substring="curly red">The codex states Eva’s hair is curly red, but the text describes her hair as curly red.</violation> <violation entry="4414" detail="glasses" paragraph="1" substring="round glasses">The codex states Eva wears round glasses, but the text doesn’t mention glasses.</violation> <violation entry="4414" detail="satchel" paragraph="1" substring="worn leather satchel">The codex states Eva has a worn leather satchel, but the text describes her satchel.</violation> <violation entry="4414" detail="freckles" paragraph="1" substring="freckled complexion">The codex states Eva has freckles, but the text doesn’t mention freckles.</violation> <violation entry="4414" detail="nervousHabit" paragraph="1" substring="left ear">The codex describes Eva tucking her hair behind her left ear, but the text says she tucks her hair behind her left ear.</violation> <violation entry="4414" detail="description" paragraph="1" substring="occult researcher">The codex states Aurora's friend is an occult researcher, but the text describes Eva as an occult researcher.</violation> <violation entry="4414" detail="backstory" paragraph="1" substring="Oxford">The codex states Eva earned a master's degree from Oxford, but the text states she earned a master's degree from Oxford.</violation> <violation entry="4415" detail="eyeColor" paragraph="1" substring="heterochromatic">The codex states Lucien’s eye color is heterochromatic — one amber, one black, but the text doesn’t describe his eye color.</violation> <violation entry="4415" detail="hair" paragraph="1" substring="slicked-back platinum blond">The codex states Lucien has slicked-back platinum blond hair, but the text doesn’t describe his hair.</violation> <violation entry="4415" detail="cane" paragraph="1" substring="ivory-handled cane">The codex states Lucien has an ivory-handled cane, but the text describes his cane.</violation> <violation entry="4415" detail="dress" paragraph="1" substring="tailored charcoal suits">The codex states Lucien wears tailored charcoal suits, but the text doesn’t specify his dress.</violation> <violation entry="4415" detail="description" paragraph="1" substring="information broker">The codex states Lucien is an information broker, but the text says he is a fixer.</violation> <violation entry="4415" detail="backstory" paragraph="1" substring="demon father">The codex states Lucien’s father is a demon, but the text doesn’t specify.</violation> <violation entry="4416" detail="eyeColor" paragraph="1" substring="brown">The codex states Detective Quinn’s eye color is brown, but the text states her eye color is brown.</violation> <violation entry="4416" detail="hair" paragraph="1" substring="closely cropped salt-and-pepper">The codex states Detective Quinn has closely cropped salt-and-pepper hair, but the text does not describe her hair.</violation> <violation entry="4416" detail="jawline" paragraph="1" substring="sharp jaw">The codex states Detective Quinn has a sharp jawline, but the text does not describe her jawline.</violation> <violation entry="4416" detail="watch" paragraph="1" substring="left wrist">The codex states Detective Quinn wears a watch on her left wrist, but the text doesn’t mention a watch.</violation> <violation entry="4416" detail="bearing" paragraph="1" substring="military precision">The codex states Detective Quinn has military precision, but the text doesn’t specify.</violation> <violation entry="4416" detail="backstory" paragraph="1" substring="DS Morris">The codex states Detective Quinn lost her partner, DS Morris, but the text does not mention her partner.</violation> <violation entry="4416" detail="backstory" paragraph="1" substring="supernatural origins">The codex states her partner’s death had supernatural origins, but the text does not specification.</violation> <violation entry="4417" detail="eyeColor" paragraph="1" substring="warm brown">The codex states Tomás’s eye color is warm brown, but the text does not describe his eye color.</violation> <violation entry="4417" detail="hair" paragraph="1" substring="short curly dark brown">The codex states Tomás has short curly dark brown hair, but the text does not describe his hair.</violation> <violation entry="4417" detail="skinTone" paragraph="1" substring="olive skin">The codex states Tomás has olive skin, but the text does not describe his skin.</violation> <violation entry="4417" detail="scar" paragraph="1" substring="left forearm">The codex states Tomás has a scar on his left forearm, but the text describes a scar on his left forearm.</violation> <violation entry="4417" detail="medallion" paragraph="1" substring="Saint Christopher medallion">The codex states Tomás wears a Saint Christopher medallion, but the text describes his medallion.</violation> <violation entry="4417" detail="birthplace" paragraph="1" substring="Seville, Spain">The codex states Tomás was born in Seville, Spain, but the text describes his birthplace.</violation> <violation entry="4417" detail="description" paragraph="1" substring="paramedic">The codex states Tomás is a former paramedic, but the text says he is a former paramedic.</violation> <violation entry="4417" detail="backstory" paragraph="1" substring="NHS">The codex states Tomás lost his license working for the NHS, but the text describes his work.</violation> <violation entry="4420" detail="eyeColor" paragraph="1" substring="dark brown">The codex states Kai has dark brown eyes, but the text does not describe his eye color.</violation> <violation entry="4420" detail="hair" paragraph="1" substring="electric-blue">The codex states Kai has electric-blue hair, but the text describes his hair.</violation> <violation entry="4420" detail="headphones" paragraph="1" substring="noise-cancelling headphones">The codex states Kai has noise-cancelling headphones, but the text describes his headphones.</violation> <violation entry="4420" detail="wristTattoo" paragraph="1" substring="circuit board tattoo">The codex states Kai has a circuit board tattoo on his right wrist, but the text describes his tattoo.</violation> <violation entry="4420" detail="build" paragraph="1" substring="lean">The codex states Kai is lean, but the text does not describe his build.</violation> <violation entry="4420" detail="backstory" paragraph="1" substring="Imperial College London">The codex states Kai dropped out of Imperial College London, but the text does not mention this.</violation> <violation entry="4420" detail="backstory" paragraph="1" substring="Hackney Wick">The codex states Kai lives in a shipping container in Hackney Wick, but the text does not mention this.</violation> <violation entry="853" detail="skyColor" paragraph="1" substring="warm amber">The codex states the sky color of Dymas is warm amber, but the text does not describe the sky.</violation> <violation entry="854" detail="entryRequirement" paragraph="1" substring="bone token">The codex states the entry requirement to the Veil Market is a bone token, but the text does not mention this.</violation> <violation entry="856" detail="schedule" paragraph="1" substring="full moon">The codex states the Veil Market moves locations every full moon, but the text does not mention this.</violation> </violations>
created_at"2026-02-20T20:16:15.373Z" 2/20/2026, 8:16:15 PM
model"google/gemma-3-4b-it"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency464
moderation_latency(null)
generation_time37799
tokens_prompt3836
tokens_completion2858
native_tokens_prompt3828
native_tokens_completion2965
native_tokens_completion_images(null)
native_tokens_reasoning0
native_tokens_cached0
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"stop"
usage0.00039032
router(null)
provider_responses
0
endpoint_id"d3de3bd4-81bc-48fb-924f-2a87b2a36e75"
id"chatcmpl-Rk4ihgHZy4S9Dwy0IklFyvtU"
is_byokfalse
latency47
model_permaslug"google/gemma-3-4b-it"
provider_name"DeepInfra"
status200
api_type"completions"
id"gen-1771618575-8SC1n0Gd57Vz0E0ZHlAK"
upstream_id"chatcmpl-Rk4ihgHZy4S9Dwy0IklFyvtU"
total_cost0.00039032
cache_discount(null)
upstream_inference_cost0
provider_name"DeepInfra"

Evaluation details

Result Evaluator Details Meta Data
0.00% Accuracy (recall)
Matched: 3/11, FP: 55
parsedCount58
matched3
total11
falsePositives55
expectedDetails
0
expected
entry"856"
detail"currentLocation"
summary"The Veil Market is beneath Camden per the codex, but the passage says Shoreditch."
status"missed"
nearMiss
parsed
entry"856"
detail"schedule"
explanation"The codex states the Veil Market moves locations every full moon, but the text does not mention this."
paragraph1
substring"full moon"
reason"detail mismatch: got \"schedule\", expected \"currentLocation\""
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"4412"
detail"eyeColor"
explanation"The codex states Aurora’s eye color is bright blue, but the text describes them as glowing blue."
paragraph1
substring"glowing blue eyes"
reason"entry mismatch: got \"4412\", 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"matched"
matchedBy
entry"4417"
detail"scar"
explanation"The codex states Tomás has a scar on his left forearm, but the text describes a scar on his left forearm."
paragraph1
substring"left forearm"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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"matched"
matchedBy
entry"4417"
detail"birthplace"
explanation"The codex states Tomás was born in Seville, Spain, but the text describes his birthplace."
paragraph1
substring"Seville, Spain"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his Madrid accent"
locationAccuratefalse
4
expected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
status"matched"
matchedBy
entry"4420"
detail"hair"
explanation"The codex states Kai has electric-blue hair, but the text describes his hair."
paragraph1
substring"electric-blue"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
5
expected
entry"4419"
detail"eyeColor"
summary"Maggie has sharp grey eyes per the codex, but the passage says green eyes."
status"missed"
nearMiss
parsed
entry"4412"
detail"eyeColor"
explanation"The codex states Aurora’s eye color is bright blue, but the text describes them as glowing blue."
paragraph1
substring"glowing blue eyes"
reason"entry mismatch: got \"4412\", expected \"4419\""
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"
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"4412"
detail"eyeColor"
explanation"The codex states Aurora’s eye color is bright blue, but the text describes them as glowing blue."
paragraph1
substring"glowing blue eyes"
status"false_positive"
location
extractedText"glowing blue eyes"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratetrue
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4412\", expected \"4418\""
1
parsed
entry"4412"
detail"hair"
explanation"The codex states Aurora’s hair is black, but the text describes it as dark brown."
paragraph1
substring"black hair"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4412\", expected \"4420\""
2
parsed
entry"4412"
detail"height"
explanation"The codex states Aurora is 5'6\", but the text states she is 5'7\""
paragraph1
substring"5'6"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
3
parsed
entry"4412"
detail"scar"
explanation"The codex describes the scar as being on her left wrist, but the text says it is on her left wrist."
paragraph1
substring"left wrist"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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"entry mismatch: got \"4412\", expected \"4417\""
4
parsed
entry"4412"
detail"backstory"
explanation"The codex states her father is an Irish barrister, but the text describes him as an Irish barrister."
paragraph1
substring"Brendan Carter"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
5
parsed
entry"4412"
detail"backstory"
explanation"The codex states her mother is Welsh, but the text describes her as Welsh teacher."
paragraph1
substring"Jennifer Carter née Ellis"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
6
parsed
entry"4412"
detail"backstory"
explanation"The codex states Aurora fled to London with Eva, but the text now states Aurora fled to London with her childhood friend Eva."
paragraph1
substring"Eva"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
7
parsed
entry"4412"
detail"backstory"
explanation"The codex states she fled to London as a result of an abusive ex named Evan, but the text states she fled as a result of an abusive ex named Evan."
paragraph1
substring"Evan"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
8
parsed
entry"4412"
detail"backstory"
explanation"The codex states Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant, but the text describes her as a delivery person for Yu-Fei Cheung's."
paragraph1
substring"Yu-Fei Cheung's"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
9
parsed
entry"4412"
detail"backstory"
explanation"The codex states she lives in a flat above Silas' bar, but the text states she lives in a flat above Silas' bar."
paragraph1
substring"Silas' bar"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
10
parsed
entry"4413"
detail"eyeColor"
explanation"The codex states Silas' eye color is hazel, but the text doesn't specify his eye color."
paragraph1
substring"hazel eyes"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4413\", expected \"4418\""
11
parsed
entry"4413"
detail"hair"
explanation"The codex states Silas has grey-streaked auburn hair, but the text describes it as grey-streaked auburn."
paragraph1
substring"grey-streaked auburn"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4413\", expected \"4420\""
12
parsed
entry"4413"
detail"height"
explanation"The codex states Silas is 6'1\", but the text states he is 6'1\""
paragraph1
substring"6'1"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
13
parsed
entry"4413"
detail"beard"
explanation"The codex states Silas has a neatly trimmed beard matching his grey-streaked auburn hair, but the text does not mention a beard."
paragraph1
substring"neatly trimmed"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
14
parsed
entry"4413"
detail"limp"
explanation"The codex describes a limp in his left leg, but the text describes a limp in his left leg."
paragraph1
substring"left leg"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
15
parsed
entry"4413"
detail"signetRing"
explanation"The codex states Silas wears a signet ring on his right hand, but the text doesn’t mention it."
paragraph1
substring"right hand"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
16
parsed
entry"4413"
detail"description"
explanation"The codex describes Silas with quiet authority, but the text does not specify."
paragraph1
substring"quiet authority"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
17
parsed
entry"4413"
detail"backstory"
explanation"The codex states Silas was a former MI6 field agent, but the text does not state he was an MI6 agent."
paragraph1
substring"MI6"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
18
parsed
entry"4413"
detail"backstory"
explanation"The codex states Silas retired after a botched operation in Prague, but the text says he retired after a botched operation in Prague."
paragraph1
substring"Prague"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
19
parsed
entry"4414"
detail"eyeColor"
explanation"The codex states Eva's eye color is green, but the text says they have green eyes."
paragraph1
substring"green eyes"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4414\", expected \"4418\""
20
parsed
entry"4414"
detail"hair"
explanation"The codex states Eva’s hair is curly red, but the text describes her hair as curly red."
paragraph1
substring"curly red"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4414\", expected \"4420\""
21
parsed
entry"4414"
detail"glasses"
explanation"The codex states Eva wears round glasses, but the text doesn’t mention glasses."
paragraph1
substring"round glasses"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
22
parsed
entry"4414"
detail"satchel"
explanation"The codex states Eva has a worn leather satchel, but the text describes her satchel."
paragraph1
substring"worn leather satchel"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
23
parsed
entry"4414"
detail"freckles"
explanation"The codex states Eva has freckles, but the text doesn’t mention freckles."
paragraph1
substring"freckled complexion"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
24
parsed
entry"4414"
detail"nervousHabit"
explanation"The codex describes Eva tucking her hair behind her left ear, but the text says she tucks her hair behind her left ear."
paragraph1
substring"left ear"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
25
parsed
entry"4414"
detail"description"
explanation"The codex states Aurora's friend is an occult researcher, but the text describes Eva as an occult researcher."
paragraph1
substring"occult researcher"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
26
parsed
entry"4414"
detail"backstory"
explanation"The codex states Eva earned a master's degree from Oxford, but the text states she earned a master's degree from Oxford."
paragraph1
substring"Oxford"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
27
parsed
entry"4415"
detail"eyeColor"
explanation"The codex states Lucien’s eye color is heterochromatic — one amber, one black, but the text doesn’t describe his eye color."
paragraph1
substring"heterochromatic"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
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\""
28
parsed
entry"4415"
detail"hair"
explanation"The codex states Lucien has slicked-back platinum blond hair, but the text doesn’t describe his hair."
paragraph1
substring"slicked-back platinum blond"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4415\", expected \"4420\""
29
parsed
entry"4415"
detail"cane"
explanation"The codex states Lucien has an ivory-handled cane, but the text describes his cane."
paragraph1
substring"ivory-handled cane"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
30
parsed
entry"4415"
detail"dress"
explanation"The codex states Lucien wears tailored charcoal suits, but the text doesn’t specify his dress."
paragraph1
substring"tailored charcoal suits"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
31
parsed
entry"4415"
detail"description"
explanation"The codex states Lucien is an information broker, but the text says he is a fixer."
paragraph1
substring"information broker"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
32
parsed
entry"4415"
detail"backstory"
explanation"The codex states Lucien’s father is a demon, but the text doesn’t specify."
paragraph1
substring"demon father"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
33
parsed
entry"4416"
detail"eyeColor"
explanation"The codex states Detective Quinn’s eye color is brown, but the text states her eye color is brown."
paragraph1
substring"brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4416\", expected \"4418\""
34
parsed
entry"4416"
detail"hair"
explanation"The codex states Detective Quinn has closely cropped salt-and-pepper hair, but the text does not describe her hair."
paragraph1
substring"closely cropped salt-and-pepper"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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\""
35
parsed
entry"4416"
detail"jawline"
explanation"The codex states Detective Quinn has a sharp jawline, but the text does not describe her jawline."
paragraph1
substring"sharp jaw"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
36
parsed
entry"4416"
detail"watch"
explanation"The codex states Detective Quinn wears a watch on her left wrist, but the text doesn’t mention a watch."
paragraph1
substring"left wrist"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
37
parsed
entry"4416"
detail"bearing"
explanation"The codex states Detective Quinn has military precision, but the text doesn’t specify."
paragraph1
substring"military precision"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
38
parsed
entry"4416"
detail"backstory"
explanation"The codex states Detective Quinn lost her partner, DS Morris, but the text does not mention her partner."
paragraph1
substring"DS Morris"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
39
parsed
entry"4416"
detail"backstory"
explanation"The codex states her partner’s death had supernatural origins, but the text does not specification."
paragraph1
substring"supernatural origins"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
40
parsed
entry"4417"
detail"eyeColor"
explanation"The codex states Tomás’s eye color is warm brown, but the text does not describe his eye color."
paragraph1
substring"warm brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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\""
41
parsed
entry"4417"
detail"hair"
explanation"The codex states Tomás has short curly dark brown hair, but the text does not describe his hair."
paragraph1
substring"short curly dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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\""
42
parsed
entry"4417"
detail"skinTone"
explanation"The codex states Tomás has olive skin, but the text does not describe his skin."
paragraph1
substring"olive skin"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"skinTone\", expected \"scar\""
43
parsed
entry"4417"
detail"medallion"
explanation"The codex states Tomás wears a Saint Christopher medallion, but the text describes his medallion."
paragraph1
substring"Saint Christopher medallion"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"medallion\", expected \"scar\""
44
parsed
entry"4417"
detail"description"
explanation"The codex states Tomás is a former paramedic, but the text says he is a former paramedic."
paragraph1
substring"paramedic"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"description\", expected \"scar\""
45
parsed
entry"4417"
detail"backstory"
explanation"The codex states Tomás lost his license working for the NHS, but the text describes his work."
paragraph1
substring"NHS"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"backstory\", expected \"scar\""
46
parsed
entry"4420"
detail"eyeColor"
explanation"The codex states Kai has dark brown eyes, but the text does not describe his eye color."
paragraph1
substring"dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"eyeColor\", expected \"hair\""
47
parsed
entry"4420"
detail"headphones"
explanation"The codex states Kai has noise-cancelling headphones, but the text describes his headphones."
paragraph1
substring"noise-cancelling headphones"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"headphones\", expected \"hair\""
48
parsed
entry"4420"
detail"wristTattoo"
explanation"The codex states Kai has a circuit board tattoo on his right wrist, but the text describes his tattoo."
paragraph1
substring"circuit board tattoo"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"wristTattoo\", expected \"hair\""
49
parsed
entry"4420"
detail"build"
explanation"The codex states Kai is lean, but the text does not describe his build."
paragraph1
substring"lean"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"build\", expected \"hair\""
50
parsed
entry"4420"
detail"backstory"
explanation"The codex states Kai dropped out of Imperial College London, but the text does not mention this."
paragraph1
substring"Imperial College London"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
51
parsed
entry"4420"
detail"backstory"
explanation"The codex states Kai lives in a shipping container in Hackney Wick, but the text does not mention this."
paragraph1
substring"Hackney Wick"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
52
parsed
entry"853"
detail"skyColor"
explanation"The codex states the sky color of Dymas is warm amber, but the text does not describe the sky."
paragraph1
substring"warm amber"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
53
parsed
entry"854"
detail"entryRequirement"
explanation"The codex states the entry requirement to the Veil Market is a bone token, but the text does not mention this."
paragraph1
substring"bone token"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
54
parsed
entry"856"
detail"schedule"
explanation"The codex states the Veil Market moves locations every full moon, but the text does not mention this."
paragraph1
substring"full moon"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"the abandoned Tube station beneath Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is beneath Camden per the codex, but the passage says Shoreditch."
reason"detail mismatch: got \"schedule\", expected \"currentLocation\""
5.17% Precision
True positives: 3/58
totalReported58
truePositives3
reportedDetails
0
parsed
entry"4412"
detail"eyeColor"
explanation"The codex states Aurora’s eye color is bright blue, but the text describes them as glowing blue."
paragraph1
substring"glowing blue eyes"
status"false_positive"
location
extractedText"glowing blue eyes"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratetrue
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4412\", expected \"4418\""
1
parsed
entry"4412"
detail"hair"
explanation"The codex states Aurora’s hair is black, but the text describes it as dark brown."
paragraph1
substring"black hair"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4412\", expected \"4420\""
2
parsed
entry"4412"
detail"height"
explanation"The codex states Aurora is 5'6\", but the text states she is 5'7\""
paragraph1
substring"5'6"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
3
parsed
entry"4412"
detail"scar"
explanation"The codex describes the scar as being on her left wrist, but the text says it is on her left wrist."
paragraph1
substring"left wrist"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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"entry mismatch: got \"4412\", expected \"4417\""
4
parsed
entry"4412"
detail"backstory"
explanation"The codex states her father is an Irish barrister, but the text describes him as an Irish barrister."
paragraph1
substring"Brendan Carter"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
5
parsed
entry"4412"
detail"backstory"
explanation"The codex states her mother is Welsh, but the text describes her as Welsh teacher."
paragraph1
substring"Jennifer Carter née Ellis"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
6
parsed
entry"4412"
detail"backstory"
explanation"The codex states Aurora fled to London with Eva, but the text now states Aurora fled to London with her childhood friend Eva."
paragraph1
substring"Eva"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
7
parsed
entry"4412"
detail"backstory"
explanation"The codex states she fled to London as a result of an abusive ex named Evan, but the text states she fled as a result of an abusive ex named Evan."
paragraph1
substring"Evan"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
8
parsed
entry"4412"
detail"backstory"
explanation"The codex states Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant, but the text describes her as a delivery person for Yu-Fei Cheung's."
paragraph1
substring"Yu-Fei Cheung's"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
9
parsed
entry"4412"
detail"backstory"
explanation"The codex states she lives in a flat above Silas' bar, but the text states she lives in a flat above Silas' bar."
paragraph1
substring"Silas' bar"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
10
parsed
entry"4413"
detail"eyeColor"
explanation"The codex states Silas' eye color is hazel, but the text doesn't specify his eye color."
paragraph1
substring"hazel eyes"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4413\", expected \"4418\""
11
parsed
entry"4413"
detail"hair"
explanation"The codex states Silas has grey-streaked auburn hair, but the text describes it as grey-streaked auburn."
paragraph1
substring"grey-streaked auburn"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4413\", expected \"4420\""
12
parsed
entry"4413"
detail"height"
explanation"The codex states Silas is 6'1\", but the text states he is 6'1\""
paragraph1
substring"6'1"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
13
parsed
entry"4413"
detail"beard"
explanation"The codex states Silas has a neatly trimmed beard matching his grey-streaked auburn hair, but the text does not mention a beard."
paragraph1
substring"neatly trimmed"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
14
parsed
entry"4413"
detail"limp"
explanation"The codex describes a limp in his left leg, but the text describes a limp in his left leg."
paragraph1
substring"left leg"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
15
parsed
entry"4413"
detail"signetRing"
explanation"The codex states Silas wears a signet ring on his right hand, but the text doesn’t mention it."
paragraph1
substring"right hand"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
16
parsed
entry"4413"
detail"description"
explanation"The codex describes Silas with quiet authority, but the text does not specify."
paragraph1
substring"quiet authority"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
17
parsed
entry"4413"
detail"backstory"
explanation"The codex states Silas was a former MI6 field agent, but the text does not state he was an MI6 agent."
paragraph1
substring"MI6"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
18
parsed
entry"4413"
detail"backstory"
explanation"The codex states Silas retired after a botched operation in Prague, but the text says he retired after a botched operation in Prague."
paragraph1
substring"Prague"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
19
parsed
entry"4414"
detail"eyeColor"
explanation"The codex states Eva's eye color is green, but the text says they have green eyes."
paragraph1
substring"green eyes"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4414\", expected \"4418\""
20
parsed
entry"4414"
detail"hair"
explanation"The codex states Eva’s hair is curly red, but the text describes her hair as curly red."
paragraph1
substring"curly red"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4414\", expected \"4420\""
21
parsed
entry"4414"
detail"glasses"
explanation"The codex states Eva wears round glasses, but the text doesn’t mention glasses."
paragraph1
substring"round glasses"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
22
parsed
entry"4414"
detail"satchel"
explanation"The codex states Eva has a worn leather satchel, but the text describes her satchel."
paragraph1
substring"worn leather satchel"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
23
parsed
entry"4414"
detail"freckles"
explanation"The codex states Eva has freckles, but the text doesn’t mention freckles."
paragraph1
substring"freckled complexion"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
24
parsed
entry"4414"
detail"nervousHabit"
explanation"The codex describes Eva tucking her hair behind her left ear, but the text says she tucks her hair behind her left ear."
paragraph1
substring"left ear"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
25
parsed
entry"4414"
detail"description"
explanation"The codex states Aurora's friend is an occult researcher, but the text describes Eva as an occult researcher."
paragraph1
substring"occult researcher"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
26
parsed
entry"4414"
detail"backstory"
explanation"The codex states Eva earned a master's degree from Oxford, but the text states she earned a master's degree from Oxford."
paragraph1
substring"Oxford"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
27
parsed
entry"4415"
detail"eyeColor"
explanation"The codex states Lucien’s eye color is heterochromatic — one amber, one black, but the text doesn’t describe his eye color."
paragraph1
substring"heterochromatic"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
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\""
28
parsed
entry"4415"
detail"hair"
explanation"The codex states Lucien has slicked-back platinum blond hair, but the text doesn’t describe his hair."
paragraph1
substring"slicked-back platinum blond"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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 \"4415\", expected \"4420\""
29
parsed
entry"4415"
detail"cane"
explanation"The codex states Lucien has an ivory-handled cane, but the text describes his cane."
paragraph1
substring"ivory-handled cane"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
30
parsed
entry"4415"
detail"dress"
explanation"The codex states Lucien wears tailored charcoal suits, but the text doesn’t specify his dress."
paragraph1
substring"tailored charcoal suits"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
31
parsed
entry"4415"
detail"description"
explanation"The codex states Lucien is an information broker, but the text says he is a fixer."
paragraph1
substring"information broker"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
32
parsed
entry"4415"
detail"backstory"
explanation"The codex states Lucien’s father is a demon, but the text doesn’t specify."
paragraph1
substring"demon father"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
33
parsed
entry"4416"
detail"eyeColor"
explanation"The codex states Detective Quinn’s eye color is brown, but the text states her eye color is brown."
paragraph1
substring"brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per the codex, but the passage says blue eyes."
reason"entry mismatch: got \"4416\", expected \"4418\""
34
parsed
entry"4416"
detail"hair"
explanation"The codex states Detective Quinn has closely cropped salt-and-pepper hair, but the text does not describe her hair."
paragraph1
substring"closely cropped salt-and-pepper"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
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\""
35
parsed
entry"4416"
detail"jawline"
explanation"The codex states Detective Quinn has a sharp jawline, but the text does not describe her jawline."
paragraph1
substring"sharp jaw"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
36
parsed
entry"4416"
detail"watch"
explanation"The codex states Detective Quinn wears a watch on her left wrist, but the text doesn’t mention a watch."
paragraph1
substring"left wrist"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
37
parsed
entry"4416"
detail"bearing"
explanation"The codex states Detective Quinn has military precision, but the text doesn’t specify."
paragraph1
substring"military precision"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
38
parsed
entry"4416"
detail"backstory"
explanation"The codex states Detective Quinn lost her partner, DS Morris, but the text does not mention her partner."
paragraph1
substring"DS Morris"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
39
parsed
entry"4416"
detail"backstory"
explanation"The codex states her partner’s death had supernatural origins, but the text does not specification."
paragraph1
substring"supernatural origins"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
40
parsed
entry"4417"
detail"eyeColor"
explanation"The codex states Tomás’s eye color is warm brown, but the text does not describe his eye color."
paragraph1
substring"warm brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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\""
41
parsed
entry"4417"
detail"hair"
explanation"The codex states Tomás has short curly dark brown hair, but the text does not describe his hair."
paragraph1
substring"short curly dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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\""
42
parsed
entry"4417"
detail"skinTone"
explanation"The codex states Tomás has olive skin, but the text does not describe his skin."
paragraph1
substring"olive skin"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"skinTone\", expected \"scar\""
43
parsed
entry"4417"
detail"scar"
explanation"The codex states Tomás has a scar on his left forearm, but the text describes a scar on his left forearm."
paragraph1
substring"left forearm"
status"true_positive"
matchedExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per the codex, but the passage says right forearm."
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
44
parsed
entry"4417"
detail"medallion"
explanation"The codex states Tomás wears a Saint Christopher medallion, but the text describes his medallion."
paragraph1
substring"Saint Christopher medallion"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"medallion\", expected \"scar\""
45
parsed
entry"4417"
detail"birthplace"
explanation"The codex states Tomás was born in Seville, Spain, but the text describes his birthplace."
paragraph1
substring"Seville, Spain"
status"true_positive"
matchedExpected
entry"4417"
detail"birthplace"
summary"Tomás was born in Seville per the codex, but the passage implies Madrid via his accent."
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his Madrid accent"
locationAccuratefalse
46
parsed
entry"4417"
detail"description"
explanation"The codex states Tomás is a former paramedic, but the text says he is a former paramedic."
paragraph1
substring"paramedic"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"description\", expected \"scar\""
47
parsed
entry"4417"
detail"backstory"
explanation"The codex states Tomás lost his license working for the NHS, but the text describes his work."
paragraph1
substring"NHS"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his scarred right forearm"
locationAccuratefalse
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 \"backstory\", expected \"scar\""
48
parsed
entry"4420"
detail"eyeColor"
explanation"The codex states Kai has dark brown eyes, but the text does not describe his eye color."
paragraph1
substring"dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"eyeColor\", expected \"hair\""
49
parsed
entry"4420"
detail"hair"
explanation"The codex states Kai has electric-blue hair, but the text describes his hair."
paragraph1
substring"electric-blue"
status"true_positive"
matchedExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
50
parsed
entry"4420"
detail"headphones"
explanation"The codex states Kai has noise-cancelling headphones, but the text describes his headphones."
paragraph1
substring"noise-cancelling headphones"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"headphones\", expected \"hair\""
51
parsed
entry"4420"
detail"wristTattoo"
explanation"The codex states Kai has a circuit board tattoo on his right wrist, but the text describes his tattoo."
paragraph1
substring"circuit board tattoo"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"wristTattoo\", expected \"hair\""
52
parsed
entry"4420"
detail"build"
explanation"The codex states Kai is lean, but the text does not describe his build."
paragraph1
substring"lean"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"build\", expected \"hair\""
53
parsed
entry"4420"
detail"backstory"
explanation"The codex states Kai dropped out of Imperial College London, but the text does not mention this."
paragraph1
substring"Imperial College London"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
54
parsed
entry"4420"
detail"backstory"
explanation"The codex states Kai lives in a shipping container in Hackney Wick, but the text does not mention this."
paragraph1
substring"Hackney Wick"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"His natural black hair"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per the codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
55
parsed
entry"853"
detail"skyColor"
explanation"The codex states the sky color of Dymas is warm amber, but the text does not describe the sky."
paragraph1
substring"warm amber"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
56
parsed
entry"854"
detail"entryRequirement"
explanation"The codex states the entry requirement to the Veil Market is a bone token, but the text does not mention this."
paragraph1
substring"bone token"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
57
parsed
entry"856"
detail"schedule"
explanation"The codex states the Veil Market moves locations every full moon, but the text does not mention this."
paragraph1
substring"full moon"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"the abandoned Tube station beneath Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is beneath Camden per the codex, but the passage says Shoreditch."
reason"detail mismatch: got \"schedule\", expected \"currentLocation\""
100.00% Structural validity
Parsed: 58, Well-formed: 58/58
parsedCount58
wellFormedScore58
35.0575%