Run: 2026-02-20-01KHYB7HC45XA4A7QC5MK64HJV

Run Details

Duration:
1m 2s
Cost:
$0.000725
Provider:
DeepInfra

Evaluation summary

Score Evaluator
Details Link
0.00% Accuracy (recall) (details)
12.75% Precision (details)
100.00% Structural validity (details)
37.5817% 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> <character id="4421" name="Yasmin Al-Rashid" aliases="Yas, Yasmin" pronouns="she/her" species="Djinn-blooded" storyRole="Ally"> <eyeColor>amber</eyeColor> <hair>long wavy dark</hair> <height>5'8"</height> <age>34</age> <skinTone>bronze skin</skinTone> <tattoo>flame serpent tattoo coiling up her left arm</tattoo> <scent>faintly of sandalwood and burnt sage</scent> <description>An alchemist who runs a discreet apothecary in Brixton, selling both mundane herbal remedies and supernatural tinctures.</description> <backstory>Descended from a line of Djinn-touched humans from Marrakech. Trained by her grandmother.</backstory> </character> <character id="4422" name="Father Cormac O'Brien" aliases="Cormac, Father O'Brien, the Priest" pronouns="he/him" species="Human" storyRole="Support"> <eyeColor>pale blue</eyeColor> <hair>thinning ginger</hair> <height>5'8"</height> <age>55</age> <complexion>ruddy</complexion> <rosary>rosary made of rowan wood beads</rosary> <collar>clerical collar, worn at all times</collar> <description>An Irish Catholic priest assigned to St. Brigid's parish in Islington who secretly assists the clique with blessings and wards.</description> <backstory>He witnessed a demonic incursion at his seminary in Cork twenty years ago that the Church covered up.</backstory> </character> <character id="4423" name="Zhou Wei-Lin" aliases="Wei-Lin, Zhou" pronouns="he/him" species="Human" storyRole="Informant"> <eyeColor>dark brown</eyeColor> <hair>shaved head</hair> <height>5'9"</height> <age>48</age> <build>muscular</build> <tattoo>dragon tattoo covering his entire back</tattoo> <missingFinger>missing the tip of his left little finger</missingFinger> <description>A former Triad enforcer turned noodle shop owner who trades information with Silas.</description> <backstory>Retired from organized crime after a near-death experience involving a Hel portal in Hong Kong. He now runs "Zhou's Golden Dragon" in Chinatown.</backstory> </character> <character id="4424" name="Isolde Varga" aliases="Isolde, the Seer" pronouns="she/her" species="Half-Fae" storyRole="Oracle"> <eyeColor>pale lavender</eyeColor> <hair>silver, reaching her waist</hair> <height>5'5"</height> <age>300 years old</age> <appearance>ethereal, ageless</appearance> <speech>speaks in riddles</speech> <footprints>leaves no footprints when she walks</footprints> <compulsion>cannot lie (Fae compulsion) but can mislead</compulsion> <description>A Half-Fae seer exiled from the Fae Courts for sharing visions with mortals.</description> <backstory>She now lives in a hidden grove in Richmond Park, offering cryptic prophecies to those who seek her out.</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> <location id="858" name="Eva's Flat" aliases="Eva's place, the flat on Brick Lane" realm="Earth"> <cat>tabby cat named Ptolemy</cat> <security>three deadbolts on the front door</security> <description>A cramped one-bedroom flat above a curry house on Brick Lane, East London. Every surface is covered with books, scrolls, and research notes.</description> </location> <location id="859" name="Somnia (Sloth)" aliases="Somnia, sloth, Somnian" realm="Hel" sin="Sloth"> <ruler>Prince Asmodeus</ruler> <atmosphere>faintly sweet, narcotic smell</atmosphere> <description>An endless twilight landscape of fog-shrouded meadows and crumbling mansions. Inhabitants gradually lose all motivation and ambition, sinking into eternal lethargy.</description> </location> <location id="860" name="Yasmin's Apothecary" aliases="the Apothecary, Yas's shop" realm="Earth"> <password>moonrise (required for back room access)</password> <frontStock>herbal teas and aromatherapy oils</frontStock> <backStock>supernatural potions, binding salts, and alchemical reagents</backStock> <description>A narrow shop on a side street in Brixton with a mundane front and a hidden supernatural back room.</description> </location> <location id="861" name="The Fae Grove" aliases="Isolde's grove, Richmond grove, the Grove" realm="Earth (Fae-touched)"> <parkLocation>Richmond Park</parkLocation> <standingStones>ancient oak standing stones mark the boundary</standingStones> <timeBehavior>time moves differently — an hour inside can be minutes or days outside</timeBehavior> <flora>wildflowers bloom year-round</flora> <description>A hidden clearing that exists in a pocket between Earth and the Fae realm.</description> </location> <location id="862" name="Luxuria (Lust)" aliases="Luxuria, lust, Luxurian" realm="Hel" sin="Lust"> <ruler>Prince Lilith</ruler> <skyColor>deep twilight purple</skyColor> <description>A hauntingly beautiful realm of moonlit gardens, mirrored halls, and enchanting music. Visitors become entranced by illusions of their deepest desires.</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> <item id="2005" name="Somnian Dream Dust" aliases="Dream Dust, Somnia dust, sleeping powder" type="Consumable" origin="Somnia"> <color>fine silver powder</color> <containerColor>stored in small cobalt-blue glass vials</containerColor> <sealMaterial>sealed with black wax</sealMaterial> <effect>induces a deep trance for navigating memories and dreamscapes</effect> <sideEffect>overuse causes permanent drowsiness</sideEffect> <description>A narcotic powder harvested from the twilight meadows of Somnia.</description> </item> <item id="2006" name="Fae-Forged Blade" aliases="the Fae blade, Isolde's gift" type="Weapon" origin="The Fae Courts"> <material>moonsilver</material> <shape>slender, leaf-shaped dagger</shape> <temperature>always cold to the touch</temperature> <glow>faintly luminescent in moonlight</glow> <power>can cut through magical wards; particularly effective against demons</power> <givenTo>given to Aurora by Isolde as a gift</givenTo> <description>A weapon of the Fae Courts, rare and highly coveted.</description> </item> <lore id="7001" name="The Veil" aliases="the Veil, the Barrier, the Boundary" category="Cosmology"> <solsticeEffect>weakens during the winter solstice, strengthens during the summer solstice</solsticeEffect> <appearance>faint shimmering distortion visible only to those with supernatural sight</appearance> <monitoring>rift points (tears in the Veil) are monitored by the Wardens</monitoring> <description>The Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms.</description> </lore> <lore id="7002" name="The Covenant of Separation" aliases="the Covenant, Separation Covenant" category="Law"> <signedYear>1215</signedYear> <signatories>rulers of Hel, the Fae Courts, and a council of human sorcerers</signatories> <enforcement>violations allow the Wardens to use lethal force</enforcement> <physicalForm>inscribed on seven stone tablets, each held by a different Warden chapter worldwide</physicalForm> <description>An ancient treaty that forbids direct demonic or Fae interference on Earth.</description> </lore> <lore id="7003" name="Rift Points" aliases="rifts, tears, Veil tears" category="Cosmology"> <peakActivity>most active during the winter solstice</peakActivity> <formation>tend to form near underground water sources</formation> <emission>emit a low hum inaudible to normal humans but detectable by supernatural beings and Warden instruments</emission> <description>Naturally occurring weak spots in the Veil where the barrier between Earth and other realms is thin enough to cross.</description> </lore> <lore id="7004" name="Helbound Souls" aliases="helbound, contracted souls, soul contracts" category="Metaphysics"> <sealingMethod>sealed by blood and recorded in that Prince's domain</sealingMethod> <retention>retain their skills and personality but are compelled to serve</retention> <freedom>can only be freed if the contract is physically destroyed within the realm where it was signed</freedom> <description>Mortals who have entered into a binding contract with a Hel Prince.</description> </lore> <lore id="7005" name="Shade Transformation" aliases="Shade ritual, becoming a Shade" category="Metaphysics"> <requirement>being caught between realms during a failed summoning or portal collapse</requirement> <physicalLoss>strips the subject of their physical body permanently</physicalLoss> <lostSenses>lose ability to taste, smell, or feel physical sensations</lostSenses> <reversibility>irreversible</reversibility> <description>The process by which a living being becomes a Shade.</description> </lore> <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> <group id="6003" name="The Somnian Cult" aliases="Somnians, the Sleepers, Dream Cult" type="Cult" alignment="Neutral Evil" headquarters="Somnia, Hel"> <master>Prince Asmodeus</master> <recruitmentMethod>promises of peace and freedom from suffering</recruitmentMethod> <lure>distribute Dream Dust</lure> <description>A cult of mortals who willingly entered Somnia seeking eternal rest. They recruit new members on Earth.</description> </group> <group id="6004" name="The Parish Guard" aliases="the Guard, Cormac's network" type="Religious Order" alignment="Lawful Good" headquarters="St. Brigid's Church, Islington"> <leader>Father Cormac</leader> <identification>rowan-wood rosaries</identification> <independence>operate independently from the Wardens</independence> <description>A secret network of clergy and laypeople who protect London from supernatural threats.</description> </group> <group id="6005" name="Golden Empress Restaurant" aliases="Golden Empress, Yu-Fei's place" type="Business (Front)" alignment="Neutral" headquarters="Chinatown, London"> <owner>Yu-Fei Cheung</owner> <role>neutral meeting ground for supernatural factions</role> <employee>Aurora works here part-time as a delivery person</employee> <description>A Cantonese restaurant in Chinatown. Yu-Fei knows about the supernatural world but stays strictly neutral.</description> </group> <group id="6006" name="Blackthorn Security" aliases="Blackthorn, BS, the firm" type="Private Company" alignment="Lawful Evil" headquarters="Canary Wharf, London"> <leader>former Warden commander Helena Voss</leader> <logo>thorned branch inside a shield</logo> <employees>human operatives and bound supernatural entities</employees> <description>A private security company that is secretly a front for Warden hardliners who believe the current order is too lenient.</description> </group> </codex> <text> The Fae Grove in Hyde Park shimmered in the dying October light. The ancient elm standing stones hummed with a resonance that Isolde felt in her bones — or whatever passed for bones in her three-hundred-year-old Half-Fae body. She stood at the center of the circle, her waist-length silver hair stirring in a breeze that didn't exist outside the boundary. Her pale blue eyes, unblinking, settled on the group that had gathered at her summons. Aurora arrived first, the Fae-Forged Blade warm at her hip. She'd strapped it there that morning, its familiar warmth a comfort against the chill. Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat. Her square glasses kept fogging in the grove's strange microclimate. "The Crimson Court stirs," Isolde intoned, her bare feet leaving clear prints in the soft earth as she paced the circle. "Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax. The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls." Father Cormac crossed himself, his dark brown eyes troubled beneath his thinning ginger hair. He gripped his cedar rosary beads tightly. "The Parish Guard has seen it too. We intercepted a shipment near our cathedral in Southwark last week. The Covenant of Separation — the old treaty from 1066 — forbids this kind of direct interference." "The Covenant is paper," Lucien drawled, leaning on his mahogany cane. Both his amber eyes were fixed on Isolde with a calculating expression. "Mammon breaks it daily in Avaros. And my father—" he paused, adjusting the cuff of his charcoal suit, "—he says the Crimson Court's base of operations has shifted from Dymas to Irath." Yasmin uncorked a small vial and sniffed its contents, her amber eyes narrowing. "This isn't pure Dream Dust. Someone's cutting it with binding salts — probably from a supplier, not my shop. I'd recognize my own stock." The flame serpent tattoo on her right arm seemed to writhe in the fae-light. "Whatever this is, it's designed to create dependency, not just induce trances." Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement. The edge of the dragon tattoo on his chest was visible above his collar. "I've heard whispers in Chinatown. Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards. The market's moved to an abandoned station under Shoreditch for this lunar cycle." "Camden," Kai corrected from behind his laptop screen, his natural black hair falling into his face. "The market's under Camden this month. I tracked the bone-token transactions." He tapped a key. "Also, Blackthorn Security has been mobilizing. Helena Voss pulled six operatives out of their Canary Wharf office yesterday. Their logo — the sword inside a circle — was flagged on CCTV near three rift points." Maggie rapped her oak walking stick against a stone. "Voss is a zealot. If the Wardens' official stance is neutrality, Blackthorn is their id — all the aggression the order won't publicly endorse." Her keen green eyes swept the group. "We need to be strategic. The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint." Tomás, who had been quietly checking medical supplies in his bag, looked up. His scarred right forearm brushed the zipper as he closed it. "I treated a Helbound soul last week. She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them. She managed to destroy her contract document while still in Avaros, which broke the bond." His Madrid accent thickened with agitation. "But she said others aren't so lucky." Nyx materialized from the shadow of a standing stone, their glowing blue eyes cutting through the twilight. "The mortal speaks truth," they whispered, their voice like wind through dead leaves. "I walked the shadow paths last night. The rifts are multiplying. Three new ones opened near underground water sources — consistent with what we know." They paused. "There is something else. A rift beneath Blackfriars is behaving strangely. It pulses in a rhythm — almost like a heartbeat." Rory felt the Heartstone Pendant pulse in her pocket, as if in response. She pulled it out — the golden chain tangled in her fingers, the crimson stone glowing brighter than she'd ever seen. "It's reacting to something." Isolde stepped forward, her pale blue eyes widening. "The Heartstone was forged in Avaros. It resonates with Hel's heartbeat — the deeper rhythms of the underworld. If a rift is pulsing in sync..." She trailed off, her ageless face unreadable. "Then something is trying to come through," Eva finished, her green eyes wide behind her glasses. "Something big enough to synchronize with a rift point." Silas, who had been standing silently at the edge of the grove, spoke at last. His hazel eyes were grave. "I've seen this before. Prague, 1987. A rift synchronized with an artifact and blew open a gateway that took twelve Wardens to close. Three of them didn't make it." He rubbed his left knee — the old injury from that very operation. "If this is the same phenomenon, we have days. Maybe less." "Then we move tonight," Rory said, her voice steady despite the fear clawing at her ribs. She looked around the circle — at her friends, her allies, her makeshift family. "Kai, I need everything you can find on that Blackfriars rift. Eva, cross-reference with the restricted archive. Lucien, reach out to your contacts in Hel — find out what the Court is planning. Tomás, prep medical kits for a rift encounter. Father Cormac, alert the Parish Guard. Nyx — shadow the rift. Don't let anything through." She gripped the Fae-Forged Blade. It was warm in her hand, almost eager. "We end this before the solstice." The group dispersed into the London evening. Above them, unseen, the Veil shimmered — thin as gossamer, and getting thinner by the hour. </text> Identify all factual violations in the text above that contradict the codex.

Model response

AI
```xml <violations> <violation entry="4412" detail="species" paragraph="1" substring="Human">The text describes Aurora Carter as a Half-Demon, but the codex states she is Human.</violation> <violation entry="4412" detail="eyeColor" paragraph="1" substring="bright blue">The text states Aurora's eye color is “bright blue,” but the codex states she has “bright blue” eyes.</violation> <violation entry="4412" detail="hair" paragraph="1" substring="black">The text describes Aurora's hair as “straight shoulder-length black,” but the codex states her hair is “straight shoulder-length black</violation> <violation entry="4412" detail="scar" paragraph="1" substring="left wrist">The text describes a crescent-shaped scar on her “left wrist,” but the codex states the scar is on her “left wrist.”</violation> <violation entry="4412" detail="description" paragraph="1" substring="cool-headed, intelligent">The text describes Aurora as “cool-headed, intelligent,” but the codex states she is “cool-headed, intelligent, and known for quick out-of-the-box thinking.</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Irish barrister father">The text states Aurora's father is an “Irish barrister,” but the codex states he is an “Irish barrister father.”</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="Welsh teacher mother">The text states Aurora's mother is a “Welsh teacher,” but the codex states she is a “Welsh teacher mother (née Ellis).”</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="cardiff university">The text states Rory studies at "Cardiff University," but the codex states she studied at "Cardiff University".</violation> <violation entry="4412" detail="backstory" paragraph="1" substring="left">The text states that Aurora “fled to London at the behest of her childhood friend Eva”, subtly indicating that Eva is directing her to London. However, the codex states she “fled to London… after leaving an abusive ex named Evan.”</violation> <violation entry="4413" detail="eyeColor" paragraph="2" substring="hazel">The text states Silas’ eye color is “hazel,” but the codex states his eye color is “hazel.</violation> <violation entry="4413" detail="hair" paragraph="2" substring="grey-streaked auburn">The text describes Silas’ hair as "grey-streaked auburn" which matches the codex.</violation> <violation entry="4413" detail="height" paragraph="2" substring="6'1">The text states Silas is 6'1" (68 inches) which matches the codex. </violation> <violation entry="4413" detail="age" paragraph="2" substring="58">The text states Silas is 58 years old which matches the codex.</violation> <violation entry="4413" detail="beard" paragraph="2" substring="neatly trimmed">The text describes Silas’ beard as “neatly trimmed, matching his grey-streaked auburn hair,” which aligns with the codex.</violation> <violation entry="4413" detail="limp" paragraph="2" substring="left leg">The text mentions a “slight limp in his left leg,” matching the codex description. </violation> <violation entry="4413" detail="signetRing" paragraph="2" substring="right hand">The text states Silas wears his signet ring “on his right hand”, matching the codex description. </violation> <violation entry="4413" detail="description" paragraph="2" substring="quiet authority">The text describes Silas as having “quiet authority,” which aligns with the codex description.</violation> <violation entry="4413" detail="backstory" paragraph="2" substring="Prague">The text states Silas’ injury resulted from a botched operation in Prague, aligning with the codex.</violation> <violation entry="4414" detail="eyeColor" paragraph="3" substring="green">The text states Eva’s eye color is “green,” but the codex states she has “green” eyes. </violation> <violation entry="4414" detail="hair" paragraph="3" substring="curly red">The text describes Eva’s hair as “curly red,” which matches the codex.</violation> <violation entry="4414" detail="height" paragraph="3" substring="5'4">The text states Eva is 5'4", matching the codex. </violation> <violation entry="4414" detail="glasses" paragraph="3" substring="round glasses">The text accurately describes Eva as wearing “round glasses,” as per the codex.</violation> <violation entry="4414" detail="satchel" paragraph="3" substring="worn leather satchel">The text describes Eva’s satchel as “worn leather satchel,” matching the codex description.</violation> <violation entry="4414" detail="freckles" paragraph="3" substring="freckled complexion">The text accurately states Eva has a “freckled complexion,” aligning with the codex.</violation> <violation entry="4414" detail="nervousHabit" paragraph="3" substring="left ear">The text describes Eva’s nervous habit as “tucking hair behind her left ear,” matching the codex.</violation> <violation entry="4414" detail="description" paragraph="3" substring="occult researcher">The text correctly establishes Eva as an “occult researcher,” as per the codex.</violation> <violation entry="4414" detail="backstory" paragraph="3" substring="Oxford">The text states Eva holds a master's degree in Ancient History from "Oxford", which is accurate as per the codex.</violation> <violation entry="4415" detail="eyeColor" paragraph="4" substring="heterochromatic">The text states Lucien has “heterochromatic — one amber, one black” eyes, matching the codex.</violation> <violation entry="4415" detail="hair" paragraph="4" substring="slicked-back platinum blond">The text describes Lucien’s hair as “slicked-back platinum blond,” which matches the codex.</violation> <violation entry="4415" detail="height" paragraph="4" substring="5'11">The text states Lucien is 5’11” (5'11"), matching the codex.</violation> <violation entry="4415" detail="cane" paragraph="4" substring="ivory-handled cane">The text describes Lucien’s cane as “ivory-handled cane,” aligning with the codex.</violation> <violation entry="4415" detail="dress" paragraph="4" substring="tailored charcoal suits">The text accurately describes Lucien as wearing “tailored charcoal suits,” as per the codex.</violation> <violation entry="4415" detail="description" paragraph="4" substring="fixer and information broker">The text accurately describes Lucien as an “impeccably dressed fixer and information broker,” mirroring the codex.</violation> <violation entry="4415" detail="backstory" paragraph="4" substring="Marseille">The text correctly states Lucien was born in "Marseille," as per the codex.</violation> <violation entry="4415" detail="backstory" paragraph="4" substring="demon father">The text states Lucien’s father was a “demon father from the realm of Avaros,” aligning with the codex.</violation> <violation entry="4416" detail="eyeColor" paragraph="5" substring="brown">The text states Quinn’s eye color is “brown,” which matches the codex.</violation> <violation entry="4416" detail="hair" paragraph="5" substring="closely cropped salt-and-pepper">The text describes Quinn’s hair as “closely cropped salt-and-pepper,” aligning with the codex. </violation> <violation entry="4416" detail="height" paragraph="5" substring="5'9">The text states Quinn is 5’9”, matching the codex.</violation> <violation entry="4416" detail="jawline" paragraph="5" substring="sharp jaw">The text accurately describes Quinn with a “sharp jawline,” matching the codex.</violation> <violation entry="4416" detail="watch" paragraph="5" substring="left wrist">The text states Quinn wears a watch on her “left wrist,” aligning with the codex.</violation> <violation entry="4416" detail="bearing" paragraph="5" substring="military precision">The text describes Quinn as having “military precision,” matching the codex.</violation> <violation entry="4416" detail="backstory" paragraph="5" substring="DS Morris">The text mentions Quinn lost her partner, DS Morris, during a case, which aligns with the codex. The codex also notes the case had supernatural origins.</violation> <violation entry="4417" detail="eyeColor" paragraph="6" substring="warm brown">The text states Tomás’ eye color is “warm brown,” matching the codex.</violation> <violation entry="4417" detail="hair" paragraph="6" substring="short curly dark brown">The text correctly describes Tomás’ hair as “short curly dark brown,” aligning with the codex.</violation> <violation entry="4417" detail="height" paragraph="6" substring="5'10">The text states Tomás is 5’10”, matching the codex.</violation> <violation entry="4417" detail="skinTone" paragraph="6" substring="olive skin">The text describes Tomás’ skin as “olive skin,” aligning with the codex.</violation> <violation entry="4417" detail="scar" paragraph="6" substring="left forearm">The text states Tomás has a scar on his “left forearm,” which matches the codex.</violation> <violation entry="4417" detail="medallion" paragraph="6" substring="Saint Christopher medallion">The text correctly describes Tomás wearing a “Saint Christopher medallion,” as per the codex.</violation> <violation entry="4417" detail="birthplace" paragraph="6" substring="Seville, Spain">The text correctly states Tomás was born in "Seville, Spain,” aligning with the codex.</violation> <violation entry="4417" detail="description" paragraph="6" substring="former paramedic">The text describes Tomás as a “former paramedic,” which is accurate as per the codex.</violation> <violation entry="4417" detail="backstory" paragraph="6" substring="NHS">The text states Tomás lost his license after administering unauthorized treatments to “supernatural patients” for the NHS, which aligns with the codex.</violation> <violation entry="4418" detail="eyeColor" paragraph="7" substring="faintly glowing violet">The text states Nyx’s eye color is “faintly glowing violet,” matching the codex.</violation> <violation entry="4418" detail="height" paragraph="7" substring="approximately 6'2">The text states Nyx’s height is “approximately 6'2" in solid form,” aligning with the codex.</violation> <violation entry="4418" detail="age" paragraph="7" substring="ageless">The text states Nyx is "ageless", aligning with the codex.</violation> <violation entry="4418" detail="form" paragraph="7" substring="humanoid silhouette">The text describes Nyx’s form as a “humanoid silhouette of living shadow,” which matches the codex.</violation> <violation entry="4418" detail="voice" paragraph="7" substring="whisper carried on the wind">The text accurately describes Nyx's voice as “sounds like a whisper carried on the wind,” aligning with the codex.</violation> <violation entry="4418" detail="description" paragraph="7" substring="being of living shadow">The text accurately describes Nyx as a “being of living shadow,” mirroring the codex.</violation> <violation entry="4418" detail="backstory" paragraph="7" substring="Aldric">The text correctly states Nyx was once a human sorcerer named "Aldric” who became trapped between realms, matching the codex.</violation> <violation entry="4419" detail="eyeColor" paragraph="8" substring="sharp grey">The text states Maggie’s eye color is “sharp grey,” which aligns with the codex.</violation> <violation entry="4419" detail="hair" paragraph="8" substring="silver-white, worn in a neat bun">The text correctly describes Maggie’s hair as “silver-white, worn in a neat bun,” aligning with the codex.</violation> <violation entry="4419" detail="height" paragraph="8" substring="5'2">The text states Maggie is 5’2”, matching the codex.</violation> <violation entry="4419" detail="glasses" paragraph="8" substring="wire-rimmed spectacles">The text accurately describes Maggie as wearing “wire-rimmed spectacles,” matching the codex.</violation> <violation entry="4419" detail="walkingStick" paragraph="8" substring="blackthorn walking stick">The text correctly describes Maggie’s walking stick as “blackthorn walking stick,” aligning with the codex.</violation> <violation entry="4419" detail="build" paragraph="8" substring="slight, frail appearance">The text describes Maggie’s build as “slight, frail appearance but fierce wit,” which matches the codex.</violation> <violation entry="4419" detail="description" paragraph="8" substring="retired librarian">The text correctly states Maggie’s profession as “retired librarian,” as per the codex.</violation> <violation entry="4419" detail="backstory" paragraph="8" substring="Bodleian Library">The text states Maggie retired from "the Bodleian Library in Oxford," accurately reflecting the codex. </violation> <violation entry="4419" detail="backstory" paragraph="8" substring="widower">The text describes Maggie’s late husband as a "Warden," which aligns with the codex.</violation> <violation entry="4420" detail="eyeColor" paragraph="9" substring="dark brown">The text states Kai’s eye color is “dark brown,” matching the codex.</violation> <violation entry="4420" detail="hair" paragraph="9" substring="dyed electric-blue">The text accurately describes Kai’s hair as “dyed electric-blue in an undercut,” aligning with the codex.</violation> <violation entry="4420" detail="height" paragraph="9" substring="5'7">The text states Kai is 5’7”, matching the codex.</violation> <violation entry="4420" detail="headphones" paragraph="9" substring="noise-cancelling headphones">The text correctly describes Kai as wearing “noise-cancelling headphones,” as per the codex.</violation> <violation entry="4420" detail="wristTattoo" paragraph="9" substring="circuit board tattoo">The text accurately describes Kai’s wrist tattoo as “a small circuit board tattoo,” as per the codex.</violation> <violation entry="4420" detail="build" paragraph="9" substring="lean">The text describes Kai's build as “lean,” aligning with the codex description.</violation> <violation entry="4420" detail="description" paragraph="9" substring="tech prodigy">The text accurately describes Kai as a “Japanese-British self-taught tech prodigy,” mirroring the codex.</violation> <violation entry="4420" detail="backstory" paragraph="9" substring="Imperial College London">The text states Kai dropped out of “Imperial College London,” reflecting the codex's information.</violation> <violation entry="4420" detail="backstory" paragraph="9" substring="Hackney Wick">The text states he lives in a “converted shipping container in Hackney Wick,” accurately described by the codex.</violation> <violation entry="4421" detail="eyeColor" paragraph="10" substring="amber">The text states Yasmin's eye color is “amber,” aligning with the codex.</violation> <violation entry="4421" detail="hair" paragraph="10" substring="long wavy dark">The text accurately describes Yasmin’s hair as “long wavy dark,” echoing the codex’s description.</violation> <violation entry="4421" detail="height" paragraph="10" substring="5'8">The text states Yasmin is 5’8”, matching the codex.</violation> <violation entry="4421" detail="skinTone" paragraph="10" substring="bronze skin">The text correctly describes Yasmin's skin as “bronze skin,” aligning with the codex.</violation> <violation entry="4421" detail="tattoo" paragraph="10" substring="flame serpent tattoo">The text accurately describes Yasmin’s tattoo as “a flame serpent tattoo coiling up her left arm,” mirroring the codex.</violation> <violation entry="4421" detail="scent" paragraph="10" substring="sandalwood and burnt sage">The text correctly describes Yasmin’s scent as “faintly of sandalwood and burnt sage,” accurately as per the codex.</violation> <violation entry="4421" detail="description" paragraph="10" substring="alchemist">The text accurately describes Yasmin as an "alchemist," matching the codex.</violation> <violation entry="4421" detail="backstory" paragraph="10" substring="Marrakech">The text correctly states Yasmin is descended from a line of “Djinn-touched humans from Marrakech,” precisely as described in the codex.</violation> <violation entry="4421" detail="backstory" paragraph="10" substring="grandmother">The text states Yasmin was trained "by her grandmother," accurate per the codex.</violation> <violation entry="4422" detail="eyeColor" paragraph="11" substring="pale blue">The text states Father Cormac’s eye color is “pale blue,” matching the codex.</violation> <violation entry="4422" detail="hair" paragraph="11" substring="thinning ginger">The text accurately describes Father Cormac’s hair as “thinning ginger,” mirroring the codex.</violation> <violation entry="4422" detail="height" paragraph="11" substring="5'8">The text states Father Cormac is 5’8”, matching the codex.</violation> <violation entry="4422" detail="complexion" paragraph="11" substring="ruddy">The text describes Father Cormac’s complexion as "ruddy," aligning with the codex.</violation> <violation entry="4422" detail="rosary" paragraph="11" substring="rowan wood beads">The text accurately describes Father Cormac’s rosary as “made of rowan wood beads,” as stated in the codex.</violation> <violation entry="4422" detail="collar" paragraph="11" substring="clerical collar">The text correctly describes Father Cormac as wearing “clerical collar,” matching the codex.</violation> <violation entry="4422" detail="description" paragraph="11" substring="retired librarian">The text accurately describes Father Cormac as “a retired librarian turned unofficial consultant,” mirroring the codex.</violation> <violation entry="4422" detail="backstory" paragraph="11" substring="Prague">The text accurately states that Father Cormac witnessed a demonic incursion at his seminary in Prague, which the codex also notes as a covered-up event.</violation> <violation entry="4423" detail="eyeColor" paragraph="12" substring="dark brown">The text states Zhou's eye color is “dark brown,” matching the codex.</violation> <violation entry="4423" detail="hair" paragraph="12" substring="shaved head">The text accurately describes Zhou’s hair as “shaved head,” as outlined in the codex.</violation> <violation entry="4423" detail="height" paragraph="12" substring="5'9">The text states Zhou is 5’9”, matching the codex.</violation> <violation entry="4423" detail="build" paragraph="12" substring="muscular">The text correctly describes Zhou’s build as "muscular," aligning with the codex.</violation> <violation entry="4423" detail="tattoo" paragraph="12" substring="dragon tattoo">The text accurately describes Zhou’s tattoo as “a dragon tattoo covering his entire back,” as depicted in the codex.</violation> <violation entry="4423" detail="missingFinger" paragraph="12" substring="left little finger">The text correctly notes Zhou has a “missing the tip of his left little finger,” aligning with the codex.</violation> <violation entry="4423" detail="description" paragraph="12" substring="former Triad enforcer">The text accurately describes Zhou as a “former Triad enforcer,” mirroring the codex.</violation> <violation entry="4423" detail="backstory" paragraph="12" substring="Hong Kong">The text states Zhou retired after a near-death experience involving a Hel portal in Hong Kong, as noted in the codex.</violation> <violation entry="4423" detail="business" paragraph="12" substring="Golden Dragon">The text correctly indicates Zhou runs “Zhou’s Golden Dragon,” as per the codex.</violation> </violations> ```
created_at"2026-02-20T20:18:02.27Z" 2/20/2026, 8:18:02 PM
model"google/gemma-3-4b-it"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency265
moderation_latency(null)
generation_time62175
tokens_prompt7843
tokens_completion5049
native_tokens_prompt7754
native_tokens_completion5184
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.00072488
router(null)
provider_responses
0
endpoint_id"d3de3bd4-81bc-48fb-924f-2a87b2a36e75"
id"chatcmpl-R116fyVx7jcgJFXqDQ1DvWfM"
is_byokfalse
latency59
model_permaslug"google/gemma-3-4b-it"
provider_name"DeepInfra"
status200
api_type"completions"
id"gen-1771618682-vvRLOaBO3eZ8ZMtj5yHH"
upstream_id"chatcmpl-R116fyVx7jcgJFXqDQ1DvWfM"
total_cost0.00072488
cache_discount(null)
upstream_inference_cost0
provider_name"DeepInfra"

Evaluation details

Result Evaluator Details Meta Data
0.00% Accuracy (recall)
Matched: 13/33, FP: 89
parsedCount102
matched13
total33
falsePositives89
expectedDetails
0
expected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
status"missed"
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"missed"
nearMiss
parsed
entry"4412"
detail"eyeColor"
explanation"The text states Aurora's eye color is “bright blue,” but the codex states she has “bright blue” eyes."
paragraph1
substring"bright blue"
reason"entry mismatch: got \"4412\", expected \"4424\""
3
expected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage again says pale blue eyes in a later paragraph."
status"missed"
nearMiss
parsed
entry"4412"
detail"eyeColor"
explanation"The text states Aurora's eye color is “bright blue,” but the codex states she has “bright blue” eyes."
paragraph1
substring"bright blue"
reason"entry mismatch: got \"4412\", expected \"4424\""
4
expected
entry"4424"
detail"footprints"
summary"Isolde leaves no footprints per codex, but the passage says she leaves clear prints."
status"missed"
5
expected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
status"missed"
6
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"The text accurately describes Eva as wearing “round glasses,” as per the codex."
paragraph3
substring"round glasses"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
7
expected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
status"missed"
8
expected
entry"2005"
detail"sealMaterial"
summary"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
status"missed"
9
expected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
status"missed"
10
expected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
status"matched"
matchedBy
entry"4422"
detail"eyeColor"
explanation"The text states Father Cormac’s eye color is “pale blue,” matching the codex."
paragraph11
substring"pale blue"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
11
expected
entry"4422"
detail"rosary"
summary"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
status"matched"
matchedBy
entry"4422"
detail"rosary"
explanation"The text accurately describes Father Cormac’s rosary as “made of rowan wood beads,” as stated in the codex."
paragraph11
substring"rowan wood beads"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his cedar rosary beads"
locationAccuratefalse
12
expected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
status"missed"
13
expected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
status"missed"
14
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"The text describes Lucien’s cane as “ivory-handled cane,” aligning with the codex."
paragraph4
substring"ivory-handled cane"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
15
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"The text states Lucien has “heterochromatic — one amber, one black” eyes, matching the codex."
paragraph4
substring"heterochromatic"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Both his amber eyes were fixed"
locationAccuratefalse
16
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"matched"
matchedBy
entry"4421"
detail"tattoo"
explanation"The text accurately describes Yasmin’s tattoo as “a flame serpent tattoo coiling up her left arm,” mirroring the codex."
paragraph10
substring"flame serpent tattoo"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
17
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"The text accurately describes Zhou’s tattoo as “a dragon tattoo covering his entire back,” as depicted in the codex."
paragraph12
substring"dragon tattoo"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
18
expected
entry"2006"
detail"material"
summary"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
status"missed"
19
expected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
status"missed"
20
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"The text accurately describes Kai’s hair as “dyed electric-blue in an undercut,” aligning with the codex."
paragraph9
substring"dyed electric-blue"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
21
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"missed"
22
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"The text correctly describes Maggie’s walking stick as “blackthorn walking stick,” aligning with the codex."
paragraph8
substring"blackthorn walking stick"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
23
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"The text states Maggie’s eye color is “sharp grey,” which aligns with the codex."
paragraph8
substring"sharp grey"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"Her keen green eyes"
locationAccuratefalse
24
expected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
status"missed"
25
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"The text states Tomás has a scar on his “left forearm,” which matches the codex."
paragraph6
substring"left forearm"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
26
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"The text correctly states Tomás was born in \"Seville, Spain,” aligning with the codex."
paragraph6
substring"Seville, Spain"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His Madrid accent"
locationAccuratefalse
27
expected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
status"matched"
matchedBy
entry"4418"
detail"eyeColor"
explanation"The text states Nyx’s eye color is “faintly glowing violet,” matching the codex."
paragraph7
substring"faintly glowing violet"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
28
expected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
status"missed"
29
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"
30
expected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
status"missed"
31
expected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage again describes it as warm in a later paragraph."
status"missed"
32
expected
entry"6002"
detail"headquarters"
summary"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
status"missed"
falsePositiveDetails
0
parsed
entry"4412"
detail"species"
explanation"The text describes Aurora Carter as a Half-Demon, but the codex states she is Human."
paragraph1
substring"Human"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
1
parsed
entry"4412"
detail"eyeColor"
explanation"The text states Aurora's eye color is “bright blue,” but the codex states she has “bright blue” eyes."
paragraph1
substring"bright blue"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4412\", expected \"4424\""
2
parsed
entry"4412"
detail"hair"
explanation"The text describes Aurora's hair as “straight shoulder-length black,” but the codex states her hair is “straight shoulder-length black"
paragraph1
substring"black"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
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\""
3
parsed
entry"4412"
detail"scar"
explanation"The text describes a crescent-shaped scar on her “left wrist,” but the codex states the scar 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 codex, but the passage says right forearm."
reason"entry mismatch: got \"4412\", expected \"4417\""
4
parsed
entry"4412"
detail"description"
explanation"The text describes Aurora as “cool-headed, intelligent,” but the codex states she is “cool-headed, intelligent, and known for quick out-of-the-box thinking."
paragraph1
substring"cool-headed, intelligent"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
5
parsed
entry"4412"
detail"backstory"
explanation"The text states Aurora's father is an “Irish barrister,” but the codex states he is an “Irish barrister father.”"
paragraph1
substring"Irish barrister father"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
6
parsed
entry"4412"
detail"backstory"
explanation"The text states Aurora's mother is a “Welsh teacher,” but the codex states she is a “Welsh teacher mother (née Ellis).”"
paragraph1
substring"Welsh teacher mother"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
7
parsed
entry"4412"
detail"backstory"
explanation"The text states Rory studies at \"Cardiff University,\" but the codex states she studied at \"Cardiff University\"."
paragraph1
substring"cardiff university"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
8
parsed
entry"4412"
detail"backstory"
explanation"The text states that Aurora “fled to London at the behest of her childhood friend Eva”, subtly indicating that Eva is directing her to London. However, the codex states she “fled to London… after leaving an abusive ex named Evan.”"
paragraph1
substring"left"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
9
parsed
entry"4413"
detail"eyeColor"
explanation"The text states Silas’ eye color is “hazel,” but the codex states his eye color is “hazel."
paragraph2
substring"hazel"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4413\", expected \"4424\""
10
parsed
entry"4413"
detail"hair"
explanation"The text describes Silas’ hair as \"grey-streaked auburn\" which matches the codex."
paragraph2
substring"grey-streaked auburn"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
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 \"4413\", expected \"4420\""
11
parsed
entry"4413"
detail"height"
explanation"The text states Silas is 6'1\" (68 inches) which matches the codex."
paragraph2
substring"6'1"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
12
parsed
entry"4413"
detail"age"
explanation"The text states Silas is 58 years old which matches the codex."
paragraph2
substring"58"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
13
parsed
entry"4413"
detail"beard"
explanation"The text describes Silas’ beard as “neatly trimmed, matching his grey-streaked auburn hair,” which aligns with the codex."
paragraph2
substring"neatly trimmed"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
14
parsed
entry"4413"
detail"limp"
explanation"The text mentions a “slight limp in his left leg,” matching the codex description."
paragraph2
substring"left leg"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
15
parsed
entry"4413"
detail"signetRing"
explanation"The text states Silas wears his signet ring “on his right hand”, matching the codex description."
paragraph2
substring"right hand"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
16
parsed
entry"4413"
detail"description"
explanation"The text describes Silas as having “quiet authority,” which aligns with the codex description."
paragraph2
substring"quiet authority"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
17
parsed
entry"4413"
detail"backstory"
explanation"The text states Silas’ injury resulted from a botched operation in Prague, aligning with the codex."
paragraph2
substring"Prague"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
18
parsed
entry"4414"
detail"eyeColor"
explanation"The text states Eva’s eye color is “green,” but the codex states she has “green” eyes."
paragraph3
substring"green"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"eyeColor\", expected \"glasses\""
19
parsed
entry"4414"
detail"hair"
explanation"The text describes Eva’s hair as “curly red,” which matches the codex."
paragraph3
substring"curly red"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"hair\", expected \"glasses\""
20
parsed
entry"4414"
detail"height"
explanation"The text states Eva is 5'4\", matching the codex."
paragraph3
substring"5'4"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"height\", expected \"glasses\""
21
parsed
entry"4414"
detail"satchel"
explanation"The text describes Eva’s satchel as “worn leather satchel,” matching the codex description."
paragraph3
substring"worn leather satchel"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"satchel\", expected \"glasses\""
22
parsed
entry"4414"
detail"freckles"
explanation"The text accurately states Eva has a “freckled complexion,” aligning with the codex."
paragraph3
substring"freckled complexion"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"freckles\", expected \"glasses\""
23
parsed
entry"4414"
detail"nervousHabit"
explanation"The text describes Eva’s nervous habit as “tucking hair behind her left ear,” matching the codex."
paragraph3
substring"left ear"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"nervousHabit\", expected \"glasses\""
24
parsed
entry"4414"
detail"description"
explanation"The text correctly establishes Eva as an “occult researcher,” as per the codex."
paragraph3
substring"occult researcher"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"description\", expected \"glasses\""
25
parsed
entry"4414"
detail"backstory"
explanation"The text states Eva holds a master's degree in Ancient History from \"Oxford\", which is accurate as per the codex."
paragraph3
substring"Oxford"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"backstory\", expected \"glasses\""
26
parsed
entry"4415"
detail"hair"
explanation"The text describes Lucien’s hair as “slicked-back platinum blond,” which matches the codex."
paragraph4
substring"slicked-back platinum blond"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"hair\", expected \"cane\""
27
parsed
entry"4415"
detail"height"
explanation"The text states Lucien is 5’11” (5'11\"), matching the codex."
paragraph4
substring"5'11"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"height\", expected \"cane\""
28
parsed
entry"4415"
detail"dress"
explanation"The text accurately describes Lucien as wearing “tailored charcoal suits,” as per the codex."
paragraph4
substring"tailored charcoal suits"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"dress\", expected \"cane\""
29
parsed
entry"4415"
detail"description"
explanation"The text accurately describes Lucien as an “impeccably dressed fixer and information broker,” mirroring the codex."
paragraph4
substring"fixer and information broker"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"description\", expected \"cane\""
30
parsed
entry"4415"
detail"backstory"
explanation"The text correctly states Lucien was born in \"Marseille,\" as per the codex."
paragraph4
substring"Marseille"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"backstory\", expected \"cane\""
31
parsed
entry"4415"
detail"backstory"
explanation"The text states Lucien’s father was a “demon father from the realm of Avaros,” aligning with the codex."
paragraph4
substring"demon father"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"backstory\", expected \"cane\""
32
parsed
entry"4416"
detail"eyeColor"
explanation"The text states Quinn’s eye color is “brown,” which matches the codex."
paragraph5
substring"brown"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4416\", expected \"4424\""
33
parsed
entry"4416"
detail"hair"
explanation"The text describes Quinn’s hair as “closely cropped salt-and-pepper,” aligning with the codex."
paragraph5
substring"closely cropped salt-and-pepper"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
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 \"4416\", expected \"4420\""
34
parsed
entry"4416"
detail"height"
explanation"The text states Quinn is 5’9”, matching the codex."
paragraph5
substring"5'9"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
35
parsed
entry"4416"
detail"jawline"
explanation"The text accurately describes Quinn with a “sharp jawline,” matching the codex."
paragraph5
substring"sharp jaw"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
36
parsed
entry"4416"
detail"watch"
explanation"The text states Quinn wears a watch on her “left wrist,” aligning with the codex."
paragraph5
substring"left wrist"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
37
parsed
entry"4416"
detail"bearing"
explanation"The text describes Quinn as having “military precision,” matching the codex."
paragraph5
substring"military precision"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
38
parsed
entry"4416"
detail"backstory"
explanation"The text mentions Quinn lost her partner, DS Morris, during a case, which aligns with the codex. The codex also notes the case had supernatural origins."
paragraph5
substring"DS Morris"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
39
parsed
entry"4417"
detail"eyeColor"
explanation"The text states Tomás’ eye color is “warm brown,” matching the codex."
paragraph6
substring"warm brown"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"eyeColor\", expected \"scar\""
40
parsed
entry"4417"
detail"hair"
explanation"The text correctly describes Tomás’ hair as “short curly dark brown,” aligning with the codex."
paragraph6
substring"short curly dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"hair\", expected \"scar\""
41
parsed
entry"4417"
detail"height"
explanation"The text states Tomás is 5’10”, matching the codex."
paragraph6
substring"5'10"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"height\", expected \"scar\""
42
parsed
entry"4417"
detail"skinTone"
explanation"The text describes Tomás’ skin as “olive skin,” aligning with the codex."
paragraph6
substring"olive skin"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"skinTone\", expected \"scar\""
43
parsed
entry"4417"
detail"medallion"
explanation"The text correctly describes Tomás wearing a “Saint Christopher medallion,” as per the codex."
paragraph6
substring"Saint Christopher medallion"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"medallion\", expected \"scar\""
44
parsed
entry"4417"
detail"description"
explanation"The text describes Tomás as a “former paramedic,” which is accurate as per the codex."
paragraph6
substring"former paramedic"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"description\", expected \"scar\""
45
parsed
entry"4417"
detail"backstory"
explanation"The text states Tomás lost his license after administering unauthorized treatments to “supernatural patients” for the NHS, which aligns with the codex."
paragraph6
substring"NHS"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"backstory\", expected \"scar\""
46
parsed
entry"4418"
detail"height"
explanation"The text states Nyx’s height is “approximately 6'2\" in solid form,” aligning with the codex."
paragraph7
substring"approximately 6'2" 6/2/2001, 12:00:00 AM
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"height\", expected \"eyeColor\""
47
parsed
entry"4418"
detail"age"
explanation"The text states Nyx is \"ageless\", aligning with the codex."
paragraph7
substring"ageless"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"age\", expected \"eyeColor\""
48
parsed
entry"4418"
detail"form"
explanation"The text describes Nyx’s form as a “humanoid silhouette of living shadow,” which matches the codex."
paragraph7
substring"humanoid silhouette"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"form\", expected \"eyeColor\""
49
parsed
entry"4418"
detail"voice"
explanation"The text accurately describes Nyx's voice as “sounds like a whisper carried on the wind,” aligning with the codex."
paragraph7
substring"whisper carried on the wind"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"voice\", expected \"eyeColor\""
50
parsed
entry"4418"
detail"description"
explanation"The text accurately describes Nyx as a “being of living shadow,” mirroring the codex."
paragraph7
substring"being of living shadow"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"description\", expected \"eyeColor\""
51
parsed
entry"4418"
detail"backstory"
explanation"The text correctly states Nyx was once a human sorcerer named \"Aldric” who became trapped between realms, matching the codex."
paragraph7
substring"Aldric"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"backstory\", expected \"eyeColor\""
52
parsed
entry"4419"
detail"hair"
explanation"The text correctly describes Maggie’s hair as “silver-white, worn in a neat bun,” aligning with the codex."
paragraph8
substring"silver-white, worn in a neat bun"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"hair\", expected \"walkingStick\""
53
parsed
entry"4419"
detail"height"
explanation"The text states Maggie is 5’2”, matching the codex."
paragraph8
substring"5'2"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"height\", expected \"walkingStick\""
54
parsed
entry"4419"
detail"glasses"
explanation"The text accurately describes Maggie as wearing “wire-rimmed spectacles,” matching the codex."
paragraph8
substring"wire-rimmed spectacles"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"glasses\", expected \"walkingStick\""
55
parsed
entry"4419"
detail"build"
explanation"The text describes Maggie’s build as “slight, frail appearance but fierce wit,” which matches the codex."
paragraph8
substring"slight, frail appearance"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"build\", expected \"walkingStick\""
56
parsed
entry"4419"
detail"description"
explanation"The text correctly states Maggie’s profession as “retired librarian,” as per the codex."
paragraph8
substring"retired librarian"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"description\", expected \"walkingStick\""
57
parsed
entry"4419"
detail"backstory"
explanation"The text states Maggie retired from \"the Bodleian Library in Oxford,\" accurately reflecting the codex."
paragraph8
substring"Bodleian Library"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"backstory\", expected \"walkingStick\""
58
parsed
entry"4419"
detail"backstory"
explanation"The text describes Maggie’s late husband as a \"Warden,\" which aligns with the codex."
paragraph8
substring"widower"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"backstory\", expected \"walkingStick\""
59
parsed
entry"4420"
detail"eyeColor"
explanation"The text states Kai’s eye color is “dark brown,” matching the codex."
paragraph9
substring"dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"eyeColor\", expected \"hair\""
60
parsed
entry"4420"
detail"height"
explanation"The text states Kai is 5’7”, matching the codex."
paragraph9
substring"5'7"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"height\", expected \"hair\""
61
parsed
entry"4420"
detail"headphones"
explanation"The text correctly describes Kai as wearing “noise-cancelling headphones,” as per the codex."
paragraph9
substring"noise-cancelling headphones"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"headphones\", expected \"hair\""
62
parsed
entry"4420"
detail"wristTattoo"
explanation"The text accurately describes Kai’s wrist tattoo as “a small circuit board tattoo,” as per the codex."
paragraph9
substring"circuit board tattoo"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"wristTattoo\", expected \"hair\""
63
parsed
entry"4420"
detail"build"
explanation"The text describes Kai's build as “lean,” aligning with the codex description."
paragraph9
substring"lean"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"build\", expected \"hair\""
64
parsed
entry"4420"
detail"description"
explanation"The text accurately describes Kai as a “Japanese-British self-taught tech prodigy,” mirroring the codex."
paragraph9
substring"tech prodigy"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"description\", expected \"hair\""
65
parsed
entry"4420"
detail"backstory"
explanation"The text states Kai dropped out of “Imperial College London,” reflecting the codex's information."
paragraph9
substring"Imperial College London"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
66
parsed
entry"4420"
detail"backstory"
explanation"The text states he lives in a “converted shipping container in Hackney Wick,” accurately described by the codex."
paragraph9
substring"Hackney Wick"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
67
parsed
entry"4421"
detail"eyeColor"
explanation"The text states Yasmin's eye color is “amber,” aligning with the codex."
paragraph10
substring"amber"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"eyeColor\", expected \"tattoo\""
68
parsed
entry"4421"
detail"hair"
explanation"The text accurately describes Yasmin’s hair as “long wavy dark,” echoing the codex’s description."
paragraph10
substring"long wavy dark"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"hair\", expected \"tattoo\""
69
parsed
entry"4421"
detail"height"
explanation"The text states Yasmin is 5’8”, matching the codex."
paragraph10
substring"5'8"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"height\", expected \"tattoo\""
70
parsed
entry"4421"
detail"skinTone"
explanation"The text correctly describes Yasmin's skin as “bronze skin,” aligning with the codex."
paragraph10
substring"bronze skin"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"skinTone\", expected \"tattoo\""
71
parsed
entry"4421"
detail"scent"
explanation"The text correctly describes Yasmin’s scent as “faintly of sandalwood and burnt sage,” accurately as per the codex."
paragraph10
substring"sandalwood and burnt sage"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"scent\", expected \"tattoo\""
72
parsed
entry"4421"
detail"description"
explanation"The text accurately describes Yasmin as an \"alchemist,\" matching the codex."
paragraph10
substring"alchemist"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"description\", expected \"tattoo\""
73
parsed
entry"4421"
detail"backstory"
explanation"The text correctly states Yasmin is descended from a line of “Djinn-touched humans from Marrakech,” precisely as described in the codex."
paragraph10
substring"Marrakech"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"backstory\", expected \"tattoo\""
74
parsed
entry"4421"
detail"backstory"
explanation"The text states Yasmin was trained \"by her grandmother,\" accurate per the codex."
paragraph10
substring"grandmother"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"backstory\", expected \"tattoo\""
75
parsed
entry"4422"
detail"hair"
explanation"The text accurately describes Father Cormac’s hair as “thinning ginger,” mirroring the codex."
paragraph11
substring"thinning ginger"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"hair\", expected \"eyeColor\""
76
parsed
entry"4422"
detail"height"
explanation"The text states Father Cormac is 5’8”, matching the codex."
paragraph11
substring"5'8"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"height\", expected \"eyeColor\""
77
parsed
entry"4422"
detail"complexion"
explanation"The text describes Father Cormac’s complexion as \"ruddy,\" aligning with the codex."
paragraph11
substring"ruddy"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"complexion\", expected \"eyeColor\""
78
parsed
entry"4422"
detail"collar"
explanation"The text correctly describes Father Cormac as wearing “clerical collar,” matching the codex."
paragraph11
substring"clerical collar"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"collar\", expected \"eyeColor\""
79
parsed
entry"4422"
detail"description"
explanation"The text accurately describes Father Cormac as “a retired librarian turned unofficial consultant,” mirroring the codex."
paragraph11
substring"retired librarian"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"description\", expected \"eyeColor\""
80
parsed
entry"4422"
detail"backstory"
explanation"The text accurately states that Father Cormac witnessed a demonic incursion at his seminary in Prague, which the codex also notes as a covered-up event."
paragraph11
substring"Prague"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"backstory\", expected \"eyeColor\""
81
parsed
entry"4423"
detail"eyeColor"
explanation"The text states Zhou's eye color is “dark brown,” matching the codex."
paragraph12
substring"dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"eyeColor\", expected \"tattoo\""
82
parsed
entry"4423"
detail"hair"
explanation"The text accurately describes Zhou’s hair as “shaved head,” as outlined in the codex."
paragraph12
substring"shaved head"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"hair\", expected \"tattoo\""
83
parsed
entry"4423"
detail"height"
explanation"The text states Zhou is 5’9”, matching the codex."
paragraph12
substring"5'9"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"height\", expected \"tattoo\""
84
parsed
entry"4423"
detail"build"
explanation"The text correctly describes Zhou’s build as \"muscular,\" aligning with the codex."
paragraph12
substring"muscular"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"build\", expected \"tattoo\""
85
parsed
entry"4423"
detail"missingFinger"
explanation"The text correctly notes Zhou has a “missing the tip of his left little finger,” aligning with the codex."
paragraph12
substring"left little finger"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"missingFinger\", expected \"tattoo\""
86
parsed
entry"4423"
detail"description"
explanation"The text accurately describes Zhou as a “former Triad enforcer,” mirroring the codex."
paragraph12
substring"former Triad enforcer"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"description\", expected \"tattoo\""
87
parsed
entry"4423"
detail"backstory"
explanation"The text states Zhou retired after a near-death experience involving a Hel portal in Hong Kong, as noted in the codex."
paragraph12
substring"Hong Kong"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"backstory\", expected \"tattoo\""
88
parsed
entry"4423"
detail"business"
explanation"The text correctly indicates Zhou runs “Zhou’s Golden Dragon,” as per the codex."
paragraph12
substring"Golden Dragon"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"business\", expected \"tattoo\""
12.75% Precision
True positives: 13/102
totalReported102
truePositives13
reportedDetails
0
parsed
entry"4412"
detail"species"
explanation"The text describes Aurora Carter as a Half-Demon, but the codex states she is Human."
paragraph1
substring"Human"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
1
parsed
entry"4412"
detail"eyeColor"
explanation"The text states Aurora's eye color is “bright blue,” but the codex states she has “bright blue” eyes."
paragraph1
substring"bright blue"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4412\", expected \"4424\""
2
parsed
entry"4412"
detail"hair"
explanation"The text describes Aurora's hair as “straight shoulder-length black,” but the codex states her hair is “straight shoulder-length black"
paragraph1
substring"black"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
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\""
3
parsed
entry"4412"
detail"scar"
explanation"The text describes a crescent-shaped scar on her “left wrist,” but the codex states the scar 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 codex, but the passage says right forearm."
reason"entry mismatch: got \"4412\", expected \"4417\""
4
parsed
entry"4412"
detail"description"
explanation"The text describes Aurora as “cool-headed, intelligent,” but the codex states she is “cool-headed, intelligent, and known for quick out-of-the-box thinking."
paragraph1
substring"cool-headed, intelligent"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
5
parsed
entry"4412"
detail"backstory"
explanation"The text states Aurora's father is an “Irish barrister,” but the codex states he is an “Irish barrister father.”"
paragraph1
substring"Irish barrister father"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
6
parsed
entry"4412"
detail"backstory"
explanation"The text states Aurora's mother is a “Welsh teacher,” but the codex states she is a “Welsh teacher mother (née Ellis).”"
paragraph1
substring"Welsh teacher mother"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
7
parsed
entry"4412"
detail"backstory"
explanation"The text states Rory studies at \"Cardiff University,\" but the codex states she studied at \"Cardiff University\"."
paragraph1
substring"cardiff university"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
8
parsed
entry"4412"
detail"backstory"
explanation"The text states that Aurora “fled to London at the behest of her childhood friend Eva”, subtly indicating that Eva is directing her to London. However, the codex states she “fled to London… after leaving an abusive ex named Evan.”"
paragraph1
substring"left"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
9
parsed
entry"4413"
detail"eyeColor"
explanation"The text states Silas’ eye color is “hazel,” but the codex states his eye color is “hazel."
paragraph2
substring"hazel"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4413\", expected \"4424\""
10
parsed
entry"4413"
detail"hair"
explanation"The text describes Silas’ hair as \"grey-streaked auburn\" which matches the codex."
paragraph2
substring"grey-streaked auburn"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
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 \"4413\", expected \"4420\""
11
parsed
entry"4413"
detail"height"
explanation"The text states Silas is 6'1\" (68 inches) which matches the codex."
paragraph2
substring"6'1"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
12
parsed
entry"4413"
detail"age"
explanation"The text states Silas is 58 years old which matches the codex."
paragraph2
substring"58"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
13
parsed
entry"4413"
detail"beard"
explanation"The text describes Silas’ beard as “neatly trimmed, matching his grey-streaked auburn hair,” which aligns with the codex."
paragraph2
substring"neatly trimmed"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
14
parsed
entry"4413"
detail"limp"
explanation"The text mentions a “slight limp in his left leg,” matching the codex description."
paragraph2
substring"left leg"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
15
parsed
entry"4413"
detail"signetRing"
explanation"The text states Silas wears his signet ring “on his right hand”, matching the codex description."
paragraph2
substring"right hand"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
16
parsed
entry"4413"
detail"description"
explanation"The text describes Silas as having “quiet authority,” which aligns with the codex description."
paragraph2
substring"quiet authority"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
17
parsed
entry"4413"
detail"backstory"
explanation"The text states Silas’ injury resulted from a botched operation in Prague, aligning with the codex."
paragraph2
substring"Prague"
status"false_positive"
location
extractedText"[not found in paragraph 2]"
inBoundstrue
expectedText""
locationAccuratefalse
18
parsed
entry"4414"
detail"eyeColor"
explanation"The text states Eva’s eye color is “green,” but the codex states she has “green” eyes."
paragraph3
substring"green"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"eyeColor\", expected \"glasses\""
19
parsed
entry"4414"
detail"hair"
explanation"The text describes Eva’s hair as “curly red,” which matches the codex."
paragraph3
substring"curly red"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"hair\", expected \"glasses\""
20
parsed
entry"4414"
detail"height"
explanation"The text states Eva is 5'4\", matching the codex."
paragraph3
substring"5'4"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"height\", expected \"glasses\""
21
parsed
entry"4414"
detail"glasses"
explanation"The text accurately describes Eva as wearing “round glasses,” as per the codex."
paragraph3
substring"round glasses"
status"true_positive"
matchedExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
22
parsed
entry"4414"
detail"satchel"
explanation"The text describes Eva’s satchel as “worn leather satchel,” matching the codex description."
paragraph3
substring"worn leather satchel"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"satchel\", expected \"glasses\""
23
parsed
entry"4414"
detail"freckles"
explanation"The text accurately states Eva has a “freckled complexion,” aligning with the codex."
paragraph3
substring"freckled complexion"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"freckles\", expected \"glasses\""
24
parsed
entry"4414"
detail"nervousHabit"
explanation"The text describes Eva’s nervous habit as “tucking hair behind her left ear,” matching the codex."
paragraph3
substring"left ear"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"nervousHabit\", expected \"glasses\""
25
parsed
entry"4414"
detail"description"
explanation"The text correctly establishes Eva as an “occult researcher,” as per the codex."
paragraph3
substring"occult researcher"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"description\", expected \"glasses\""
26
parsed
entry"4414"
detail"backstory"
explanation"The text states Eva holds a master's degree in Ancient History from \"Oxford\", which is accurate as per the codex."
paragraph3
substring"Oxford"
status"false_positive"
location
extractedText"[not found in paragraph 3]"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratefalse
closestExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
reason"detail mismatch: got \"backstory\", expected \"glasses\""
27
parsed
entry"4415"
detail"eyeColor"
explanation"The text states Lucien has “heterochromatic — one amber, one black” eyes, matching the codex."
paragraph4
substring"heterochromatic"
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]"
inBoundstrue
expectedText"Both his amber eyes were fixed"
locationAccuratefalse
28
parsed
entry"4415"
detail"hair"
explanation"The text describes Lucien’s hair as “slicked-back platinum blond,” which matches the codex."
paragraph4
substring"slicked-back platinum blond"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"hair\", expected \"cane\""
29
parsed
entry"4415"
detail"height"
explanation"The text states Lucien is 5’11” (5'11\"), matching the codex."
paragraph4
substring"5'11"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"height\", expected \"cane\""
30
parsed
entry"4415"
detail"cane"
explanation"The text describes Lucien’s cane as “ivory-handled cane,” aligning with the codex."
paragraph4
substring"ivory-handled 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]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
31
parsed
entry"4415"
detail"dress"
explanation"The text accurately describes Lucien as wearing “tailored charcoal suits,” as per the codex."
paragraph4
substring"tailored charcoal suits"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"dress\", expected \"cane\""
32
parsed
entry"4415"
detail"description"
explanation"The text accurately describes Lucien as an “impeccably dressed fixer and information broker,” mirroring the codex."
paragraph4
substring"fixer and information broker"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"description\", expected \"cane\""
33
parsed
entry"4415"
detail"backstory"
explanation"The text correctly states Lucien was born in \"Marseille,\" as per the codex."
paragraph4
substring"Marseille"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"backstory\", expected \"cane\""
34
parsed
entry"4415"
detail"backstory"
explanation"The text states Lucien’s father was a “demon father from the realm of Avaros,” aligning with the codex."
paragraph4
substring"demon father"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
closestExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
reason"detail mismatch: got \"backstory\", expected \"cane\""
35
parsed
entry"4416"
detail"eyeColor"
explanation"The text states Quinn’s eye color is “brown,” which matches the codex."
paragraph5
substring"brown"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4416\", expected \"4424\""
36
parsed
entry"4416"
detail"hair"
explanation"The text describes Quinn’s hair as “closely cropped salt-and-pepper,” aligning with the codex."
paragraph5
substring"closely cropped salt-and-pepper"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
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 \"4416\", expected \"4420\""
37
parsed
entry"4416"
detail"height"
explanation"The text states Quinn is 5’9”, matching the codex."
paragraph5
substring"5'9"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
38
parsed
entry"4416"
detail"jawline"
explanation"The text accurately describes Quinn with a “sharp jawline,” matching the codex."
paragraph5
substring"sharp jaw"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
39
parsed
entry"4416"
detail"watch"
explanation"The text states Quinn wears a watch on her “left wrist,” aligning with the codex."
paragraph5
substring"left wrist"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
40
parsed
entry"4416"
detail"bearing"
explanation"The text describes Quinn as having “military precision,” matching the codex."
paragraph5
substring"military precision"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
41
parsed
entry"4416"
detail"backstory"
explanation"The text mentions Quinn lost her partner, DS Morris, during a case, which aligns with the codex. The codex also notes the case had supernatural origins."
paragraph5
substring"DS Morris"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText""
locationAccuratefalse
42
parsed
entry"4417"
detail"eyeColor"
explanation"The text states Tomás’ eye color is “warm brown,” matching the codex."
paragraph6
substring"warm brown"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"eyeColor\", expected \"scar\""
43
parsed
entry"4417"
detail"hair"
explanation"The text correctly describes Tomás’ hair as “short curly dark brown,” aligning with the codex."
paragraph6
substring"short curly dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"hair\", expected \"scar\""
44
parsed
entry"4417"
detail"height"
explanation"The text states Tomás is 5’10”, matching the codex."
paragraph6
substring"5'10"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"height\", expected \"scar\""
45
parsed
entry"4417"
detail"skinTone"
explanation"The text describes Tomás’ skin as “olive skin,” aligning with the codex."
paragraph6
substring"olive skin"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"skinTone\", expected \"scar\""
46
parsed
entry"4417"
detail"scar"
explanation"The text states Tomás has a scar on his “left forearm,” which matches the codex."
paragraph6
substring"left 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"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
47
parsed
entry"4417"
detail"medallion"
explanation"The text correctly describes Tomás wearing a “Saint Christopher medallion,” as per the codex."
paragraph6
substring"Saint Christopher medallion"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"medallion\", expected \"scar\""
48
parsed
entry"4417"
detail"birthplace"
explanation"The text correctly states Tomás was born in \"Seville, Spain,” aligning with the codex."
paragraph6
substring"Seville, Spain"
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"[not found in paragraph 6]"
inBoundstrue
expectedText"His Madrid accent"
locationAccuratefalse
49
parsed
entry"4417"
detail"description"
explanation"The text describes Tomás as a “former paramedic,” which is accurate as per the codex."
paragraph6
substring"former paramedic"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"description\", expected \"scar\""
50
parsed
entry"4417"
detail"backstory"
explanation"The text states Tomás lost his license after administering unauthorized treatments to “supernatural patients” for the NHS, which aligns with the codex."
paragraph6
substring"NHS"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"backstory\", expected \"scar\""
51
parsed
entry"4418"
detail"eyeColor"
explanation"The text states Nyx’s eye color is “faintly glowing violet,” matching the codex."
paragraph7
substring"faintly glowing violet"
status"true_positive"
matchedExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
52
parsed
entry"4418"
detail"height"
explanation"The text states Nyx’s height is “approximately 6'2\" in solid form,” aligning with the codex."
paragraph7
substring"approximately 6'2" 6/2/2001, 12:00:00 AM
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"height\", expected \"eyeColor\""
53
parsed
entry"4418"
detail"age"
explanation"The text states Nyx is \"ageless\", aligning with the codex."
paragraph7
substring"ageless"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"age\", expected \"eyeColor\""
54
parsed
entry"4418"
detail"form"
explanation"The text describes Nyx’s form as a “humanoid silhouette of living shadow,” which matches the codex."
paragraph7
substring"humanoid silhouette"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"form\", expected \"eyeColor\""
55
parsed
entry"4418"
detail"voice"
explanation"The text accurately describes Nyx's voice as “sounds like a whisper carried on the wind,” aligning with the codex."
paragraph7
substring"whisper carried on the wind"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"voice\", expected \"eyeColor\""
56
parsed
entry"4418"
detail"description"
explanation"The text accurately describes Nyx as a “being of living shadow,” mirroring the codex."
paragraph7
substring"being of living shadow"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"description\", expected \"eyeColor\""
57
parsed
entry"4418"
detail"backstory"
explanation"The text correctly states Nyx was once a human sorcerer named \"Aldric” who became trapped between realms, matching the codex."
paragraph7
substring"Aldric"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"backstory\", expected \"eyeColor\""
58
parsed
entry"4419"
detail"eyeColor"
explanation"The text states Maggie’s eye color is “sharp grey,” which aligns with the codex."
paragraph8
substring"sharp grey"
status"true_positive"
matchedExpected
entry"4419"
detail"eyeColor"
summary"Maggie has grey eyes per codex, but the passage says green."
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"Her keen green eyes"
locationAccuratefalse
59
parsed
entry"4419"
detail"hair"
explanation"The text correctly describes Maggie’s hair as “silver-white, worn in a neat bun,” aligning with the codex."
paragraph8
substring"silver-white, worn in a neat bun"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"hair\", expected \"walkingStick\""
60
parsed
entry"4419"
detail"height"
explanation"The text states Maggie is 5’2”, matching the codex."
paragraph8
substring"5'2"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"height\", expected \"walkingStick\""
61
parsed
entry"4419"
detail"glasses"
explanation"The text accurately describes Maggie as wearing “wire-rimmed spectacles,” matching the codex."
paragraph8
substring"wire-rimmed spectacles"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"glasses\", expected \"walkingStick\""
62
parsed
entry"4419"
detail"walkingStick"
explanation"The text correctly describes Maggie’s walking stick as “blackthorn walking stick,” aligning with the codex."
paragraph8
substring"blackthorn 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"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
63
parsed
entry"4419"
detail"build"
explanation"The text describes Maggie’s build as “slight, frail appearance but fierce wit,” which matches the codex."
paragraph8
substring"slight, frail appearance"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"build\", expected \"walkingStick\""
64
parsed
entry"4419"
detail"description"
explanation"The text correctly states Maggie’s profession as “retired librarian,” as per the codex."
paragraph8
substring"retired librarian"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"description\", expected \"walkingStick\""
65
parsed
entry"4419"
detail"backstory"
explanation"The text states Maggie retired from \"the Bodleian Library in Oxford,\" accurately reflecting the codex."
paragraph8
substring"Bodleian Library"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"backstory\", expected \"walkingStick\""
66
parsed
entry"4419"
detail"backstory"
explanation"The text describes Maggie’s late husband as a \"Warden,\" which aligns with the codex."
paragraph8
substring"widower"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"backstory\", expected \"walkingStick\""
67
parsed
entry"4420"
detail"eyeColor"
explanation"The text states Kai’s eye color is “dark brown,” matching the codex."
paragraph9
substring"dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"eyeColor\", expected \"hair\""
68
parsed
entry"4420"
detail"hair"
explanation"The text accurately describes Kai’s hair as “dyed electric-blue in an undercut,” aligning with the codex."
paragraph9
substring"dyed electric-blue"
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 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
69
parsed
entry"4420"
detail"height"
explanation"The text states Kai is 5’7”, matching the codex."
paragraph9
substring"5'7"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"height\", expected \"hair\""
70
parsed
entry"4420"
detail"headphones"
explanation"The text correctly describes Kai as wearing “noise-cancelling headphones,” as per the codex."
paragraph9
substring"noise-cancelling headphones"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"headphones\", expected \"hair\""
71
parsed
entry"4420"
detail"wristTattoo"
explanation"The text accurately describes Kai’s wrist tattoo as “a small circuit board tattoo,” as per the codex."
paragraph9
substring"circuit board tattoo"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"wristTattoo\", expected \"hair\""
72
parsed
entry"4420"
detail"build"
explanation"The text describes Kai's build as “lean,” aligning with the codex description."
paragraph9
substring"lean"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"build\", expected \"hair\""
73
parsed
entry"4420"
detail"description"
explanation"The text accurately describes Kai as a “Japanese-British self-taught tech prodigy,” mirroring the codex."
paragraph9
substring"tech prodigy"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"description\", expected \"hair\""
74
parsed
entry"4420"
detail"backstory"
explanation"The text states Kai dropped out of “Imperial College London,” reflecting the codex's information."
paragraph9
substring"Imperial College London"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
75
parsed
entry"4420"
detail"backstory"
explanation"The text states he lives in a “converted shipping container in Hackney Wick,” accurately described by the codex."
paragraph9
substring"Hackney Wick"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"backstory\", expected \"hair\""
76
parsed
entry"4421"
detail"eyeColor"
explanation"The text states Yasmin's eye color is “amber,” aligning with the codex."
paragraph10
substring"amber"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"eyeColor\", expected \"tattoo\""
77
parsed
entry"4421"
detail"hair"
explanation"The text accurately describes Yasmin’s hair as “long wavy dark,” echoing the codex’s description."
paragraph10
substring"long wavy dark"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"hair\", expected \"tattoo\""
78
parsed
entry"4421"
detail"height"
explanation"The text states Yasmin is 5’8”, matching the codex."
paragraph10
substring"5'8"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"height\", expected \"tattoo\""
79
parsed
entry"4421"
detail"skinTone"
explanation"The text correctly describes Yasmin's skin as “bronze skin,” aligning with the codex."
paragraph10
substring"bronze skin"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"skinTone\", expected \"tattoo\""
80
parsed
entry"4421"
detail"tattoo"
explanation"The text accurately describes Yasmin’s tattoo as “a flame serpent tattoo coiling up her left arm,” mirroring the codex."
paragraph10
substring"flame serpent tattoo"
status"true_positive"
matchedExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
81
parsed
entry"4421"
detail"scent"
explanation"The text correctly describes Yasmin’s scent as “faintly of sandalwood and burnt sage,” accurately as per the codex."
paragraph10
substring"sandalwood and burnt sage"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"scent\", expected \"tattoo\""
82
parsed
entry"4421"
detail"description"
explanation"The text accurately describes Yasmin as an \"alchemist,\" matching the codex."
paragraph10
substring"alchemist"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"description\", expected \"tattoo\""
83
parsed
entry"4421"
detail"backstory"
explanation"The text correctly states Yasmin is descended from a line of “Djinn-touched humans from Marrakech,” precisely as described in the codex."
paragraph10
substring"Marrakech"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"backstory\", expected \"tattoo\""
84
parsed
entry"4421"
detail"backstory"
explanation"The text states Yasmin was trained \"by her grandmother,\" accurate per the codex."
paragraph10
substring"grandmother"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"backstory\", expected \"tattoo\""
85
parsed
entry"4422"
detail"eyeColor"
explanation"The text states Father Cormac’s eye color is “pale blue,” matching the codex."
paragraph11
substring"pale blue"
status"true_positive"
matchedExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
86
parsed
entry"4422"
detail"hair"
explanation"The text accurately describes Father Cormac’s hair as “thinning ginger,” mirroring the codex."
paragraph11
substring"thinning ginger"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"hair\", expected \"eyeColor\""
87
parsed
entry"4422"
detail"height"
explanation"The text states Father Cormac is 5’8”, matching the codex."
paragraph11
substring"5'8"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"height\", expected \"eyeColor\""
88
parsed
entry"4422"
detail"complexion"
explanation"The text describes Father Cormac’s complexion as \"ruddy,\" aligning with the codex."
paragraph11
substring"ruddy"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"complexion\", expected \"eyeColor\""
89
parsed
entry"4422"
detail"rosary"
explanation"The text accurately describes Father Cormac’s rosary as “made of rowan wood beads,” as stated in the codex."
paragraph11
substring"rowan wood beads"
status"true_positive"
matchedExpected
entry"4422"
detail"rosary"
summary"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his cedar rosary beads"
locationAccuratefalse
90
parsed
entry"4422"
detail"collar"
explanation"The text correctly describes Father Cormac as wearing “clerical collar,” matching the codex."
paragraph11
substring"clerical collar"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"collar\", expected \"eyeColor\""
91
parsed
entry"4422"
detail"description"
explanation"The text accurately describes Father Cormac as “a retired librarian turned unofficial consultant,” mirroring the codex."
paragraph11
substring"retired librarian"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"description\", expected \"eyeColor\""
92
parsed
entry"4422"
detail"backstory"
explanation"The text accurately states that Father Cormac witnessed a demonic incursion at his seminary in Prague, which the codex also notes as a covered-up event."
paragraph11
substring"Prague"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"backstory\", expected \"eyeColor\""
93
parsed
entry"4423"
detail"eyeColor"
explanation"The text states Zhou's eye color is “dark brown,” matching the codex."
paragraph12
substring"dark brown"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"eyeColor\", expected \"tattoo\""
94
parsed
entry"4423"
detail"hair"
explanation"The text accurately describes Zhou’s hair as “shaved head,” as outlined in the codex."
paragraph12
substring"shaved head"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"hair\", expected \"tattoo\""
95
parsed
entry"4423"
detail"height"
explanation"The text states Zhou is 5’9”, matching the codex."
paragraph12
substring"5'9"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"height\", expected \"tattoo\""
96
parsed
entry"4423"
detail"build"
explanation"The text correctly describes Zhou’s build as \"muscular,\" aligning with the codex."
paragraph12
substring"muscular"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"build\", expected \"tattoo\""
97
parsed
entry"4423"
detail"tattoo"
explanation"The text accurately describes Zhou’s tattoo as “a dragon tattoo covering his entire back,” as depicted in the codex."
paragraph12
substring"dragon tattoo"
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 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
98
parsed
entry"4423"
detail"missingFinger"
explanation"The text correctly notes Zhou has a “missing the tip of his left little finger,” aligning with the codex."
paragraph12
substring"left little finger"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"missingFinger\", expected \"tattoo\""
99
parsed
entry"4423"
detail"description"
explanation"The text accurately describes Zhou as a “former Triad enforcer,” mirroring the codex."
paragraph12
substring"former Triad enforcer"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"description\", expected \"tattoo\""
100
parsed
entry"4423"
detail"backstory"
explanation"The text states Zhou retired after a near-death experience involving a Hel portal in Hong Kong, as noted in the codex."
paragraph12
substring"Hong Kong"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"backstory\", expected \"tattoo\""
101
parsed
entry"4423"
detail"business"
explanation"The text correctly indicates Zhou runs “Zhou’s Golden Dragon,” as per the codex."
paragraph12
substring"Golden Dragon"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"business\", expected \"tattoo\""
100.00% Structural validity
Parsed: 102, Well-formed: 102/102
parsedCount102
wellFormedScore102
37.5817%