Run: 2026-02-17-01KHNFX3NEY0E8SS7QZ0BZA5HF

Run Details

Duration:
8m 22s
Cost:
$0.000000
Provider:
Arcee AI

Evaluation summary

Score Evaluator
Details Link
0.00% Accuracy (recall) (details)
12.92% Precision (details)
100.00% Structural validity (details)
37.6396% 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
<violation entry="4424" detail="eyeColor" paragraph="1" substring="Her pale blue eyes">The codex states Isolde has pale lavender eyes, not pale blue.</violation> <violation entry="4424" detail="hair" paragraph="1" substring="her waist-length silver hair">The codex states Isolde has silver hair reaching her waist, not waist-length silver hair (this is actually consistent, so no violation here).</violation> <violation entry="4424" detail="footprints" paragraph="4" substring="her bare feet leaving clear prints in the soft earth as she paced the circle">The codex states Isolde leaves no footprints when she walks, but the text describes her leaving clear prints.</violation> <violation entry="4424" detail="eyeColor" paragraph="4" substring="Her pale blue eyes, unblinking">The codex states Isolde has pale lavender eyes, not pale blue.</violation> <violation entry="4421" detail="tattoo" paragraph="8" substring="The flame serpent tattoo on her right arm seemed to writhe">The codex states Yasmin has a flame serpent tattoo coiling up her left arm, not right arm.</violation> <violation entry="4423" detail="tattoo" paragraph="9" substring="The edge of the dragon tattoo on his chest was visible">The codex states Wei-Lin has a dragon tattoo covering his entire back, not on his chest.</violation> <violation entry="4420" detail="hair" paragraph="10" substring="his natural black hair falling into his face">The codex states Kai has dyed electric-blue hair in an undercut, not natural black hair.</violation> <violation entry="6006" detail="logo" paragraph="11" substring="Their logo — the sword inside a circle">The codex states Blackthorn's logo is a thorned branch inside a shield, not a sword inside a circle.</violation> <violation entry="6001" detail="foundingYear" paragraph="12" substring="The Wardens were founded in 1066">The codex states the Wardens were founded in 1215, not 1066.</violation> <violation entry="4417" detail="scar" paragraph="14" substring="His scarred right forearm">The codex states Tomás has a scar running along his left forearm, not right forearm.</violation> <violation entry="4417" detail="birthplace" paragraph="14" substring="His Madrid accent thickened">The codex states Tomás was born in Seville, Spain, not Madrid.</violation> <violation entry="4418" detail="eyeColor" paragraph="16" substring="their glowing blue eyes">The codex states Nyx has faintly glowing violet eyes, not blue.</violation> <violation entry="4419" detail="eyeColor" paragraph="18" substring="Her keen green eyes">The codex states Maggie has sharp grey eyes, not green.</violation> <violation entry="4413" detail="eyeColor" paragraph="19" substring="His hazel eyes were grave">This is consistent with the codex, so no violation.</violation> <violation entry="4413" detail="limp" paragraph="19" substring="He rubbed his left knee — the old injury">The codex states Silas has a slight limp in his left leg from an old knee injury, which is consistent.</violation> <violation entry="2006" detail="material" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade is made of moonsilver, but the text doesn't specify the material, so no violation.</violation> <violation entry="4412" detail="hair" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states Aurora has straight shoulder-length black hair, but this isn't mentioned in the text, so no violation.</violation> <violation entry="4412" detail="scar" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states Aurora has a small crescent-shaped scar on her left wrist, but this isn't mentioned in the text, so no violation.</violation> <violation entry="4412" detail="eyeColor" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states Aurora has bright blue eyes, but this isn't mentioned in the text, so no violation.</violation> <violation entry="2001" detail="chainMaterial" paragraph="23" substring="the golden chain tangled in her fingers">The codex states the Heartstone Pendant has a silver chain, not golden.</violation> <violation entry="2001" detail="gemstoneColor" paragraph="23" substring="the crimson stone glowing brighter">The codex states the Heartstone Pendant has a deep crimson gemstone, which is consistent with crimson.</violation> <violation entry="2001" detail="origin" paragraph="24" substring="The Heartstone was forged in Avaros">The codex states the Heartstone Pendant's origin is Dymas, not Avaros.</violation> <violation entry="7002" detail="signedYear" paragraph="6" substring="The Covenant of Separation — the old treaty from 1066">The codex states the Covenant of Separation was signed in 1215, not 1066.</violation> <violation entry="7003" detail="formation" paragraph="17" substring="Three new ones opened near underground water sources">This is consistent with the codex, so no violation.</violation> <violation entry="6005" detail="role" paragraph="9" substring="probably from a supplier, not my shop">The codex states Yu-Fei Cheung's restaurant is a neutral meeting ground for supernatural factions, but this isn't contradicted in the text.</violation> <violation entry="856" detail="currentLocation" paragraph="9" substring="The market's moved to an abandoned station under Shoreditch">The codex states the Veil Market is currently in an abandoned Tube station beneath Camden, not Shoreditch.</violation> <violation entry="7004" detail="freedom" paragraph="14" substring="She managed to destroy her contract document while still in Avaros, which broke the bond">The codex states contracts can only be freed if destroyed within the realm where signed, and since this was signed in Avaros, this is consistent.</violation> <violation entry="7004" detail="sealingMethod" paragraph="14" substring="She'd escaped from a contract signed in Avaros">The codex states contracts are sealed by blood and recorded in that Prince's domain, but this isn't contradicted in the text.</violation> <violation entry="7005" detail="requirement" paragraph="16" substring="I walked the shadow paths last night">The codex states becoming a Shade requires being caught between realms during a failed summoning or portal collapse, which is consistent with walking shadow paths.</violation> <violation entry="7005" detail="physicalLoss" paragraph="16" substring="I walked the shadow paths last night">The codex states the transformation strips the subject of their physical body permanently, which is consistent with being a being of living shadow.</violation> <violation entry="7005" detail="lostSenses" paragraph="16" substring="I walked the shadow paths last night">The codex states Shades lose ability to taste, smell, or feel physical sensations, which is consistent with being a being of living shadow.</violation> <violation entry="7005" detail="reversibility" paragraph="16" substring="I walked the shadow paths last night">The codex states the transformation is irreversible, which is consistent with Nyx being a permanent Shade.</violation> <violation entry="4416" detail="eyeColor" paragraph="6" substring="his dark brown eyes troubled">The codex states Detective Quinn has brown eyes, but this describes Father Cormac, who has pale blue eyes according to the codex.</violation> <violation entry="4422" detail="eyeColor" paragraph="6" substring="his dark brown eyes troubled">The codex states Father Cormac has pale blue eyes, not dark brown.</violation> <violation entry="4422" detail="hair" paragraph="6" substring="his thinning ginger hair">The codex states Father Cormac has thinning ginger hair, which is consistent.</violation> <violation entry="4422" detail="rosary" paragraph="6" substring="He gripped his cedar rosary beads tightly">The codex states Father Cormac has a rosary made of rowan wood beads, not cedar.</violation> <violation entry="4422" detail="collar" paragraph="6" substring="He gripped his cedar rosary beads tightly">The codex states Father Cormac wears a clerical collar at all times, but this isn't mentioned in the text.</violation> <violation entry="4415" detail="eyeColor" paragraph="7" substring="Both his amber eyes were fixed">The codex states Lucien has heterochromatic eyes — one amber, one black, not both amber.</violation> <violation entry="4415" detail="hair" paragraph="7" substring="adjusting the cuff of his charcoal suit">The codex states Lucien has slicked-back platinum blond hair, but this isn't mentioned in the text.</violation> <violation entry="4415" detail="cane" paragraph="7" substring="leaning on his mahogany cane">The codex states Lucien has an ivory-handled cane that conceals a thin blade, not mahogany.</violation> <violation entry="4415" detail="dress" paragraph="7" substring="adjusting the cuff of his charcoal suit">The codex states Lucien wears tailored charcoal suits, which is consistent.</violation> <violation entry="4414" detail="hair" paragraph="2" substring="her curly red hair escaping from under a wool hat">The codex states Eva has curly red hair, which is consistent.</violation> <violation entry="4414" detail="glasses" paragraph="2" substring="Her square glasses kept fogging">The codex states Eva wears round glasses, not square.</violation> <violation entry="4414" detail="satchel" paragraph="2" substring="clutching her leather satchel with both hands">The codex states Eva has a worn leather satchel full of books, which is consistent.</violation> <violation entry="4414" detail="nervousHabit" paragraph="2" substring="clutching her leather satchel with both hands">The codex states Eva's nervous habit is tucking hair behind her left ear, not clutching her satchel.</violation> <violation entry="4414" detail="freckles" paragraph="2" substring="her curly red hair escaping from under a wool hat">The codex states Eva has a freckled complexion, but this isn't mentioned in the text.</violation> <violation entry="4412" detail="hair" paragraph="1" substring="Aurora arrived first, the Fae-Forged Blade warm at her hip">The codex states Aurora has straight shoulder-length black hair, but this isn't mentioned in the text.</violation> <violation entry="4412" detail="scar" paragraph="1" substring="Aurora arrived first, the Fae-Forged Blade warm at her hip">The codex states Aurora has a small crescent-shaped scar on her left wrist, but this isn't mentioned in the text.</violation> <violation entry="4412" detail="eyeColor" paragraph="1" substring="Aurora arrived first, the Fae-Forged Blade warm at her hip">The codex states Aurora has bright blue eyes, but this isn't mentioned in the text.</violation> <violation entry="4412" detail="height" paragraph="1" substring="Aurora arrived first, the Fae-Forged Blade warm at her hip">The codex states Aurora is 5'6" tall, but this isn't mentioned in the text.</violation> <violation entry="4412" detail="age" paragraph="1" substring="Aurora arrived first, the Fae-Forged Blade warm at her hip">The codex states Aurora is 25 years old, but this isn't mentioned in the text.</violation> <violation entry="4412" detail="description" paragraph="1" substring="Aurora arrived first, the Fae-Forged Blade warm at her hip">The codex describes Aurora as cool-headed, intelligent, and known for quick out-of-the-box thinking, but this isn't mentioned in the text.</violation> <violation entry="4413" detail="hair" paragraph="19" substring="His hazel eyes were grave">The codex states Silas has grey-streaked auburn hair, but this isn't mentioned in the text.</violation> <violation entry="4413" detail="beard" paragraph="19" substring="His hazel eyes were grave">The codex states Silas has a neatly trimmed beard matching his grey-streaked auburn hair, but this isn't mentioned in the text.</violation> <violation entry="4413" detail="height" paragraph="19" substring="His hazel eyes were grave">The codex states Silas is 6'1" tall, but this isn't mentioned in the text.</violation> <violation entry="4413" detail="age" paragraph="19" substring="His hazel eyes were grave">The codex states Silas is 58 years old, but this isn't mentioned in the text.</violation> <violation entry="4413" detail="signetRing" paragraph="19" substring="His hazel eyes were grave">The codex states Silas wears a silver signet ring on his right hand, but this isn't mentioned in the text.</violation> <violation entry="4413" detail="description" paragraph="19" substring="His hazel eyes were grave">The codex describes Silas as a retired intelligence operative turned bar owner who carries himself with quiet authority, but this isn't mentioned in the text.</violation> <violation entry="4413" detail="backstory" paragraph="19" substring="His hazel eyes were grave">The codex states Silas was a former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury, but this isn't mentioned in the text.</violation> <violation entry="4414" detail="height" paragraph="2" substring="Eva was beside her, clutching her leather satchel with both hands">The codex states Eva is 5'4" tall, but this isn't mentioned in the text.</violation> <violation entry="4414" detail="age" paragraph="2" substring="Eva was beside her, clutching her leather satchel with both hands">The codex states Eva is 26 years old, but this isn't mentioned in the text.</violation> <violation entry="4414" detail="description" paragraph="2" substring="Eva was beside her, clutching her leather satchel with both hands">The codex describes Eva as Aurora's childhood friend and an occult researcher, but this isn't mentioned in the text.</violation> <violation entry="4414" detail="backstory" paragraph="2" substring="Eva was beside her, clutching her leather satchel with both hands">The codex states Eva moved to London two years before Aurora and works as a research assistant at the British Museum's restricted archives, but this isn't mentioned in the text.</violation> <violation entry="4415" detail="height" paragraph="7" substring="Lucien drawled, leaning on his mahogany cane">The codex states Lucien is 5'11" tall, but this isn't mentioned in the text.</violation> <violation entry="4415" detail="age" paragraph="7" substring="Lucien drawled, leaning on his mahogany cane">The codex states Lucien is 32 years old, but this isn't mentioned in the text.</violation> <violation entry="4415" detail="description" paragraph="7" substring="Lucien drawled, leaning on his mahogany cane">The codex describes Lucien as an impeccably dressed fixer and information broker in London's supernatural underworld who speaks four languages fluently, but this isn't mentioned in the text.</violation> <violation entry="4415" detail="backstory" paragraph="7" substring="Lucien drawled, leaning on his mahogany cane">The codex states Lucien was born in Marseille to a human mother and a demon father from the realm of Avaros, but this isn't mentioned in the text.</violation> <violation entry="4416" detail="height" paragraph="6" substring="Father Cormac crossed himself">The codex states Detective Quinn is 5'9" tall, but this describes Father Cormac, who is 5'8" according to the codex.</violation> <violation entry="4416" detail="age" paragraph="6" substring="Father Cormac crossed himself">The codex states Detective Quinn is 41 years old, but this describes Father Cormac, who is 55 according to the codex.</violation> <violation entry="4416" detail="description" paragraph="6" substring="Father Cormac crossed himself">The codex describes Detective Quinn as a Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity, but this isn't mentioned in the text.</violation> <violation entry="4416" detail="backstory" paragraph="6" substring="Father Cormac crossed himself">The codex states Detective Quinn lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand, but this isn't mentioned in the text.</violation> <violation entry="4417" detail="height" paragraph="14" substring="Tomás, who had been quietly checking medical supplies in his bag, looked up">The codex states Tomás is 5'10" tall, but this isn't mentioned in the text.</violation> <violation entry="4417" detail="age" paragraph="14" substring="Tomás, who had been quietly checking medical supplies in his bag, looked up">The codex states Tomás is 29 years old, but this isn't mentioned in the text.</violation> <violation entry="4417" detail="description" paragraph="14" substring="Tomás, who had been quietly checking medical supplies in his bag, looked up">The codex describes Tomás as a former paramedic who provides off-the-books medical care for the clique, but this isn't mentioned in the text.</violation> <violation entry="4417" detail="backstory" paragraph="14" substring="Tomás, who had been quietly checking medical supplies in his bag, looked up">The codex states Tomás was born in Seville, Spain, and moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients, but this isn't mentioned in the text.</violation> <violation entry="4418" detail="height" paragraph="16" substring="Nyx materialized from the shadow of a standing stone">The codex states Nyx is approximately 6'2" in solid form, but this isn't mentioned in the text.</violation> <violation entry="4418" detail="description" paragraph="16" substring="Nyx materialized from the shadow of a standing stone">The codex describes Nyx as a being of living shadow, existing between the mortal plane and the spaces between realms, but this isn't mentioned in the text.</violation> <violation entry="4418" detail="backstory" paragraph="16" substring="Nyx materialized from the shadow of a standing stone">The codex states Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643, but this isn't mentioned in the text.</violation> <violation entry="4419" detail="height" paragraph="18" substring="Maggie rapped her oak walking stick against a stone">The codex states Maggie is 5'2" tall, but this isn't mentioned in the text.</violation> <violation entry="4419" detail="age" paragraph="18" substring="Maggie rapped her oak walking stick against a stone">The codex states Maggie is 72 years old, but this isn't mentioned in the text.</violation> <violation entry="4419" detail="description" paragraph="18" substring="Maggie rapped her oak walking stick against a stone">The codex describes Maggie as a retired librarian turned unofficial consultant for the clique on historical and occult matters, but this isn't mentioned in the text.</violation> <violation entry="4419" detail="backstory" paragraph="18" substring="Maggie rapped her oak walking stick against a stone">The codex states Maggie was former head librarian at the Bodleian Library in Oxford and is a widow whose late husband was a Warden, but this isn't mentioned in the text.</violation> <violation entry="4420" detail="height" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states Kai is 5'7" tall, but this isn't mentioned in the text.</violation> <violation entry="4420" detail="age" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states Kai is 22 years old, but this isn't mentioned in the text.</violation> <violation entry="4420" detail="description" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex describes Kai as a Japanese-British self-taught tech prodigy who provides the clique with surveillance tools and digital forensics, but this isn't mentioned in the text.</violation> <violation entry="4420" detail="backstory" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states Kai dropped out of Imperial College London after his first year and lives in a converted shipping container in Hackney Wick, but this isn't mentioned in the text.</violation> <violation entry="4421" detail="height" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Yasmin is 5'8" tall, but this isn't mentioned in the text.</violation> <violation entry="4421" detail="age" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Yasmin is 34 years old, but this isn't mentioned in the text.</violation> <violation entry="4421" detail="description" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex describes Yasmin as an alchemist who runs a discreet apothecary in Brixton, selling both mundane herbal remedies and supernatural tinctures, but this isn't mentioned in the text.</violation> <violation entry="4421" detail="backstory" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Yasmin is descended from a line of Djinn-touched humans from Marrakech and trained by her grandmother, but this isn't mentioned in the text.</violation> <violation entry="4422" detail="height" paragraph="6" substring="Father Cormac crossed himself">The codex states Father Cormac is 5'8" tall, but this isn't mentioned in the text.</violation> <violation entry="4422" detail="age" paragraph="6" substring="Father Cormac crossed himself">The codex states Father Cormac is 55 years old, but this isn't mentioned in the text.</violation> <violation entry="4422" detail="description" paragraph="6" substring="Father Cormac crossed himself">The codex describes Father Cormac as an Irish Catholic priest assigned to St. Brigid's parish in Islington who secretly assists the clique with blessings and wards, but this isn't mentioned in the text.</violation> <violation entry="4422" detail="backstory" paragraph="6" substring="Father Cormac crossed himself">The codex states Father Cormac witnessed a demonic incursion at his seminary in Cork twenty years ago that the Church covered up, but this isn't mentioned in the text.</violation> <violation entry="4423" detail="height" paragraph="9" substring="Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement">The codex states Wei-Lin is 5'9" tall, but this isn't mentioned in the text.</violation> <violation entry="4423" detail="age" paragraph="9" substring="Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement">The codex states Wei-Lin is 48 years old, but this isn't mentioned in the text.</violation> <violation entry="4423" detail="description" paragraph="9" substring="Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement">The codex describes Wei-Lin as a former Triad enforcer turned noodle shop owner who trades information with Silas, but this isn't mentioned in the text.</violation> <violation entry="4423" detail="backstory" paragraph="9" substring="Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement">The codex states Wei-Lin retired from organized crime after a near-death experience involving a Hel portal in Hong Kong and now runs "Zhou's Golden Dragon" in Chinatown, but this isn't mentioned in the text.</violation> <violation entry="853" detail="ruler" paragraph="4" substring="Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states Dymas is ruled by Prince Belphegor, not Prince Lilith.</violation> <violation entry="854" detail="signColor" paragraph="19" substring="Silas, who had been standing silently at the edge of the grove, spoke at last">The codex states The Raven's Nest has a distinctive green neon sign above the entrance, but this isn't mentioned in the text.</violation> <violation entry="854" detail="secretRoom" paragraph="19" substring="Silas, who had been standing silently at the edge of the grove, spoke at last">The codex states The Raven's Nest has a hidden back room accessible through a bookshelf used for clandestine meetings, but this isn't mentioned in the text.</violation> <violation entry="854" detail="description" paragraph="19" substring="Silas, who had been standing silently at the edge of the grove, spoke at last">The codex describes The Raven's Nest as a dimly lit bar in Soho, London with walls covered with old maps and black-and-white photographs, but this isn't mentioned in the text.</violation> <violation entry="855" detail="ruler" paragraph="7" substring="Mammon breaks it daily in Avaros">The codex states Avaros is ruled by Prince Mammon, which is consistent.</violation> <violation entry="855" detail="skyColor" paragraph="7" substring="Mammon breaks it daily in Avaros">The codex states Avaros has a sickly gold sky, but this isn't mentioned in the text.</violation> <violation entry="855" detail="description" paragraph="7" substring="Mammon breaks it daily in Avaros">The codex describes Avaros as a landscape of towering vaults and endless treasure halls with streets paved with fool's gold and air smelling of copper, but this isn't mentioned in the text.</violation> <violation entry="856" detail="currentLocation" paragraph="9" substring="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">The codex states the Veil Market is currently in an abandoned Tube station beneath Camden, not Shoreditch.</violation> <violation entry="856" detail="entryRequirement" paragraph="9" substring="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">The codex states the Veil Market requires a bone token for entry, but this isn't mentioned in the text.</violation> <violation entry="856" detail="schedule" paragraph="9" substring="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">The codex states the Veil Market moves locations every full moon, but this isn't mentioned in the text.</violation> <violation entry="856" detail="description" paragraph="9" substring="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">The codex describes the Veil Market as a hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information, but this isn't mentioned in the text.</violation> <violation entry="857" detail="ruler" paragraph="7" substring="Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax">The codex states Irath is ruled by Prince Abaddon, but the text doesn't specify who rules Irath in this context.</violation> <violation entry="857" detail="skyColor" paragraph="7" substring="Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax">The codex states Irath has a permanent bruised red sky, but this isn't mentioned in the text.</violation> <violation entry="857" detail="description" paragraph="7" substring="Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax">The codex describes Irath as a volcanic wasteland of perpetual war with rivers of molten rock flowing between obsidian fortresses where damned souls fight in endless gladiatorial combat, but this isn't mentioned in the text.</violation> <violation entry="858" detail="cat" paragraph="2" substring="Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat">The codex states Eva's flat has a tabby cat named Ptolemy, but this isn't mentioned in the text.</violation> <violation entry="858" detail="security" paragraph="2" substring="Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat">The codex states Eva's flat has three deadbolts on the front door, but this isn't mentioned in the text.</violation> <violation entry="858" detail="description" paragraph="2" substring="Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat">The codex describes Eva's flat as a cramped one-bedroom flat above a curry house on Brick Lane, East London with every surface covered with books, scrolls, and research notes, but this isn't mentioned in the text.</violation> <violation entry="859" detail="ruler" paragraph="4" substring="The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states Somnia is ruled by Prince Asmodeus, not Prince Lilith.</violation> <violation entry="859" detail="atmosphere" paragraph="4" substring="The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states Somnia has a faintly sweet, narcotic smell, but this isn't mentioned in the text.</violation> <violation entry="859" detail="description" paragraph="4" substring="The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex describes Somnia as an endless twilight landscape of fog-shrouded meadows and crumbling mansions where inhabitants gradually lose all motivation and ambition, sinking into eternal lethargy, but this isn't mentioned in the text.</violation> <violation entry="860" detail="password" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Yasmin's Apothecary requires "moonrise" as a password for back room access, but this isn't mentioned in the text.</violation> <violation entry="860" detail="frontStock" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Yasmin's Apothecary has herbal teas and aromatherapy oils as front stock, but this isn't mentioned in the text.</violation> <violation entry="860" detail="backStock" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Yasmin's Apothecary has supernatural potions, binding salts, and alchemical reagents as back stock, but this isn't mentioned in the text.</violation> <violation entry="860" detail="description" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex describes Yasmin's Apothecary as a narrow shop on a side street in Brixton with a mundane front and a hidden supernatural back room, but this isn't mentioned in the text.</violation> <violation entry="861" detail="parkLocation" paragraph="1" substring="The Fae Grove in Hyde Park shimmered in the dying October light">The codex states the Fae Grove is in Richmond Park, not Hyde Park.</violation> <violation entry="861" detail="standingStones" paragraph="1" substring="The ancient elm standing stones hummed with a resonance that Isolde felt in her bones">The codex states the Fae Grove has ancient oak standing stones marking the boundary, not elm.</violation> <violation entry="861" detail="timeBehavior" paragraph="1" substring="The Fae Grove in Hyde Park shimmered in the dying October light">The codex states time moves differently in the Fae Grove — an hour inside can be minutes or days outside, but this isn't mentioned in the text.</violation> <violation entry="861" detail="flora" paragraph="1" substring="The Fae Grove in Hyde Park shimmered in the dying October light">The codex states wildflowers bloom year-round in the Fae Grove, but this isn't mentioned in the text.</violation> <violation entry="861" detail="description" paragraph="1" substring="The Fae Grove in Hyde Park shimmered in the dying October light">The codex describes the Fae Grove as a hidden clearing that exists in a pocket between Earth and the Fae realm, but this isn't mentioned in the text.</violation> <violation entry="862" detail="ruler" paragraph="4" substring="Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states Luxuria is ruled by Prince Lilith, which is consistent.</violation> <violation entry="862" detail="skyColor" paragraph="4" substring="Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states Luxuria has a deep twilight purple sky, but this isn't mentioned in the text.</violation> <violation entry="862" detail="description" paragraph="4" substring="Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex describes Luxuria as a hauntingly beautiful realm of moonlit gardens, mirrored halls, and enchanting music where visitors become entranced by illusions of their deepest desires, but this isn't mentioned in the text.</violation> <violation entry="2001" detail="gemstoneColor" paragraph="23" substring="the crimson stone glowing brighter than she'd ever seen">The codex states the Heartstone Pendant has a deep crimson gemstone, which is consistent with crimson.</violation> <violation entry="2001" detail="chainMaterial" paragraph="23" substring="the golden chain tangled in her fingers">The codex states the Heartstone Pendant has a silver chain, not golden.</violation> <violation entry="2001" detail="size" paragraph="23" substring="the crimson stone glowing brighter than she'd ever seen">The codex states the Heartstone Pendant is roughly the size of a thumbnail, but this isn't mentioned in the text.</violation> <violation entry="2001" detail="behavior" paragraph="23" substring="the crimson stone glowing brighter than she'd ever seen">The codex states the Heartstone Pendant pulses faintly with warmth when near a Hel portal, but this isn't mentioned in the text.</violation> <violation entry="2001" detail="glow" paragraph="23" substring="the crimson stone glowing brighter than she'd ever seen">The codex states the Heartstone Pendant has a faint inner glow, which is consistent with glowing.</violation> <violation entry="2001" detail="description" paragraph="23" substring="the crimson stone glowing brighter than she'd ever seen">The codex states the Heartstone Pendant was given to Aurora by an unknown benefactor, but this isn't mentioned in the text.</violation> <violation entry="2002" detail="pageMaterial" paragraph="7" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Ledger of Debts has thin beaten copper pages, but this isn't mentioned in the text.</violation> <violation entry="2002" detail="binding" paragraph="7" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Ledger of Debts has an iron-bound binding, but this isn't mentioned in the text.</violation> <violation entry="2002" detail="inkColor" paragraph="7" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Ledger of Debts has dark red ink that appears on its own, but this isn't mentioned in the text.</violation> <violation entry="2002" detail="power" paragraph="7" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Ledger of Debts allows whoever possesses it to call in debts owed to them, but this isn't mentioned in the text.</violation> <violation entry="2002" detail="description" paragraph="7" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Ledger of Debts is a thick ledger that records every supernatural debt owed, but this isn't mentioned in the text.</violation> <violation entry="2003" detail="material" paragraph="9" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Irathi War Gauntlet is made of blackened iron with glowing red runes, but this isn't mentioned in the text.</violation> <violation entry="2003" detail="power" paragraph="9" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Irathi War Gauntlet grants superhuman strength but slowly corrupts the wearer's mind with rage, but this isn't mentioned in the text.</violation> <violation entry="2003" detail="creator" paragraph="9" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Irathi War Gauntlet was created by a demon smith named Gorath, but this isn't mentioned in the text.</violation> <violation entry="2003" detail="description" paragraph="9" substring="Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards">The codex states the Irathi War Gauntlet is a fearsome gauntlet forged in the volcanic forges of Irath, but this isn't mentioned in the text.</violation> <violation entry="2004" detail="casingMaterial" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states the Veil Compass has a small brass compass casing, but this isn't mentioned in the text.</violation> <violation entry="2004" detail="faceMarkings" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states the Veil Compass has a face etched with protective sigils, but this isn't mentioned in the text.</violation> <violation entry="2004" detail="needle" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states the Veil Compass has a needle that points toward the nearest supernatural rift or portal, but this isn't mentioned in the text.</violation> <violation entry="2004" detail="patina" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states the Veil Compass casing has a patina of verdigris, but this isn't mentioned in the text.</violation> <violation entry="2004" detail="creator" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states the Veil Compass was crafted by a Shade artisan, but this isn't mentioned in the text.</violation> <violation entry="2004" detail="description" paragraph="10" substring="Kai corrected from behind his laptop screen">The codex states the Veil Compass is a compass attuned to supernatural energy, but this isn't mentioned in the text.</violation> <violation entry="2005" detail="color" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Somnian Dream Dust is a fine silver powder, but this isn't mentioned in the text.</violation> <violation entry="2005" detail="containerColor" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Somnian Dream Dust is stored in small cobalt-blue glass vials, but this isn't mentioned in the text.</violation> <violation entry="2005" detail="sealMaterial" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Somnian Dream Dust is sealed with black wax, but this isn't mentioned in the text.</violation> <violation entry="2005" detail="effect" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Somnian Dream Dust induces a deep trance for navigating memories and dreamscapes, but this isn't mentioned in the text.</violation> <violation entry="2005" detail="sideEffect" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Somnian Dream Dust causes permanent drowsiness with overuse, but this isn't mentioned in the text.</violation> <violation entry="2005" detail="description" paragraph="8" substring="Yasmin uncorked a small vial and sniffed its contents">The codex states Somnian Dream Dust is a narcotic powder harvested from the twilight meadows of Somnia, but this isn't mentioned in the text.</violation> <violation entry="2006" detail="material" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade is made of moonsilver, but this isn't mentioned in the text.</violation> <violation entry="2006" detail="shape" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade is a slender, leaf-shaped dagger, but this isn't mentioned in the text.</violation> <violation entry="2006" detail="temperature" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade is always cold to the touch, but this isn't mentioned in the text.</violation> <violation entry="2006" detail="glow" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade faintly luminescent in moonlight, but this isn't mentioned in the text.</violation> <violation entry="2006" detail="power" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade can cut through magical wards and is particularly effective against demons, but this isn't mentioned in the text.</violation> <violation entry="2006" detail="givenTo" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade was given to Aurora by Isolde as a gift, but this isn't mentioned in the text.</violation> <violation entry="2006" detail="description" paragraph="22" substring="She gripped the Fae-Forged Blade">The codex states the Fae-Forged Blade is a weapon of the Fae Courts, rare and highly coveted, but this isn't mentioned in the text.</violation> <violation entry="7001" detail="solsticeEffect" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states the Veil weakens during the winter solstice and strengthens during the summer solstice, but this isn't mentioned in the text.</violation> <violation entry="7001" detail="appearance" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states the Veil appears as a faint shimmering distortion visible only to those with supernatural sight, but this isn't mentioned in the text.</violation> <violation entry="7001" detail="monitoring" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states rift points are monitored by the Wardens, but this isn't mentioned in the text.</violation> <violation entry="7001" detail="description" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states the Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms, but this isn't mentioned in the text.</violation> <violation entry="7002" detail="signedYear" paragraph="6" substring="The Covenant of Separation — the old treaty from 1066">The codex states the Covenant of Separation was signed in 1215, not 1066.</violation> <violation entry="7002" detail="signatories" paragraph="6" substring="The Covenant of Separation — the old treaty from 1066">The codex states the Covenant of Separation was signed by rulers of Hel, the Fae Courts, and a council of human sorcerers, but this isn't mentioned in the text.</violation> <violation entry="7002" detail="enforcement" paragraph="6" substring="The Covenant of Separation — the old treaty from 1066">The codex states violations of the Covenant allow the Wardens to use lethal force, but this isn't mentioned in the text.</violation> <violation entry="7002" detail="physicalForm" paragraph="6" substring="The Covenant of Separation — the old treaty from 1066">The codex states the Covenant of Separation is inscribed on seven stone tablets, each held by a different Warden chapter worldwide, but this isn't mentioned in the text.</violation> <violation entry="7002" detail="description" paragraph="6" substring="The Covenant of Separation — the old treaty from 1066">The codex states the Covenant of Separation is an ancient treaty that forbids direct demonic or Fae interference on Earth, but this isn't mentioned in the text.</violation> <violation entry="7003" detail="peakActivity" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states rift points are most active during the winter solstice, but this isn't mentioned in the text.</violation> <violation entry="7003" detail="formation" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states rift points tend to form near underground water sources, which is consistent with the text.</violation> <violation entry="7003" detail="emission" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states rift points emit a low hum inaudible to normal humans but detectable by supernatural beings and Warden instruments, but this isn't mentioned in the text.</violation> <violation entry="7003" detail="description" paragraph="17" substring="The rifts are multiplying. Three new ones opened near underground water sources">The codex states rift points are naturally occurring weak spots in the Veil where the barrier between Earth and other realms is thin enough to cross, but this isn't mentioned in the text.</violation> <violation entry="7004" detail="sealingMethod" paragraph="14" substring="She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them">The codex states Helbound souls are sealed by blood and recorded in that Prince's domain, but this isn't mentioned in the text.</violation> <violation entry="7004" detail="retention" paragraph="14" substring="She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them">The codex states Helbound souls retain their skills and personality but are compelled to serve, but this isn't mentioned in the text.</violation> <violation entry="7004" detail="freedom" paragraph="14" substring="She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them">The codex states Helbound souls can only be freed if the contract is physically destroyed within the realm where it was signed, which is consistent with the text.</violation> <violation entry="7004" detail="description" paragraph="14" substring="She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them">The codex states Helbound souls are mortals who have entered into a binding contract with a Hel Prince, but this isn't mentioned in the text.</violation> <violation entry="7005" detail="requirement" paragraph="16" substring="I walked the shadow paths last night">The codex states Shade transformation requires being caught between realms during a failed summoning or portal collapse, but this isn't mentioned in the text.</violation> <violation entry="7005" detail="physicalLoss" paragraph="16" substring="I walked the shadow paths last night">The codex states Shade transformation strips the subject of their physical body permanently, but this isn't mentioned in the text.</violation> <violation entry="7005" detail="lostSenses" paragraph="16" substring="I walked the shadow paths last night">The codex states Shades lose ability to taste, smell, or feel physical sensations, but this isn't mentioned in the text.</violation> <violation entry="7005" detail="reversibility" paragraph="16" substring="I walked the shadow paths last night">The codex states Shade transformation is irreversible, but this isn't mentioned in the text.</violation> <violation entry="7005" detail="description" paragraph="16" substring="I walked the shadow paths last night">The codex states Shade transformation is the process by which a living being becomes a Shade, but this isn't mentioned in the text.</violation> <violation entry="6001" detail="foundingYear" paragraph="12" substring="The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint">The codex states the Wardens were founded in 1215, not 1066.</violation> <violation entry="6001" detail="identificationMark" paragraph="12" substring="The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint">The codex states Wardens have a small iron pin in the shape of a closed eye as identification, but this isn't mentioned in the text.</violation> <violation entry="6001" detail="mission" paragraph="12" substring="The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint">The codex states Wardens' mission is maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, and enforcing the Covenant of Separation, but this isn't mentioned in the text.</violation> <violation entry="6001" detail="description" paragraph="12" substring="The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint">The codex states Wardens are an ancient order dedicated to guarding the boundary between worlds and view the clique with suspicion, but this isn't mentioned in the text.</violation> <violation entry="6002" detail="leadership" paragraph="7" substring="Mammon breaks it daily in Avaros">The codex states the Crimson Court is a council of seven demon lords, each representing a different circle of Hel, but this isn't mentioned in the text.</violation> <violation entry="6002" detail="operations" paragraph="7" substring="Mammon breaks it daily in Avaros">The codex states the Crimson Court operates through human proxies, corrupted artifacts, and Helbound agents, but this isn't mentioned in the text.</violation> <violation entry="6002" detail="description" paragraph="7" substring="Mammon breaks it daily in Avaros">The codex states the Crimson Court is an elite circle of demon aristocrats who seek to expand Hel's influence into Earth, but this isn't mentioned in the text.</violation> <violation entry="6003" detail="master" paragraph="4" substring="The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states the Somnian Cult's master is Prince Asmodeus, not Prince Lilith.</violation> <violation entry="6003" detail="recruitmentMethod" paragraph="4" substring="The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states the Somnian Cult recruits through promises of peace and freedom from suffering, but this isn't mentioned in the text.</violation> <violation entry="6003" detail="lure" paragraph="4" substring="The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states the Somnian Cult distributes Dream Dust, which is consistent with the text.</violation> <violation entry="6003" detail="description" paragraph="4" substring="The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The codex states the Somnian Cult is a cult of mortals who willingly entered Somnia seeking eternal rest and recruit new members on Earth, but this isn't mentioned in the text.</violation> <violation entry="6004" detail="leader" paragraph="6" substring="Father Cormac crossed himself">The codex states the Parish Guard is led by Father Cormac, which is consistent.</violation> <violation entry="6004" detail="identification" paragraph="6" substring="Father Cormac crossed himself">The codex states the Parish Guard uses rowan-wood rosaries for identification, but this isn't mentioned in the text.</violation> <violation entry="6004" detail="independence" paragraph="6" substring="Father Cormac crossed himself">The codex states the Parish Guard operates independently from the Wardens, but this isn't mentioned in the text.</violation> <violation entry="6004" detail="description" paragraph="6" substring="Father Cormac crossed himself">The codex states the Parish Guard is a secret network of clergy and laypeople who protect London from supernatural threats, but this isn't mentioned in the text.</violation> <violation entry="6005" detail="owner" paragraph="9" substring="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 codex states the Golden Empress Restaurant is owned by Yu-Fei Cheung, but this isn't mentioned in the text.</violation> <violation entry="6005" detail="role" paragraph="9" substring="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 codex states the Golden Empress Restaurant serves as a neutral meeting ground for supernatural factions, but this isn't mentioned in the text.</violation> <violation entry="6005" detail="employee" paragraph="9" substring="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 codex states Aurora works at the Golden Empress Restaurant part-time as a delivery person, but this isn't mentioned in the text.</violation> <violation entry="6005" detail="description" paragraph="9" substring="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 codex states the Golden Empress Restaurant is a Cantonese restaurant in Chinatown where Yu-Fei knows about the supernatural world but stays strictly neutral, but this isn't mentioned in the text.</violation> <violation entry="6006" detail="leader" paragraph="11" substring="Kai corrected from behind his laptop screen">The codex states Blackthorn Security is led by former Warden commander Helena Voss, which is consistent.</violation> <violation entry="6006" detail="logo" paragraph="11" substring="Kai corrected from behind his laptop screen">The codex states Blackthorn Security's logo is a thorned branch inside a shield, not a sword inside a circle.</violation> <violation entry="6006" detail="employees" paragraph="11" substring="Kai corrected from behind his laptop screen">The codex states Blackthorn Security employs human operatives and bound supernatural entities, but this isn't mentioned in the text.</violation> <violation entry="6006" detail="description" paragraph="11" substring="Kai corrected from behind his laptop screen">The codex states Blackthorn Security is a private security company that is secretly a front for Warden hardliners who believe the current order is too lenient, but this isn't mentioned in the text.</violation> </violations>
created_at"2026-02-17T09:54:55.33284+00:00" 2/17/2026, 9:54:55 AM
model"arcee-ai/trinity-large-preview:free"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency385
moderation_latency(null)
generation_time501445
tokens_prompt7819
tokens_completion14261
native_tokens_prompt7000
native_tokens_completion12417
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
router(null)
provider_responses
0
id"chatcmpl-bd8482ec1e733e3a"
status200
is_byokfalse
latency131
endpoint_id"b9d81865-ce9a-432a-9cd5-0d9be55e7cb5"
provider_name"Arcee AI"
model_permaslug"arcee-ai/trinity-large-preview"
api_type"completions"
id"gen-1771321593-K0l1A8m2BCFrSRQAhO00"
upstream_id"chatcmpl-bd8482ec1e733e3a"
total_cost0
cache_discount(null)
upstream_inference_cost0
provider_name"Arcee AI"

Evaluation details

Result Evaluator Details Meta Data
0.00% Accuracy (recall)
Matched: 27/33, FP: 182
parsedCount209
matched27
total33
falsePositives182
expectedDetails
0
expected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
status"matched"
matchedBy
entry"861"
detail"parkLocation"
explanation"The codex states the Fae Grove is in Richmond Park, not Hyde Park."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
1
expected
entry"861"
detail"standingStones"
summary"The grove has oak standing stones per codex, but the passage says elm."
status"matched"
matchedBy
entry"861"
detail"standingStones"
explanation"The codex states the Fae Grove has ancient oak standing stones marking the boundary, not elm."
paragraph1
substring"The ancient elm standing stones hummed with a resonance that Isolde felt in her bones"
location
extractedText"The ancient elm standing stones hummed with a resonance that Isolde felt in her bones"
inBoundstrue
expectedText"The ancient elm standing stones"
locationAccuratetrue
2
expected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
status"matched"
matchedBy
entry"4424"
detail"eyeColor"
explanation"The codex states Isolde has pale lavender eyes, not pale blue."
paragraph1
substring"Her pale blue eyes"
location
extractedText"Her pale blue eyes"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratetrue
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"4424"
detail"hair"
explanation"The codex states Isolde has silver hair reaching her waist, not waist-length silver hair (this is actually consistent, so no violation here)."
paragraph1
substring"her waist-length silver hair"
reason"detail mismatch: got \"hair\", expected \"eyeColor\""
4
expected
entry"4424"
detail"footprints"
summary"Isolde leaves no footprints per codex, but the passage says she leaves clear prints."
status"matched"
matchedBy
entry"4424"
detail"footprints"
explanation"The codex states Isolde leaves no footprints when she walks, but the text describes her leaving clear prints."
paragraph4
substring"her bare feet leaving clear prints in the soft earth as she paced the circle"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"her bare feet leaving clear prints in the soft earth"
locationAccuratefalse
5
expected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
status"missed"
nearMiss
parsed
entry"2006"
detail"material"
explanation"The codex states the Fae-Forged Blade is made of moonsilver, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
reason"detail mismatch: got \"material\", expected \"temperature\""
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 codex states Eva wears round glasses, not square."
paragraph2
substring"Her square glasses kept fogging"
location
extractedText"Her square glasses kept fogging"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratetrue
7
expected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
status"matched"
matchedBy
entry"2005"
detail"color"
explanation"The codex states Somnian Dream Dust is a fine silver powder, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
8
expected
entry"2005"
detail"sealMaterial"
summary"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
status"matched"
matchedBy
entry"2005"
detail"sealMaterial"
explanation"The codex states Somnian Dream Dust is sealed with black wax, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"sealed with white wax"
locationAccuratefalse
9
expected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
status"matched"
matchedBy
entry"6003"
detail"master"
explanation"The codex states the Somnian Cult's master is Prince Asmodeus, not Prince Lilith."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
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 codex states Father Cormac has pale blue eyes, not dark brown."
paragraph6
substring"his dark brown eyes troubled"
location
extractedText"[not found in paragraph 6]"
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 codex states Father Cormac has a rosary made of rowan wood beads, not cedar."
paragraph6
substring"He gripped his cedar rosary beads tightly"
location
extractedText"[not found in paragraph 6]"
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"matched"
matchedBy
entry"7002"
detail"signedYear"
explanation"The codex states the Covenant of Separation was signed in 1215, not 1066."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
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"
nearMiss
parsed
entry"6004"
detail"leader"
explanation"The codex states the Parish Guard is led by Father Cormac, which is consistent."
paragraph6
substring"Father Cormac crossed himself"
reason"detail mismatch: got \"leader\", expected \"headquarters\""
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 codex states Lucien has an ivory-handled cane that conceals a thin blade, not mahogany."
paragraph7
substring"leaning on his mahogany cane"
location
extractedText"[not found in paragraph 7]"
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 codex states Lucien has heterochromatic eyes — one amber, one black, not both amber."
paragraph7
substring"Both his amber eyes were fixed"
location
extractedText"[not found in paragraph 7]"
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 codex states Yasmin has a flame serpent tattoo coiling up her left arm, not right arm."
paragraph8
substring"The flame serpent tattoo on her right arm seemed to writhe"
location
extractedText"[not found in paragraph 8]"
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 codex states Wei-Lin has a dragon tattoo covering his entire back, not on his chest."
paragraph9
substring"The edge of the dragon tattoo on his chest was visible"
location
extractedText"[not found in paragraph 9]"
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"matched"
matchedBy
entry"2006"
detail"material"
explanation"The codex states the Fae-Forged Blade is made of moonsilver, but the text doesn't specify the material, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
location
extractedText(null)
inBoundsfalse
expectedText"bronze daggers, they say"
locationAccurate(null)
19
expected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
status"matched"
matchedBy
entry"856"
detail"currentLocation"
explanation"The codex states the Veil Market is currently in an abandoned Tube station beneath Camden, not Shoreditch."
paragraph9
substring"The market's moved to an abandoned station under Shoreditch"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
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 codex states Kai has dyed electric-blue hair in an undercut, not natural black hair."
paragraph10
substring"his natural black hair falling into his face"
location
extractedText"[not found in paragraph 10]"
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"matched"
matchedBy
entry"6006"
detail"logo"
explanation"The codex states Blackthorn's logo is a thorned branch inside a shield, not a sword inside a circle."
paragraph11
substring"Their logo — the sword inside a circle"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
22
expected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
status"missed"
nearMiss
parsed
entry"4419"
detail"height"
explanation"The codex states Maggie is 5'2\" tall, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
reason"detail mismatch: got \"height\", expected \"walkingStick\""
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 codex states Maggie has sharp grey eyes, not green."
paragraph18
substring"Her keen green eyes"
location
extractedText"[not found in paragraph 18]"
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"matched"
matchedBy
entry"6001"
detail"foundingYear"
explanation"The codex states the Wardens were founded in 1215, not 1066."
paragraph12
substring"The Wardens were founded in 1066"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
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 codex states Tomás has a scar running along his left forearm, not right forearm."
paragraph14
substring"His scarred right forearm"
location
extractedText"[not found in paragraph 14]"
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 codex states Tomás was born in Seville, Spain, not Madrid."
paragraph14
substring"His Madrid accent thickened"
location
extractedText"[not found in paragraph 14]"
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 codex states Nyx has faintly glowing violet eyes, not blue."
paragraph16
substring"their glowing blue eyes"
location
extractedText"[not found in paragraph 16]"
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"matched"
matchedBy
entry"2001"
detail"chainMaterial"
explanation"The codex states the Heartstone Pendant has a silver chain, not golden."
paragraph23
substring"the golden chain tangled in her fingers"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
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"matched"
matchedBy
entry"2001"
detail"origin"
explanation"The codex states the Heartstone Pendant's origin is Dymas, not Avaros."
paragraph24
substring"The Heartstone was forged in Avaros"
location
extractedText(null)
inBoundsfalse
expectedText"The Heartstone was forged in Avaros"
locationAccurate(null)
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"matched"
matchedBy
entry"855"
detail"ruler"
explanation"The codex states Avaros is ruled by Prince Mammon, which is consistent."
paragraph7
substring"Mammon breaks it daily in Avaros"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
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"
nearMiss
parsed
entry"2006"
detail"material"
explanation"The codex states the Fae-Forged Blade is made of moonsilver, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
reason"detail mismatch: got \"material\", expected \"temperature\""
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"
nearMiss
parsed
entry"6002"
detail"leadership"
explanation"The codex states the Crimson Court is a council of seven demon lords, each representing a different circle of Hel, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
reason"detail mismatch: got \"leadership\", expected \"headquarters\""
falsePositiveDetails
0
parsed
entry"4424"
detail"hair"
explanation"The codex states Isolde has silver hair reaching her waist, not waist-length silver hair (this is actually consistent, so no violation here)."
paragraph1
substring"her waist-length silver hair"
status"false_positive"
location
extractedText"her waist-length silver hair"
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"detail mismatch: got \"hair\", expected \"eyeColor\""
1
parsed
entry"4424"
detail"eyeColor"
explanation"The codex states Isolde has pale lavender eyes, not pale blue."
paragraph4
substring"Her pale blue eyes, unblinking"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"her pale blue eyes widening"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage again says pale blue eyes in a later paragraph."
reason"paragraph mismatch, reported 4, expected 13"
2
parsed
entry"4413"
detail"eyeColor"
explanation"This is consistent with the codex, so no violation."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"Her pale blue eyes, unblinking"
locationAccurate(null)
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\""
3
parsed
entry"4413"
detail"limp"
explanation"The codex states Silas has a slight limp in his left leg from an old knee injury, which is consistent."
paragraph19
substring"He rubbed his left knee — the old injury"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
4
parsed
entry"4412"
detail"hair"
explanation"The codex states Aurora has straight shoulder-length black hair, but this isn't mentioned in the text, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"his natural black hair falling into his face"
locationAccurate(null)
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\""
5
parsed
entry"4412"
detail"scar"
explanation"The codex states Aurora has a small crescent-shaped scar on her left wrist, but this isn't mentioned in the text, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"His scarred right forearm"
locationAccurate(null)
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\""
6
parsed
entry"4412"
detail"eyeColor"
explanation"The codex states Aurora has bright blue eyes, but this isn't mentioned in the text, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"Her pale blue eyes, unblinking"
locationAccurate(null)
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\""
7
parsed
entry"2001"
detail"gemstoneColor"
explanation"The codex states the Heartstone Pendant has a deep crimson gemstone, which is consistent with crimson."
paragraph23
substring"the crimson stone glowing brighter"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\""
8
parsed
entry"7003"
detail"formation"
explanation"This is consistent with the codex, so no violation."
paragraph17
substring"Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
9
parsed
entry"6005"
detail"role"
explanation"The codex states Yu-Fei Cheung's restaurant is a neutral meeting ground for supernatural factions, but this isn't contradicted in the text."
paragraph9
substring"probably from a supplier, not my shop"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
10
parsed
entry"7004"
detail"freedom"
explanation"The codex states contracts can only be freed if destroyed within the realm where signed, and since this was signed in Avaros, this is consistent."
paragraph14
substring"She managed to destroy her contract document while still in Avaros, which broke the bond"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
11
parsed
entry"7004"
detail"sealingMethod"
explanation"The codex states contracts are sealed by blood and recorded in that Prince's domain, but this isn't contradicted in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
12
parsed
entry"7005"
detail"requirement"
explanation"The codex states becoming a Shade requires being caught between realms during a failed summoning or portal collapse, which is consistent with walking shadow paths."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
13
parsed
entry"7005"
detail"physicalLoss"
explanation"The codex states the transformation strips the subject of their physical body permanently, which is consistent with being a being of living shadow."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
14
parsed
entry"7005"
detail"lostSenses"
explanation"The codex states Shades lose ability to taste, smell, or feel physical sensations, which is consistent with being a being of living shadow."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
15
parsed
entry"7005"
detail"reversibility"
explanation"The codex states the transformation is irreversible, which is consistent with Nyx being a permanent Shade."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
16
parsed
entry"4416"
detail"eyeColor"
explanation"The codex states Detective Quinn has brown eyes, but this describes Father Cormac, who has pale blue eyes according to the codex."
paragraph6
substring"his dark brown eyes troubled"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
17
parsed
entry"4422"
detail"hair"
explanation"The codex states Father Cormac has thinning ginger hair, which is consistent."
paragraph6
substring"his thinning ginger hair"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
18
parsed
entry"4422"
detail"collar"
explanation"The codex states Father Cormac wears a clerical collar at all times, but this isn't mentioned in the text."
paragraph6
substring"He gripped his cedar rosary beads tightly"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
19
parsed
entry"4415"
detail"hair"
explanation"The codex states Lucien has slicked-back platinum blond hair, but this isn't mentioned in the text."
paragraph7
substring"adjusting the cuff of his charcoal suit"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
20
parsed
entry"4415"
detail"dress"
explanation"The codex states Lucien wears tailored charcoal suits, which is consistent."
paragraph7
substring"adjusting the cuff of his charcoal suit"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
21
parsed
entry"4414"
detail"hair"
explanation"The codex states Eva has curly red hair, which is consistent."
paragraph2
substring"her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"her curly red hair escaping from under a wool hat"
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\""
22
parsed
entry"4414"
detail"satchel"
explanation"The codex states Eva has a worn leather satchel full of books, which is consistent."
paragraph2
substring"clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"clutching her leather satchel with both hands"
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"nervousHabit"
explanation"The codex states Eva's nervous habit is tucking hair behind her left ear, not clutching her satchel."
paragraph2
substring"clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"clutching her leather satchel with both hands"
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"freckles"
explanation"The codex states Eva has a freckled complexion, but this isn't mentioned in the text."
paragraph2
substring"her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"her curly red hair escaping from under a wool hat"
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\""
25
parsed
entry"4412"
detail"hair"
explanation"The codex states Aurora has straight shoulder-length black hair, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
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\""
26
parsed
entry"4412"
detail"scar"
explanation"The codex states Aurora has a small crescent-shaped scar on her left wrist, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
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\""
27
parsed
entry"4412"
detail"eyeColor"
explanation"The codex states Aurora has bright blue eyes, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
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\""
28
parsed
entry"4412"
detail"height"
explanation"The codex states Aurora is 5'6\" tall, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
29
parsed
entry"4412"
detail"age"
explanation"The codex states Aurora is 25 years old, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
30
parsed
entry"4412"
detail"description"
explanation"The codex describes Aurora as cool-headed, intelligent, and known for quick out-of-the-box thinking, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
31
parsed
entry"4413"
detail"hair"
explanation"The codex states Silas has grey-streaked auburn hair, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"his natural black hair falling into his face"
locationAccurate(null)
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\""
32
parsed
entry"4413"
detail"beard"
explanation"The codex states Silas has a neatly trimmed beard matching his grey-streaked auburn hair, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
33
parsed
entry"4413"
detail"height"
explanation"The codex states Silas is 6'1\" tall, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
34
parsed
entry"4413"
detail"age"
explanation"The codex states Silas is 58 years old, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
35
parsed
entry"4413"
detail"signetRing"
explanation"The codex states Silas wears a silver signet ring on his right hand, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
36
parsed
entry"4413"
detail"description"
explanation"The codex describes Silas as a retired intelligence operative turned bar owner who carries himself with quiet authority, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
37
parsed
entry"4413"
detail"backstory"
explanation"The codex states Silas was a former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
38
parsed
entry"4414"
detail"height"
explanation"The codex states Eva is 5'4\" tall, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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\""
39
parsed
entry"4414"
detail"age"
explanation"The codex states Eva is 26 years old, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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 \"age\", expected \"glasses\""
40
parsed
entry"4414"
detail"description"
explanation"The codex describes Eva as Aurora's childhood friend and an occult researcher, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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\""
41
parsed
entry"4414"
detail"backstory"
explanation"The codex states Eva moved to London two years before Aurora and works as a research assistant at the British Museum's restricted archives, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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\""
42
parsed
entry"4415"
detail"height"
explanation"The codex states Lucien is 5'11\" tall, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
43
parsed
entry"4415"
detail"age"
explanation"The codex states Lucien is 32 years old, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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 \"age\", expected \"cane\""
44
parsed
entry"4415"
detail"description"
explanation"The codex describes Lucien as an impeccably dressed fixer and information broker in London's supernatural underworld who speaks four languages fluently, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
45
parsed
entry"4415"
detail"backstory"
explanation"The codex states Lucien was born in Marseille to a human mother and a demon father from the realm of Avaros, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
46
parsed
entry"4416"
detail"height"
explanation"The codex states Detective Quinn is 5'9\" tall, but this describes Father Cormac, who is 5'8\" according to the codex."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
47
parsed
entry"4416"
detail"age"
explanation"The codex states Detective Quinn is 41 years old, but this describes Father Cormac, who is 55 according to the codex."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
48
parsed
entry"4416"
detail"description"
explanation"The codex describes Detective Quinn as a Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
49
parsed
entry"4416"
detail"backstory"
explanation"The codex states Detective Quinn lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
50
parsed
entry"4417"
detail"height"
explanation"The codex states Tomás is 5'10\" tall, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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\""
51
parsed
entry"4417"
detail"age"
explanation"The codex states Tomás is 29 years old, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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 \"age\", expected \"scar\""
52
parsed
entry"4417"
detail"description"
explanation"The codex describes Tomás as a former paramedic who provides off-the-books medical care for the clique, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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\""
53
parsed
entry"4417"
detail"backstory"
explanation"The codex states Tomás was born in Seville, Spain, and moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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\""
54
parsed
entry"4418"
detail"height"
explanation"The codex states Nyx is approximately 6'2\" in solid form, but this isn't mentioned in the text."
paragraph16
substring"Nyx materialized from the shadow of a standing stone"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
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\""
55
parsed
entry"4418"
detail"description"
explanation"The codex describes Nyx as a being of living shadow, existing between the mortal plane and the spaces between realms, but this isn't mentioned in the text."
paragraph16
substring"Nyx materialized from the shadow of a standing stone"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
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\""
56
parsed
entry"4418"
detail"backstory"
explanation"The codex states Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643, but this isn't mentioned in the text."
paragraph16
substring"Nyx materialized from the shadow of a standing stone"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
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\""
57
parsed
entry"4419"
detail"height"
explanation"The codex states Maggie is 5'2\" tall, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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\""
58
parsed
entry"4419"
detail"age"
explanation"The codex states Maggie is 72 years old, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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 \"age\", expected \"walkingStick\""
59
parsed
entry"4419"
detail"description"
explanation"The codex describes Maggie as a retired librarian turned unofficial consultant for the clique on historical and occult matters, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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\""
60
parsed
entry"4419"
detail"backstory"
explanation"The codex states Maggie was former head librarian at the Bodleian Library in Oxford and is a widow whose late husband was a Warden, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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\""
61
parsed
entry"4420"
detail"height"
explanation"The codex states Kai is 5'7\" tall, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
62
parsed
entry"4420"
detail"age"
explanation"The codex states Kai is 22 years old, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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 \"age\", expected \"hair\""
63
parsed
entry"4420"
detail"description"
explanation"The codex describes Kai as a Japanese-British self-taught tech prodigy who provides the clique with surveillance tools and digital forensics, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
64
parsed
entry"4420"
detail"backstory"
explanation"The codex states Kai dropped out of Imperial College London after his first year and lives in a converted shipping container in Hackney Wick, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
65
parsed
entry"4421"
detail"height"
explanation"The codex states Yasmin is 5'8\" tall, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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\""
66
parsed
entry"4421"
detail"age"
explanation"The codex states Yasmin is 34 years old, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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 \"age\", expected \"tattoo\""
67
parsed
entry"4421"
detail"description"
explanation"The codex describes Yasmin as an alchemist who runs a discreet apothecary in Brixton, selling both mundane herbal remedies and supernatural tinctures, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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\""
68
parsed
entry"4421"
detail"backstory"
explanation"The codex states Yasmin is descended from a line of Djinn-touched humans from Marrakech and trained by her grandmother, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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\""
69
parsed
entry"4422"
detail"height"
explanation"The codex states Father Cormac is 5'8\" tall, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
70
parsed
entry"4422"
detail"age"
explanation"The codex states Father Cormac is 55 years old, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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 \"age\", expected \"eyeColor\""
71
parsed
entry"4422"
detail"description"
explanation"The codex describes Father Cormac as an Irish Catholic priest assigned to St. Brigid's parish in Islington who secretly assists the clique with blessings and wards, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
72
parsed
entry"4422"
detail"backstory"
explanation"The codex states Father Cormac witnessed a demonic incursion at his seminary in Cork twenty years ago that the Church covered up, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
73
parsed
entry"4423"
detail"height"
explanation"The codex states Wei-Lin is 5'9\" tall, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
74
parsed
entry"4423"
detail"age"
explanation"The codex states Wei-Lin is 48 years old, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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 \"age\", expected \"tattoo\""
75
parsed
entry"4423"
detail"description"
explanation"The codex describes Wei-Lin as a former Triad enforcer turned noodle shop owner who trades information with Silas, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
76
parsed
entry"4423"
detail"backstory"
explanation"The codex states Wei-Lin retired from organized crime after a near-death experience involving a Hel portal in Hong Kong and now runs \"Zhou's Golden Dragon\" in Chinatown, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
77
parsed
entry"853"
detail"ruler"
explanation"The codex states Dymas is ruled by Prince Belphegor, not Prince Lilith."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"853\", expected \"855\""
78
parsed
entry"854"
detail"signColor"
explanation"The codex states The Raven's Nest has a distinctive green neon sign above the entrance, but this isn't mentioned in the text."
paragraph19
substring"Silas, who had been standing silently at the edge of the grove, spoke at last"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
79
parsed
entry"854"
detail"secretRoom"
explanation"The codex states The Raven's Nest has a hidden back room accessible through a bookshelf used for clandestine meetings, but this isn't mentioned in the text."
paragraph19
substring"Silas, who had been standing silently at the edge of the grove, spoke at last"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
80
parsed
entry"854"
detail"description"
explanation"The codex describes The Raven's Nest as a dimly lit bar in Soho, London with walls covered with old maps and black-and-white photographs, but this isn't mentioned in the text."
paragraph19
substring"Silas, who had been standing silently at the edge of the grove, spoke at last"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
81
parsed
entry"855"
detail"skyColor"
explanation"The codex states Avaros has a sickly gold sky, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"detail mismatch: got \"skyColor\", expected \"ruler\""
82
parsed
entry"855"
detail"description"
explanation"The codex describes Avaros as a landscape of towering vaults and endless treasure halls with streets paved with fool's gold and air smelling of copper, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"detail mismatch: got \"description\", expected \"ruler\""
83
parsed
entry"856"
detail"currentLocation"
explanation"The codex states the Veil Market is currently in an abandoned Tube station beneath Camden, not Shoreditch."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
84
parsed
entry"856"
detail"entryRequirement"
explanation"The codex states the Veil Market requires a bone token for entry, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason"detail mismatch: got \"entryRequirement\", expected \"currentLocation\""
85
parsed
entry"856"
detail"schedule"
explanation"The codex states the Veil Market moves locations every full moon, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason"detail mismatch: got \"schedule\", expected \"currentLocation\""
86
parsed
entry"856"
detail"description"
explanation"The codex describes the Veil Market as a hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason"detail mismatch: got \"description\", expected \"currentLocation\""
87
parsed
entry"857"
detail"ruler"
explanation"The codex states Irath is ruled by Prince Abaddon, but the text doesn't specify who rules Irath in this context."
paragraph7
substring"Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"857\", expected \"855\""
88
parsed
entry"857"
detail"skyColor"
explanation"The codex states Irath has a permanent bruised red sky, but this isn't mentioned in the text."
paragraph7
substring"Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
89
parsed
entry"857"
detail"description"
explanation"The codex describes Irath as a volcanic wasteland of perpetual war with rivers of molten rock flowing between obsidian fortresses where damned souls fight in endless gladiatorial combat, but this isn't mentioned in the text."
paragraph7
substring"Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
90
parsed
entry"858"
detail"cat"
explanation"The codex states Eva's flat has a tabby cat named Ptolemy, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratefalse
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"entry mismatch: got \"858\", expected \"861\""
91
parsed
entry"858"
detail"security"
explanation"The codex states Eva's flat has three deadbolts on the front door, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
inBoundstrue
expectedText""
locationAccuratetrue
92
parsed
entry"858"
detail"description"
explanation"The codex describes Eva's flat as a cramped one-bedroom flat above a curry house on Brick Lane, East London with every surface covered with books, scrolls, and research notes, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
inBoundstrue
expectedText""
locationAccuratetrue
93
parsed
entry"859"
detail"ruler"
explanation"The codex states Somnia is ruled by Prince Asmodeus, not Prince Lilith."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"859\", expected \"855\""
94
parsed
entry"859"
detail"atmosphere"
explanation"The codex states Somnia has a faintly sweet, narcotic smell, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
95
parsed
entry"859"
detail"description"
explanation"The codex describes Somnia as an endless twilight landscape of fog-shrouded meadows and crumbling mansions where inhabitants gradually lose all motivation and ambition, sinking into eternal lethargy, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
96
parsed
entry"860"
detail"password"
explanation"The codex states Yasmin's Apothecary requires \"moonrise\" as a password for back room access, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
97
parsed
entry"860"
detail"frontStock"
explanation"The codex states Yasmin's Apothecary has herbal teas and aromatherapy oils as front stock, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
98
parsed
entry"860"
detail"backStock"
explanation"The codex states Yasmin's Apothecary has supernatural potions, binding salts, and alchemical reagents as back stock, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
99
parsed
entry"860"
detail"description"
explanation"The codex describes Yasmin's Apothecary as a narrow shop on a side street in Brixton with a mundane front and a hidden supernatural back room, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
100
parsed
entry"861"
detail"timeBehavior"
explanation"The codex states time moves differently in the Fae Grove — an hour inside can be minutes or days outside, but this isn't mentioned in the text."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
status"false_positive"
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"detail mismatch: got \"timeBehavior\", expected \"parkLocation\""
101
parsed
entry"861"
detail"flora"
explanation"The codex states wildflowers bloom year-round in the Fae Grove, but this isn't mentioned in the text."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
status"false_positive"
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"detail mismatch: got \"flora\", expected \"parkLocation\""
102
parsed
entry"861"
detail"description"
explanation"The codex describes the Fae Grove as a hidden clearing that exists in a pocket between Earth and the Fae realm, but this isn't mentioned in the text."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
status"false_positive"
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"detail mismatch: got \"description\", expected \"parkLocation\""
103
parsed
entry"862"
detail"ruler"
explanation"The codex states Luxuria is ruled by Prince Lilith, which is consistent."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"862\", expected \"855\""
104
parsed
entry"862"
detail"skyColor"
explanation"The codex states Luxuria has a deep twilight purple sky, but this isn't mentioned in the text."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
105
parsed
entry"862"
detail"description"
explanation"The codex describes Luxuria as a hauntingly beautiful realm of moonlit gardens, mirrored halls, and enchanting music where visitors become entranced by illusions of their deepest desires, but this isn't mentioned in the text."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
106
parsed
entry"2001"
detail"gemstoneColor"
explanation"The codex states the Heartstone Pendant has a deep crimson gemstone, which is consistent with crimson."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\""
107
parsed
entry"2001"
detail"chainMaterial"
explanation"The codex states the Heartstone Pendant has a silver chain, not golden."
paragraph23
substring"the golden chain tangled in her fingers"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"The Heartstone was forged in Avaros"
locationAccurate(null)
closestExpected
entry"2001"
detail"origin"
summary"The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros."
reason"detail mismatch: got \"chainMaterial\", expected \"origin\""
108
parsed
entry"2001"
detail"size"
explanation"The codex states the Heartstone Pendant is roughly the size of a thumbnail, but this isn't mentioned in the text."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"size\", expected \"chainMaterial\""
109
parsed
entry"2001"
detail"behavior"
explanation"The codex states the Heartstone Pendant pulses faintly with warmth when near a Hel portal, but this isn't mentioned in the text."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"behavior\", expected \"chainMaterial\""
110
parsed
entry"2001"
detail"glow"
explanation"The codex states the Heartstone Pendant has a faint inner glow, which is consistent with glowing."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"glow\", expected \"chainMaterial\""
111
parsed
entry"2001"
detail"description"
explanation"The codex states the Heartstone Pendant was given to Aurora by an unknown benefactor, but this isn't mentioned in the text."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"description\", expected \"chainMaterial\""
112
parsed
entry"2002"
detail"pageMaterial"
explanation"The codex states the Ledger of Debts has thin beaten copper pages, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText"bronze daggers, they say"
locationAccuratetrue
closestExpected
entry"2006"
detail"material"
summary"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
reason"entry mismatch: got \"2002\", expected \"2006\""
113
parsed
entry"2002"
detail"binding"
explanation"The codex states the Ledger of Debts has an iron-bound binding, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
114
parsed
entry"2002"
detail"inkColor"
explanation"The codex states the Ledger of Debts has dark red ink that appears on its own, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
115
parsed
entry"2002"
detail"power"
explanation"The codex states the Ledger of Debts allows whoever possesses it to call in debts owed to them, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
116
parsed
entry"2002"
detail"description"
explanation"The codex states the Ledger of Debts is a thick ledger that records every supernatural debt owed, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
117
parsed
entry"2003"
detail"material"
explanation"The codex states the Irathi War Gauntlet is made of blackened iron with glowing red runes, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"sealed with white wax"
locationAccuratefalse
closestExpected
entry"2005"
detail"sealMaterial"
summary"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
reason"entry mismatch: got \"2003\", expected \"2005\""
118
parsed
entry"2003"
detail"power"
explanation"The codex states the Irathi War Gauntlet grants superhuman strength but slowly corrupts the wearer's mind with rage, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
119
parsed
entry"2003"
detail"creator"
explanation"The codex states the Irathi War Gauntlet was created by a demon smith named Gorath, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
120
parsed
entry"2003"
detail"description"
explanation"The codex states the Irathi War Gauntlet is a fearsome gauntlet forged in the volcanic forges of Irath, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
121
parsed
entry"2004"
detail"casingMaterial"
explanation"The codex states the Veil Compass has a small brass compass casing, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"bronze daggers, they say"
locationAccuratefalse
closestExpected
entry"2006"
detail"material"
summary"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
reason"entry mismatch: got \"2004\", expected \"2006\""
122
parsed
entry"2004"
detail"faceMarkings"
explanation"The codex states the Veil Compass has a face etched with protective sigils, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
123
parsed
entry"2004"
detail"needle"
explanation"The codex states the Veil Compass has a needle that points toward the nearest supernatural rift or portal, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
124
parsed
entry"2004"
detail"patina"
explanation"The codex states the Veil Compass casing has a patina of verdigris, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
125
parsed
entry"2004"
detail"creator"
explanation"The codex states the Veil Compass was crafted by a Shade artisan, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
126
parsed
entry"2004"
detail"description"
explanation"The codex states the Veil Compass is a compass attuned to supernatural energy, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
127
parsed
entry"2005"
detail"containerColor"
explanation"The codex states Somnian Dream Dust is stored in small cobalt-blue glass vials, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"sealed with white wax"
locationAccuratefalse
closestExpected
entry"2005"
detail"sealMaterial"
summary"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
reason"detail mismatch: got \"containerColor\", expected \"sealMaterial\""
128
parsed
entry"2005"
detail"effect"
explanation"The codex states Somnian Dream Dust induces a deep trance for navigating memories and dreamscapes, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
closestExpected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
reason"detail mismatch: got \"effect\", expected \"containerColor\""
129
parsed
entry"2005"
detail"sideEffect"
explanation"The codex states Somnian Dream Dust causes permanent drowsiness with overuse, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
closestExpected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
reason"detail mismatch: got \"sideEffect\", expected \"containerColor\""
130
parsed
entry"2005"
detail"description"
explanation"The codex states Somnian Dream Dust is a narcotic powder harvested from the twilight meadows of Somnia, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
closestExpected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
reason"detail mismatch: got \"description\", expected \"containerColor\""
131
parsed
entry"2006"
detail"material"
explanation"The codex states the Fae-Forged Blade is made of moonsilver, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"material\", expected \"temperature\""
132
parsed
entry"2006"
detail"shape"
explanation"The codex states the Fae-Forged Blade is a slender, leaf-shaped dagger, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"shape\", expected \"temperature\""
133
parsed
entry"2006"
detail"temperature"
explanation"The codex states the Fae-Forged Blade is always cold to the touch, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"paragraph mismatch, reported 22, expected 2"
134
parsed
entry"2006"
detail"glow"
explanation"The codex states the Fae-Forged Blade faintly luminescent in moonlight, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"glow\", expected \"temperature\""
135
parsed
entry"2006"
detail"power"
explanation"The codex states the Fae-Forged Blade can cut through magical wards and is particularly effective against demons, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"power\", expected \"temperature\""
136
parsed
entry"2006"
detail"givenTo"
explanation"The codex states the Fae-Forged Blade was given to Aurora by Isolde as a gift, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"givenTo\", expected \"temperature\""
137
parsed
entry"2006"
detail"description"
explanation"The codex states the Fae-Forged Blade is a weapon of the Fae Courts, rare and highly coveted, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"description\", expected \"temperature\""
138
parsed
entry"7001"
detail"solsticeEffect"
explanation"The codex states the Veil weakens during the winter solstice and strengthens during the summer solstice, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
139
parsed
entry"7001"
detail"appearance"
explanation"The codex states the Veil appears as a faint shimmering distortion visible only to those with supernatural sight, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
140
parsed
entry"7001"
detail"monitoring"
explanation"The codex states rift points are monitored by the Wardens, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
141
parsed
entry"7001"
detail"description"
explanation"The codex states the Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
142
parsed
entry"7002"
detail"signedYear"
explanation"The codex states the Covenant of Separation was signed in 1215, not 1066."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
143
parsed
entry"7002"
detail"signatories"
explanation"The codex states the Covenant of Separation was signed by rulers of Hel, the Fae Courts, and a council of human sorcerers, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"signatories\", expected \"signedYear\""
144
parsed
entry"7002"
detail"enforcement"
explanation"The codex states violations of the Covenant allow the Wardens to use lethal force, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"enforcement\", expected \"signedYear\""
145
parsed
entry"7002"
detail"physicalForm"
explanation"The codex states the Covenant of Separation is inscribed on seven stone tablets, each held by a different Warden chapter worldwide, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"physicalForm\", expected \"signedYear\""
146
parsed
entry"7002"
detail"description"
explanation"The codex states the Covenant of Separation is an ancient treaty that forbids direct demonic or Fae interference on Earth, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"description\", expected \"signedYear\""
147
parsed
entry"7003"
detail"peakActivity"
explanation"The codex states rift points are most active during the winter solstice, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
148
parsed
entry"7003"
detail"formation"
explanation"The codex states rift points tend to form near underground water sources, which is consistent with the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
149
parsed
entry"7003"
detail"emission"
explanation"The codex states rift points emit a low hum inaudible to normal humans but detectable by supernatural beings and Warden instruments, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
150
parsed
entry"7003"
detail"description"
explanation"The codex states rift points are naturally occurring weak spots in the Veil where the barrier between Earth and other realms is thin enough to cross, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
151
parsed
entry"7004"
detail"sealingMethod"
explanation"The codex states Helbound souls are sealed by blood and recorded in that Prince's domain, but this isn't mentioned in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
152
parsed
entry"7004"
detail"retention"
explanation"The codex states Helbound souls retain their skills and personality but are compelled to serve, but this isn't mentioned in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
153
parsed
entry"7004"
detail"freedom"
explanation"The codex states Helbound souls can only be freed if the contract is physically destroyed within the realm where it was signed, which is consistent with the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
154
parsed
entry"7004"
detail"description"
explanation"The codex states Helbound souls are mortals who have entered into a binding contract with a Hel Prince, but this isn't mentioned in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
155
parsed
entry"7005"
detail"requirement"
explanation"The codex states Shade transformation requires being caught between realms during a failed summoning or portal collapse, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
156
parsed
entry"7005"
detail"physicalLoss"
explanation"The codex states Shade transformation strips the subject of their physical body permanently, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
157
parsed
entry"7005"
detail"lostSenses"
explanation"The codex states Shades lose ability to taste, smell, or feel physical sensations, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
158
parsed
entry"7005"
detail"reversibility"
explanation"The codex states Shade transformation is irreversible, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
159
parsed
entry"7005"
detail"description"
explanation"The codex states Shade transformation is the process by which a living being becomes a Shade, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
160
parsed
entry"6001"
detail"foundingYear"
explanation"The codex states the Wardens were founded in 1215, not 1066."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
161
parsed
entry"6001"
detail"identificationMark"
explanation"The codex states Wardens have a small iron pin in the shape of a closed eye as identification, but this isn't mentioned in the text."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
closestExpected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
reason"detail mismatch: got \"identificationMark\", expected \"foundingYear\""
162
parsed
entry"6001"
detail"mission"
explanation"The codex states Wardens' mission is maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, and enforcing the Covenant of Separation, but this isn't mentioned in the text."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
closestExpected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
reason"detail mismatch: got \"mission\", expected \"foundingYear\""
163
parsed
entry"6001"
detail"description"
explanation"The codex states Wardens are an ancient order dedicated to guarding the boundary between worlds and view the clique with suspicion, but this isn't mentioned in the text."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
closestExpected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
reason"detail mismatch: got \"description\", expected \"foundingYear\""
164
parsed
entry"6002"
detail"leadership"
explanation"The codex states the Crimson Court is a council of seven demon lords, each representing a different circle of Hel, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccuratefalse
closestExpected
entry"6002"
detail"headquarters"
summary"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
reason"detail mismatch: got \"leadership\", expected \"headquarters\""
165
parsed
entry"6002"
detail"operations"
explanation"The codex states the Crimson Court operates through human proxies, corrupted artifacts, and Helbound agents, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccuratefalse
closestExpected
entry"6002"
detail"headquarters"
summary"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
reason"detail mismatch: got \"operations\", expected \"headquarters\""
166
parsed
entry"6002"
detail"description"
explanation"The codex states the Crimson Court is an elite circle of demon aristocrats who seek to expand Hel's influence into Earth, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccuratefalse
closestExpected
entry"6002"
detail"headquarters"
summary"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
reason"detail mismatch: got \"description\", expected \"headquarters\""
167
parsed
entry"6003"
detail"recruitmentMethod"
explanation"The codex states the Somnian Cult recruits through promises of peace and freedom from suffering, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
closestExpected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
reason"detail mismatch: got \"recruitmentMethod\", expected \"master\""
168
parsed
entry"6003"
detail"lure"
explanation"The codex states the Somnian Cult distributes Dream Dust, which is consistent with the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
closestExpected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
reason"detail mismatch: got \"lure\", expected \"master\""
169
parsed
entry"6003"
detail"description"
explanation"The codex states the Somnian Cult is a cult of mortals who willingly entered Somnia seeking eternal rest and recruit new members on Earth, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
closestExpected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
reason"detail mismatch: got \"description\", expected \"master\""
170
parsed
entry"6004"
detail"leader"
explanation"The codex states the Parish Guard is led by Father Cormac, which is consistent."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"leader\", expected \"headquarters\""
171
parsed
entry"6004"
detail"identification"
explanation"The codex states the Parish Guard uses rowan-wood rosaries for identification, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"identification\", expected \"headquarters\""
172
parsed
entry"6004"
detail"independence"
explanation"The codex states the Parish Guard operates independently from the Wardens, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"independence\", expected \"headquarters\""
173
parsed
entry"6004"
detail"description"
explanation"The codex states the Parish Guard is a secret network of clergy and laypeople who protect London from supernatural threats, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"description\", expected \"headquarters\""
174
parsed
entry"6005"
detail"owner"
explanation"The codex states the Golden Empress Restaurant is owned by Yu-Fei Cheung, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
175
parsed
entry"6005"
detail"role"
explanation"The codex states the Golden Empress Restaurant serves as a neutral meeting ground for supernatural factions, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
176
parsed
entry"6005"
detail"employee"
explanation"The codex states Aurora works at the Golden Empress Restaurant part-time as a delivery person, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
177
parsed
entry"6005"
detail"description"
explanation"The codex states the Golden Empress Restaurant is a Cantonese restaurant in Chinatown where Yu-Fei knows about the supernatural world but stays strictly neutral, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
178
parsed
entry"6006"
detail"leader"
explanation"The codex states Blackthorn Security is led by former Warden commander Helena Voss, which is consistent."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
closestExpected
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."
reason"detail mismatch: got \"leader\", expected \"logo\""
179
parsed
entry"6006"
detail"logo"
explanation"The codex states Blackthorn Security's logo is a thorned branch inside a shield, not a sword inside a circle."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
180
parsed
entry"6006"
detail"employees"
explanation"The codex states Blackthorn Security employs human operatives and bound supernatural entities, but this isn't mentioned in the text."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
closestExpected
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."
reason"detail mismatch: got \"employees\", expected \"logo\""
181
parsed
entry"6006"
detail"description"
explanation"The codex states Blackthorn Security is a private security company that is secretly a front for Warden hardliners who believe the current order is too lenient, but this isn't mentioned in the text."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
closestExpected
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."
reason"detail mismatch: got \"description\", expected \"logo\""
12.92% Precision
True positives: 27/209
totalReported209
truePositives27
reportedDetails
0
parsed
entry"4424"
detail"eyeColor"
explanation"The codex states Isolde has pale lavender eyes, not pale blue."
paragraph1
substring"Her pale blue eyes"
status"true_positive"
matchedExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
location
extractedText"Her pale blue eyes"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratetrue
1
parsed
entry"4424"
detail"hair"
explanation"The codex states Isolde has silver hair reaching her waist, not waist-length silver hair (this is actually consistent, so no violation here)."
paragraph1
substring"her waist-length silver hair"
status"false_positive"
location
extractedText"her waist-length silver hair"
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"detail mismatch: got \"hair\", expected \"eyeColor\""
2
parsed
entry"4424"
detail"footprints"
explanation"The codex states Isolde leaves no footprints when she walks, but the text describes her leaving clear prints."
paragraph4
substring"her bare feet leaving clear prints in the soft earth as she paced the circle"
status"true_positive"
matchedExpected
entry"4424"
detail"footprints"
summary"Isolde leaves no footprints per codex, but the passage says she leaves clear prints."
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"her bare feet leaving clear prints in the soft earth"
locationAccuratefalse
3
parsed
entry"4424"
detail"eyeColor"
explanation"The codex states Isolde has pale lavender eyes, not pale blue."
paragraph4
substring"Her pale blue eyes, unblinking"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"her pale blue eyes widening"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage again says pale blue eyes in a later paragraph."
reason"paragraph mismatch, reported 4, expected 13"
4
parsed
entry"4421"
detail"tattoo"
explanation"The codex states Yasmin has a flame serpent tattoo coiling up her left arm, not right arm."
paragraph8
substring"The flame serpent tattoo on her right arm seemed to writhe"
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 8]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
5
parsed
entry"4423"
detail"tattoo"
explanation"The codex states Wei-Lin has a dragon tattoo covering his entire back, not on his chest."
paragraph9
substring"The edge of the dragon tattoo on his chest was visible"
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 9]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
6
parsed
entry"4420"
detail"hair"
explanation"The codex states Kai has dyed electric-blue hair in an undercut, not natural black hair."
paragraph10
substring"his natural black hair falling into his face"
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 10]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
7
parsed
entry"6006"
detail"logo"
explanation"The codex states Blackthorn's logo is a thorned branch inside a shield, not a sword inside a circle."
paragraph11
substring"Their logo — the sword inside a circle"
status"true_positive"
matchedExpected
entry"6006"
detail"logo"
summary"Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle."
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
8
parsed
entry"6001"
detail"foundingYear"
explanation"The codex states the Wardens were founded in 1215, not 1066."
paragraph12
substring"The Wardens were founded in 1066"
status"true_positive"
matchedExpected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
9
parsed
entry"4417"
detail"scar"
explanation"The codex states Tomás has a scar running along his left forearm, not right forearm."
paragraph14
substring"His scarred right forearm"
status"true_positive"
matchedExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
10
parsed
entry"4417"
detail"birthplace"
explanation"The codex states Tomás was born in Seville, Spain, not Madrid."
paragraph14
substring"His Madrid accent thickened"
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 14]"
inBoundstrue
expectedText"His Madrid accent"
locationAccuratefalse
11
parsed
entry"4418"
detail"eyeColor"
explanation"The codex states Nyx has faintly glowing violet eyes, not blue."
paragraph16
substring"their glowing blue eyes"
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 16]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
12
parsed
entry"4419"
detail"eyeColor"
explanation"The codex states Maggie has sharp grey eyes, not green."
paragraph18
substring"Her keen green eyes"
status"true_positive"
matchedExpected
entry"4419"
detail"eyeColor"
summary"Maggie has grey eyes per codex, but the passage says green."
location
extractedText"[not found in paragraph 18]"
inBoundstrue
expectedText"Her keen green eyes"
locationAccuratefalse
13
parsed
entry"4413"
detail"eyeColor"
explanation"This is consistent with the codex, so no violation."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"Her pale blue eyes, unblinking"
locationAccurate(null)
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\""
14
parsed
entry"4413"
detail"limp"
explanation"The codex states Silas has a slight limp in his left leg from an old knee injury, which is consistent."
paragraph19
substring"He rubbed his left knee — the old injury"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
15
parsed
entry"2006"
detail"material"
explanation"The codex states the Fae-Forged Blade is made of moonsilver, but the text doesn't specify the material, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"true_positive"
matchedExpected
entry"2006"
detail"material"
summary"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
location
extractedText(null)
inBoundsfalse
expectedText"bronze daggers, they say"
locationAccurate(null)
16
parsed
entry"4412"
detail"hair"
explanation"The codex states Aurora has straight shoulder-length black hair, but this isn't mentioned in the text, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"his natural black hair falling into his face"
locationAccurate(null)
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\""
17
parsed
entry"4412"
detail"scar"
explanation"The codex states Aurora has a small crescent-shaped scar on her left wrist, but this isn't mentioned in the text, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"His scarred right forearm"
locationAccurate(null)
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\""
18
parsed
entry"4412"
detail"eyeColor"
explanation"The codex states Aurora has bright blue eyes, but this isn't mentioned in the text, so no violation."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"Her pale blue eyes, unblinking"
locationAccurate(null)
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\""
19
parsed
entry"2001"
detail"chainMaterial"
explanation"The codex states the Heartstone Pendant has a silver chain, not golden."
paragraph23
substring"the golden chain tangled in her fingers"
status"true_positive"
matchedExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
20
parsed
entry"2001"
detail"gemstoneColor"
explanation"The codex states the Heartstone Pendant has a deep crimson gemstone, which is consistent with crimson."
paragraph23
substring"the crimson stone glowing brighter"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\""
21
parsed
entry"2001"
detail"origin"
explanation"The codex states the Heartstone Pendant's origin is Dymas, not Avaros."
paragraph24
substring"The Heartstone was forged in Avaros"
status"true_positive"
matchedExpected
entry"2001"
detail"origin"
summary"The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros."
location
extractedText(null)
inBoundsfalse
expectedText"The Heartstone was forged in Avaros"
locationAccurate(null)
22
parsed
entry"7002"
detail"signedYear"
explanation"The codex states the Covenant of Separation was signed in 1215, not 1066."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"true_positive"
matchedExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
23
parsed
entry"7003"
detail"formation"
explanation"This is consistent with the codex, so no violation."
paragraph17
substring"Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
24
parsed
entry"6005"
detail"role"
explanation"The codex states Yu-Fei Cheung's restaurant is a neutral meeting ground for supernatural factions, but this isn't contradicted in the text."
paragraph9
substring"probably from a supplier, not my shop"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
25
parsed
entry"856"
detail"currentLocation"
explanation"The codex states the Veil Market is currently in an abandoned Tube station beneath Camden, not Shoreditch."
paragraph9
substring"The market's moved to an abandoned station under Shoreditch"
status"true_positive"
matchedExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
26
parsed
entry"7004"
detail"freedom"
explanation"The codex states contracts can only be freed if destroyed within the realm where signed, and since this was signed in Avaros, this is consistent."
paragraph14
substring"She managed to destroy her contract document while still in Avaros, which broke the bond"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
27
parsed
entry"7004"
detail"sealingMethod"
explanation"The codex states contracts are sealed by blood and recorded in that Prince's domain, but this isn't contradicted in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
28
parsed
entry"7005"
detail"requirement"
explanation"The codex states becoming a Shade requires being caught between realms during a failed summoning or portal collapse, which is consistent with walking shadow paths."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
29
parsed
entry"7005"
detail"physicalLoss"
explanation"The codex states the transformation strips the subject of their physical body permanently, which is consistent with being a being of living shadow."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
30
parsed
entry"7005"
detail"lostSenses"
explanation"The codex states Shades lose ability to taste, smell, or feel physical sensations, which is consistent with being a being of living shadow."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
31
parsed
entry"7005"
detail"reversibility"
explanation"The codex states the transformation is irreversible, which is consistent with Nyx being a permanent Shade."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
32
parsed
entry"4416"
detail"eyeColor"
explanation"The codex states Detective Quinn has brown eyes, but this describes Father Cormac, who has pale blue eyes according to the codex."
paragraph6
substring"his dark brown eyes troubled"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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"4422"
detail"eyeColor"
explanation"The codex states Father Cormac has pale blue eyes, not dark brown."
paragraph6
substring"his dark brown eyes troubled"
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 6]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
34
parsed
entry"4422"
detail"hair"
explanation"The codex states Father Cormac has thinning ginger hair, which is consistent."
paragraph6
substring"his thinning ginger hair"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
35
parsed
entry"4422"
detail"rosary"
explanation"The codex states Father Cormac has a rosary made of rowan wood beads, not cedar."
paragraph6
substring"He gripped his cedar rosary beads tightly"
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 6]"
inBoundstrue
expectedText"his cedar rosary beads"
locationAccuratefalse
36
parsed
entry"4422"
detail"collar"
explanation"The codex states Father Cormac wears a clerical collar at all times, but this isn't mentioned in the text."
paragraph6
substring"He gripped his cedar rosary beads tightly"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
37
parsed
entry"4415"
detail"eyeColor"
explanation"The codex states Lucien has heterochromatic eyes — one amber, one black, not both amber."
paragraph7
substring"Both his amber eyes were fixed"
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 7]"
inBoundstrue
expectedText"Both his amber eyes were fixed"
locationAccuratefalse
38
parsed
entry"4415"
detail"hair"
explanation"The codex states Lucien has slicked-back platinum blond hair, but this isn't mentioned in the text."
paragraph7
substring"adjusting the cuff of his charcoal suit"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
39
parsed
entry"4415"
detail"cane"
explanation"The codex states Lucien has an ivory-handled cane that conceals a thin blade, not mahogany."
paragraph7
substring"leaning on his mahogany cane"
status"true_positive"
matchedExpected
entry"4415"
detail"cane"
summary"Lucien carries an ivory-handled cane per codex, but the passage says mahogany."
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
40
parsed
entry"4415"
detail"dress"
explanation"The codex states Lucien wears tailored charcoal suits, which is consistent."
paragraph7
substring"adjusting the cuff of his charcoal suit"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
41
parsed
entry"4414"
detail"hair"
explanation"The codex states Eva has curly red hair, which is consistent."
paragraph2
substring"her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"her curly red hair escaping from under a wool hat"
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\""
42
parsed
entry"4414"
detail"glasses"
explanation"The codex states Eva wears round glasses, not square."
paragraph2
substring"Her square glasses kept fogging"
status"true_positive"
matchedExpected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
location
extractedText"Her square glasses kept fogging"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratetrue
43
parsed
entry"4414"
detail"satchel"
explanation"The codex states Eva has a worn leather satchel full of books, which is consistent."
paragraph2
substring"clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"clutching her leather satchel with both hands"
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\""
44
parsed
entry"4414"
detail"nervousHabit"
explanation"The codex states Eva's nervous habit is tucking hair behind her left ear, not clutching her satchel."
paragraph2
substring"clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"clutching her leather satchel with both hands"
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\""
45
parsed
entry"4414"
detail"freckles"
explanation"The codex states Eva has a freckled complexion, but this isn't mentioned in the text."
paragraph2
substring"her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"her curly red hair escaping from under a wool hat"
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\""
46
parsed
entry"4412"
detail"hair"
explanation"The codex states Aurora has straight shoulder-length black hair, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
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\""
47
parsed
entry"4412"
detail"scar"
explanation"The codex states Aurora has a small crescent-shaped scar on her left wrist, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
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\""
48
parsed
entry"4412"
detail"eyeColor"
explanation"The codex states Aurora has bright blue eyes, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
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\""
49
parsed
entry"4412"
detail"height"
explanation"The codex states Aurora is 5'6\" tall, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
50
parsed
entry"4412"
detail"age"
explanation"The codex states Aurora is 25 years old, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
51
parsed
entry"4412"
detail"description"
explanation"The codex describes Aurora as cool-headed, intelligent, and known for quick out-of-the-box thinking, but this isn't mentioned in the text."
paragraph1
substring"Aurora arrived first, the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"[not found in paragraph 1]"
inBoundstrue
expectedText""
locationAccuratefalse
52
parsed
entry"4413"
detail"hair"
explanation"The codex states Silas has grey-streaked auburn hair, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"his natural black hair falling into his face"
locationAccurate(null)
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\""
53
parsed
entry"4413"
detail"beard"
explanation"The codex states Silas has a neatly trimmed beard matching his grey-streaked auburn hair, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
54
parsed
entry"4413"
detail"height"
explanation"The codex states Silas is 6'1\" tall, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
55
parsed
entry"4413"
detail"age"
explanation"The codex states Silas is 58 years old, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
56
parsed
entry"4413"
detail"signetRing"
explanation"The codex states Silas wears a silver signet ring on his right hand, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
57
parsed
entry"4413"
detail"description"
explanation"The codex describes Silas as a retired intelligence operative turned bar owner who carries himself with quiet authority, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
58
parsed
entry"4413"
detail"backstory"
explanation"The codex states Silas was a former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury, but this isn't mentioned in the text."
paragraph19
substring"His hazel eyes were grave"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
59
parsed
entry"4414"
detail"height"
explanation"The codex states Eva is 5'4\" tall, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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\""
60
parsed
entry"4414"
detail"age"
explanation"The codex states Eva is 26 years old, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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 \"age\", expected \"glasses\""
61
parsed
entry"4414"
detail"description"
explanation"The codex describes Eva as Aurora's childhood friend and an occult researcher, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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\""
62
parsed
entry"4414"
detail"backstory"
explanation"The codex states Eva moved to London two years before Aurora and works as a research assistant at the British Museum's restricted archives, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands"
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\""
63
parsed
entry"4415"
detail"height"
explanation"The codex states Lucien is 5'11\" tall, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
64
parsed
entry"4415"
detail"age"
explanation"The codex states Lucien is 32 years old, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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 \"age\", expected \"cane\""
65
parsed
entry"4415"
detail"description"
explanation"The codex describes Lucien as an impeccably dressed fixer and information broker in London's supernatural underworld who speaks four languages fluently, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
66
parsed
entry"4415"
detail"backstory"
explanation"The codex states Lucien was born in Marseille to a human mother and a demon father from the realm of Avaros, but this isn't mentioned in the text."
paragraph7
substring"Lucien drawled, leaning on his mahogany cane"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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\""
67
parsed
entry"4416"
detail"height"
explanation"The codex states Detective Quinn is 5'9\" tall, but this describes Father Cormac, who is 5'8\" according to the codex."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
68
parsed
entry"4416"
detail"age"
explanation"The codex states Detective Quinn is 41 years old, but this describes Father Cormac, who is 55 according to the codex."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
69
parsed
entry"4416"
detail"description"
explanation"The codex describes Detective Quinn as a Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
70
parsed
entry"4416"
detail"backstory"
explanation"The codex states Detective Quinn lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
71
parsed
entry"4417"
detail"height"
explanation"The codex states Tomás is 5'10\" tall, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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\""
72
parsed
entry"4417"
detail"age"
explanation"The codex states Tomás is 29 years old, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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 \"age\", expected \"scar\""
73
parsed
entry"4417"
detail"description"
explanation"The codex describes Tomás as a former paramedic who provides off-the-books medical care for the clique, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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\""
74
parsed
entry"4417"
detail"backstory"
explanation"The codex states Tomás was born in Seville, Spain, and moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients, but this isn't mentioned in the text."
paragraph14
substring"Tomás, who had been quietly checking medical supplies in his bag, looked up"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
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\""
75
parsed
entry"4418"
detail"height"
explanation"The codex states Nyx is approximately 6'2\" in solid form, but this isn't mentioned in the text."
paragraph16
substring"Nyx materialized from the shadow of a standing stone"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
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\""
76
parsed
entry"4418"
detail"description"
explanation"The codex describes Nyx as a being of living shadow, existing between the mortal plane and the spaces between realms, but this isn't mentioned in the text."
paragraph16
substring"Nyx materialized from the shadow of a standing stone"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
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\""
77
parsed
entry"4418"
detail"backstory"
explanation"The codex states Nyx was once a human sorcerer named Aldric who became trapped between realms during a failed summoning ritual in 1643, but this isn't mentioned in the text."
paragraph16
substring"Nyx materialized from the shadow of a standing stone"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
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\""
78
parsed
entry"4419"
detail"height"
explanation"The codex states Maggie is 5'2\" tall, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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\""
79
parsed
entry"4419"
detail"age"
explanation"The codex states Maggie is 72 years old, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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 \"age\", expected \"walkingStick\""
80
parsed
entry"4419"
detail"description"
explanation"The codex describes Maggie as a retired librarian turned unofficial consultant for the clique on historical and occult matters, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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\""
81
parsed
entry"4419"
detail"backstory"
explanation"The codex states Maggie was former head librarian at the Bodleian Library in Oxford and is a widow whose late husband was a Warden, but this isn't mentioned in the text."
paragraph18
substring"Maggie rapped her oak walking stick against a stone"
status"false_positive"
location
extractedText"[not found in paragraph 18]"
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\""
82
parsed
entry"4420"
detail"height"
explanation"The codex states Kai is 5'7\" tall, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
83
parsed
entry"4420"
detail"age"
explanation"The codex states Kai is 22 years old, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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 \"age\", expected \"hair\""
84
parsed
entry"4420"
detail"description"
explanation"The codex describes Kai as a Japanese-British self-taught tech prodigy who provides the clique with surveillance tools and digital forensics, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
85
parsed
entry"4420"
detail"backstory"
explanation"The codex states Kai dropped out of Imperial College London after his first year and lives in a converted shipping container in Hackney Wick, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
86
parsed
entry"4421"
detail"height"
explanation"The codex states Yasmin is 5'8\" tall, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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\""
87
parsed
entry"4421"
detail"age"
explanation"The codex states Yasmin is 34 years old, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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 \"age\", expected \"tattoo\""
88
parsed
entry"4421"
detail"description"
explanation"The codex describes Yasmin as an alchemist who runs a discreet apothecary in Brixton, selling both mundane herbal remedies and supernatural tinctures, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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\""
89
parsed
entry"4421"
detail"backstory"
explanation"The codex states Yasmin is descended from a line of Djinn-touched humans from Marrakech and trained by her grandmother, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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\""
90
parsed
entry"4422"
detail"height"
explanation"The codex states Father Cormac is 5'8\" tall, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
91
parsed
entry"4422"
detail"age"
explanation"The codex states Father Cormac is 55 years old, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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 \"age\", expected \"eyeColor\""
92
parsed
entry"4422"
detail"description"
explanation"The codex describes Father Cormac as an Irish Catholic priest assigned to St. Brigid's parish in Islington who secretly assists the clique with blessings and wards, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
93
parsed
entry"4422"
detail"backstory"
explanation"The codex states Father Cormac witnessed a demonic incursion at his seminary in Cork twenty years ago that the Church covered up, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
94
parsed
entry"4423"
detail"height"
explanation"The codex states Wei-Lin is 5'9\" tall, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
95
parsed
entry"4423"
detail"age"
explanation"The codex states Wei-Lin is 48 years old, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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 \"age\", expected \"tattoo\""
96
parsed
entry"4423"
detail"description"
explanation"The codex describes Wei-Lin as a former Triad enforcer turned noodle shop owner who trades information with Silas, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
97
parsed
entry"4423"
detail"backstory"
explanation"The codex states Wei-Lin retired from organized crime after a near-death experience involving a Hel portal in Hong Kong and now runs \"Zhou's Golden Dragon\" in Chinatown, but this isn't mentioned in the text."
paragraph9
substring"Wei-Lin, leaning against one of the standing stones with his arms folded, grunted in agreement"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
98
parsed
entry"853"
detail"ruler"
explanation"The codex states Dymas is ruled by Prince Belphegor, not Prince Lilith."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"853\", expected \"855\""
99
parsed
entry"854"
detail"signColor"
explanation"The codex states The Raven's Nest has a distinctive green neon sign above the entrance, but this isn't mentioned in the text."
paragraph19
substring"Silas, who had been standing silently at the edge of the grove, spoke at last"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
100
parsed
entry"854"
detail"secretRoom"
explanation"The codex states The Raven's Nest has a hidden back room accessible through a bookshelf used for clandestine meetings, but this isn't mentioned in the text."
paragraph19
substring"Silas, who had been standing silently at the edge of the grove, spoke at last"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
101
parsed
entry"854"
detail"description"
explanation"The codex describes The Raven's Nest as a dimly lit bar in Soho, London with walls covered with old maps and black-and-white photographs, but this isn't mentioned in the text."
paragraph19
substring"Silas, who had been standing silently at the edge of the grove, spoke at last"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText""
locationAccurate(null)
102
parsed
entry"855"
detail"ruler"
explanation"The codex states Avaros is ruled by Prince Mammon, which is consistent."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"true_positive"
matchedExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
103
parsed
entry"855"
detail"skyColor"
explanation"The codex states Avaros has a sickly gold sky, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"detail mismatch: got \"skyColor\", expected \"ruler\""
104
parsed
entry"855"
detail"description"
explanation"The codex describes Avaros as a landscape of towering vaults and endless treasure halls with streets paved with fool's gold and air smelling of copper, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"detail mismatch: got \"description\", expected \"ruler\""
105
parsed
entry"856"
detail"currentLocation"
explanation"The codex states the Veil Market is currently in an abandoned Tube station beneath Camden, not Shoreditch."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
106
parsed
entry"856"
detail"entryRequirement"
explanation"The codex states the Veil Market requires a bone token for entry, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason"detail mismatch: got \"entryRequirement\", expected \"currentLocation\""
107
parsed
entry"856"
detail"schedule"
explanation"The codex states the Veil Market moves locations every full moon, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason"detail mismatch: got \"schedule\", expected \"currentLocation\""
108
parsed
entry"856"
detail"description"
explanation"The codex describes the Veil Market as a hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
closestExpected
entry"856"
detail"currentLocation"
summary"The Veil Market is under Camden per codex, but Wei-Lin says Shoreditch."
reason"detail mismatch: got \"description\", expected \"currentLocation\""
109
parsed
entry"857"
detail"ruler"
explanation"The codex states Irath is ruled by Prince Abaddon, but the text doesn't specify who rules Irath in this context."
paragraph7
substring"Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"857\", expected \"855\""
110
parsed
entry"857"
detail"skyColor"
explanation"The codex states Irath has a permanent bruised red sky, but this isn't mentioned in the text."
paragraph7
substring"Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
111
parsed
entry"857"
detail"description"
explanation"The codex describes Irath as a volcanic wasteland of perpetual war with rivers of molten rock flowing between obsidian fortresses where damned souls fight in endless gladiatorial combat, but this isn't mentioned in the text."
paragraph7
substring"Their servants spread Dream Dust through the city — stored in little red glass vials, sealed with white wax"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
112
parsed
entry"858"
detail"cat"
explanation"The codex states Eva's flat has a tabby cat named Ptolemy, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratefalse
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"entry mismatch: got \"858\", expected \"861\""
113
parsed
entry"858"
detail"security"
explanation"The codex states Eva's flat has three deadbolts on the front door, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
inBoundstrue
expectedText""
locationAccuratetrue
114
parsed
entry"858"
detail"description"
explanation"The codex describes Eva's flat as a cramped one-bedroom flat above a curry house on Brick Lane, East London with every surface covered with books, scrolls, and research notes, but this isn't mentioned in the text."
paragraph2
substring"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
status"false_positive"
location
extractedText"Eva was beside her, clutching her leather satchel with both hands, her curly red hair escaping from under a wool hat"
inBoundstrue
expectedText""
locationAccuratetrue
115
parsed
entry"859"
detail"ruler"
explanation"The codex states Somnia is ruled by Prince Asmodeus, not Prince Lilith."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"859\", expected \"855\""
116
parsed
entry"859"
detail"atmosphere"
explanation"The codex states Somnia has a faintly sweet, narcotic smell, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
117
parsed
entry"859"
detail"description"
explanation"The codex describes Somnia as an endless twilight landscape of fog-shrouded meadows and crumbling mansions where inhabitants gradually lose all motivation and ambition, sinking into eternal lethargy, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
118
parsed
entry"860"
detail"password"
explanation"The codex states Yasmin's Apothecary requires \"moonrise\" as a password for back room access, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
119
parsed
entry"860"
detail"frontStock"
explanation"The codex states Yasmin's Apothecary has herbal teas and aromatherapy oils as front stock, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
120
parsed
entry"860"
detail"backStock"
explanation"The codex states Yasmin's Apothecary has supernatural potions, binding salts, and alchemical reagents as back stock, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
121
parsed
entry"860"
detail"description"
explanation"The codex describes Yasmin's Apothecary as a narrow shop on a side street in Brixton with a mundane front and a hidden supernatural back room, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText""
locationAccuratefalse
122
parsed
entry"861"
detail"parkLocation"
explanation"The codex states the Fae Grove is in Richmond Park, not Hyde Park."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
status"true_positive"
matchedExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
123
parsed
entry"861"
detail"standingStones"
explanation"The codex states the Fae Grove has ancient oak standing stones marking the boundary, not elm."
paragraph1
substring"The ancient elm standing stones hummed with a resonance that Isolde felt in her bones"
status"true_positive"
matchedExpected
entry"861"
detail"standingStones"
summary"The grove has oak standing stones per codex, but the passage says elm."
location
extractedText"The ancient elm standing stones hummed with a resonance that Isolde felt in her bones"
inBoundstrue
expectedText"The ancient elm standing stones"
locationAccuratetrue
124
parsed
entry"861"
detail"timeBehavior"
explanation"The codex states time moves differently in the Fae Grove — an hour inside can be minutes or days outside, but this isn't mentioned in the text."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
status"false_positive"
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"detail mismatch: got \"timeBehavior\", expected \"parkLocation\""
125
parsed
entry"861"
detail"flora"
explanation"The codex states wildflowers bloom year-round in the Fae Grove, but this isn't mentioned in the text."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
status"false_positive"
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"detail mismatch: got \"flora\", expected \"parkLocation\""
126
parsed
entry"861"
detail"description"
explanation"The codex describes the Fae Grove as a hidden clearing that exists in a pocket between Earth and the Fae realm, but this isn't mentioned in the text."
paragraph1
substring"The Fae Grove in Hyde Park shimmered in the dying October light"
status"false_positive"
location
extractedText"The Fae Grove in Hyde Park shimmered in the dying October light"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
closestExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
reason"detail mismatch: got \"description\", expected \"parkLocation\""
127
parsed
entry"862"
detail"ruler"
explanation"The codex states Luxuria is ruled by Prince Lilith, which is consistent."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
closestExpected
entry"855"
detail"ruler"
summary"Avaros is Prince Mammon's realm per codex, but Tomás says Prince Belphegor's agents operate there."
reason"entry mismatch: got \"862\", expected \"855\""
128
parsed
entry"862"
detail"skyColor"
explanation"The codex states Luxuria has a deep twilight purple sky, but this isn't mentioned in the text."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
129
parsed
entry"862"
detail"description"
explanation"The codex describes Luxuria as a hauntingly beautiful realm of moonlit gardens, mirrored halls, and enchanting music where visitors become entranced by illusions of their deepest desires, but this isn't mentioned in the text."
paragraph4
substring"Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
130
parsed
entry"2001"
detail"gemstoneColor"
explanation"The codex states the Heartstone Pendant has a deep crimson gemstone, which is consistent with crimson."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"gemstoneColor\", expected \"chainMaterial\""
131
parsed
entry"2001"
detail"chainMaterial"
explanation"The codex states the Heartstone Pendant has a silver chain, not golden."
paragraph23
substring"the golden chain tangled in her fingers"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"The Heartstone was forged in Avaros"
locationAccurate(null)
closestExpected
entry"2001"
detail"origin"
summary"The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros."
reason"detail mismatch: got \"chainMaterial\", expected \"origin\""
132
parsed
entry"2001"
detail"size"
explanation"The codex states the Heartstone Pendant is roughly the size of a thumbnail, but this isn't mentioned in the text."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"size\", expected \"chainMaterial\""
133
parsed
entry"2001"
detail"behavior"
explanation"The codex states the Heartstone Pendant pulses faintly with warmth when near a Hel portal, but this isn't mentioned in the text."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"behavior\", expected \"chainMaterial\""
134
parsed
entry"2001"
detail"glow"
explanation"The codex states the Heartstone Pendant has a faint inner glow, which is consistent with glowing."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"glow\", expected \"chainMaterial\""
135
parsed
entry"2001"
detail"description"
explanation"The codex states the Heartstone Pendant was given to Aurora by an unknown benefactor, but this isn't mentioned in the text."
paragraph23
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the golden chain tangled in her fingers"
locationAccurate(null)
closestExpected
entry"2001"
detail"chainMaterial"
summary"The Heartstone Pendant has a silver chain per codex, but the passage says golden chain."
reason"detail mismatch: got \"description\", expected \"chainMaterial\""
136
parsed
entry"2002"
detail"pageMaterial"
explanation"The codex states the Ledger of Debts has thin beaten copper pages, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText"bronze daggers, they say"
locationAccuratetrue
closestExpected
entry"2006"
detail"material"
summary"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
reason"entry mismatch: got \"2002\", expected \"2006\""
137
parsed
entry"2002"
detail"binding"
explanation"The codex states the Ledger of Debts has an iron-bound binding, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
138
parsed
entry"2002"
detail"inkColor"
explanation"The codex states the Ledger of Debts has dark red ink that appears on its own, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
139
parsed
entry"2002"
detail"power"
explanation"The codex states the Ledger of Debts allows whoever possesses it to call in debts owed to them, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
140
parsed
entry"2002"
detail"description"
explanation"The codex states the Ledger of Debts is a thick ledger that records every supernatural debt owed, but this isn't mentioned in the text."
paragraph7
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
inBoundstrue
expectedText""
locationAccuratetrue
141
parsed
entry"2003"
detail"material"
explanation"The codex states the Irathi War Gauntlet is made of blackened iron with glowing red runes, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"sealed with white wax"
locationAccuratefalse
closestExpected
entry"2005"
detail"sealMaterial"
summary"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
reason"entry mismatch: got \"2003\", expected \"2005\""
142
parsed
entry"2003"
detail"power"
explanation"The codex states the Irathi War Gauntlet grants superhuman strength but slowly corrupts the wearer's mind with rage, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
143
parsed
entry"2003"
detail"creator"
explanation"The codex states the Irathi War Gauntlet was created by a demon smith named Gorath, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
144
parsed
entry"2003"
detail"description"
explanation"The codex states the Irathi War Gauntlet is a fearsome gauntlet forged in the volcanic forges of Irath, but this isn't mentioned in the text."
paragraph9
substring"Someone's been buying Fae-Forged Blades from the Veil Market — bronze daggers, they say, that can cut through wards"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
145
parsed
entry"2004"
detail"casingMaterial"
explanation"The codex states the Veil Compass has a small brass compass casing, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"bronze daggers, they say"
locationAccuratefalse
closestExpected
entry"2006"
detail"material"
summary"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
reason"entry mismatch: got \"2004\", expected \"2006\""
146
parsed
entry"2004"
detail"faceMarkings"
explanation"The codex states the Veil Compass has a face etched with protective sigils, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
147
parsed
entry"2004"
detail"needle"
explanation"The codex states the Veil Compass has a needle that points toward the nearest supernatural rift or portal, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
148
parsed
entry"2004"
detail"patina"
explanation"The codex states the Veil Compass casing has a patina of verdigris, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
149
parsed
entry"2004"
detail"creator"
explanation"The codex states the Veil Compass was crafted by a Shade artisan, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
150
parsed
entry"2004"
detail"description"
explanation"The codex states the Veil Compass is a compass attuned to supernatural energy, but this isn't mentioned in the text."
paragraph10
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText""
locationAccuratefalse
151
parsed
entry"2005"
detail"color"
explanation"The codex states Somnian Dream Dust is a fine silver powder, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"true_positive"
matchedExpected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
152
parsed
entry"2005"
detail"containerColor"
explanation"The codex states Somnian Dream Dust is stored in small cobalt-blue glass vials, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"sealed with white wax"
locationAccuratefalse
closestExpected
entry"2005"
detail"sealMaterial"
summary"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
reason"detail mismatch: got \"containerColor\", expected \"sealMaterial\""
153
parsed
entry"2005"
detail"sealMaterial"
explanation"The codex states Somnian Dream Dust is sealed with black wax, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"true_positive"
matchedExpected
entry"2005"
detail"sealMaterial"
summary"Dream Dust vials are sealed with black wax per codex, but Isolde says white wax."
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"sealed with white wax"
locationAccuratefalse
154
parsed
entry"2005"
detail"effect"
explanation"The codex states Somnian Dream Dust induces a deep trance for navigating memories and dreamscapes, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
closestExpected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
reason"detail mismatch: got \"effect\", expected \"containerColor\""
155
parsed
entry"2005"
detail"sideEffect"
explanation"The codex states Somnian Dream Dust causes permanent drowsiness with overuse, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
closestExpected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
reason"detail mismatch: got \"sideEffect\", expected \"containerColor\""
156
parsed
entry"2005"
detail"description"
explanation"The codex states Somnian Dream Dust is a narcotic powder harvested from the twilight meadows of Somnia, but this isn't mentioned in the text."
paragraph8
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
closestExpected
entry"2005"
detail"containerColor"
summary"Dream Dust is stored in cobalt-blue vials per codex, but Isolde says red glass vials."
reason"detail mismatch: got \"description\", expected \"containerColor\""
157
parsed
entry"2006"
detail"material"
explanation"The codex states the Fae-Forged Blade is made of moonsilver, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"material\", expected \"temperature\""
158
parsed
entry"2006"
detail"shape"
explanation"The codex states the Fae-Forged Blade is a slender, leaf-shaped dagger, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"shape\", expected \"temperature\""
159
parsed
entry"2006"
detail"temperature"
explanation"The codex states the Fae-Forged Blade is always cold to the touch, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"paragraph mismatch, reported 22, expected 2"
160
parsed
entry"2006"
detail"glow"
explanation"The codex states the Fae-Forged Blade faintly luminescent in moonlight, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"glow\", expected \"temperature\""
161
parsed
entry"2006"
detail"power"
explanation"The codex states the Fae-Forged Blade can cut through magical wards and is particularly effective against demons, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"power\", expected \"temperature\""
162
parsed
entry"2006"
detail"givenTo"
explanation"The codex states the Fae-Forged Blade was given to Aurora by Isolde as a gift, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"givenTo\", expected \"temperature\""
163
parsed
entry"2006"
detail"description"
explanation"The codex states the Fae-Forged Blade is a weapon of the Fae Courts, rare and highly coveted, but this isn't mentioned in the text."
paragraph22
substring"She gripped the Fae-Forged Blade"
status"false_positive"
location
extractedText(null)
inBoundsfalse
expectedText"the Fae-Forged Blade warm at her hip"
locationAccurate(null)
closestExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
reason"detail mismatch: got \"description\", expected \"temperature\""
164
parsed
entry"7001"
detail"solsticeEffect"
explanation"The codex states the Veil weakens during the winter solstice and strengthens during the summer solstice, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
165
parsed
entry"7001"
detail"appearance"
explanation"The codex states the Veil appears as a faint shimmering distortion visible only to those with supernatural sight, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
166
parsed
entry"7001"
detail"monitoring"
explanation"The codex states rift points are monitored by the Wardens, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
167
parsed
entry"7001"
detail"description"
explanation"The codex states the Veil is the metaphysical barrier separating Earth from Hel and the Fae Realms, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
168
parsed
entry"7002"
detail"signedYear"
explanation"The codex states the Covenant of Separation was signed in 1215, not 1066."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
169
parsed
entry"7002"
detail"signatories"
explanation"The codex states the Covenant of Separation was signed by rulers of Hel, the Fae Courts, and a council of human sorcerers, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"signatories\", expected \"signedYear\""
170
parsed
entry"7002"
detail"enforcement"
explanation"The codex states violations of the Covenant allow the Wardens to use lethal force, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"enforcement\", expected \"signedYear\""
171
parsed
entry"7002"
detail"physicalForm"
explanation"The codex states the Covenant of Separation is inscribed on seven stone tablets, each held by a different Warden chapter worldwide, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"physicalForm\", expected \"signedYear\""
172
parsed
entry"7002"
detail"description"
explanation"The codex states the Covenant of Separation is an ancient treaty that forbids direct demonic or Fae interference on Earth, but this isn't mentioned in the text."
paragraph6
substring"The Covenant of Separation — the old treaty from 1066"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
closestExpected
entry"7002"
detail"signedYear"
summary"The Covenant of Separation was signed in 1215 per codex, but Cormac says 1066."
reason"detail mismatch: got \"description\", expected \"signedYear\""
173
parsed
entry"7003"
detail"peakActivity"
explanation"The codex states rift points are most active during the winter solstice, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
174
parsed
entry"7003"
detail"formation"
explanation"The codex states rift points tend to form near underground water sources, which is consistent with the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
175
parsed
entry"7003"
detail"emission"
explanation"The codex states rift points emit a low hum inaudible to normal humans but detectable by supernatural beings and Warden instruments, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
176
parsed
entry"7003"
detail"description"
explanation"The codex states rift points are naturally occurring weak spots in the Veil where the barrier between Earth and other realms is thin enough to cross, but this isn't mentioned in the text."
paragraph17
substring"The rifts are multiplying. Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 17]"
inBoundstrue
expectedText""
locationAccuratefalse
177
parsed
entry"7004"
detail"sealingMethod"
explanation"The codex states Helbound souls are sealed by blood and recorded in that Prince's domain, but this isn't mentioned in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
178
parsed
entry"7004"
detail"retention"
explanation"The codex states Helbound souls retain their skills and personality but are compelled to serve, but this isn't mentioned in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
179
parsed
entry"7004"
detail"freedom"
explanation"The codex states Helbound souls can only be freed if the contract is physically destroyed within the realm where it was signed, which is consistent with the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
180
parsed
entry"7004"
detail"description"
explanation"The codex states Helbound souls are mortals who have entered into a binding contract with a Hel Prince, but this isn't mentioned in the text."
paragraph14
substring"She'd escaped from a contract signed in Avaros — said Prince Belphegor's agents are kidnapping humans and forcing contracts on them"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
181
parsed
entry"7005"
detail"requirement"
explanation"The codex states Shade transformation requires being caught between realms during a failed summoning or portal collapse, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
182
parsed
entry"7005"
detail"physicalLoss"
explanation"The codex states Shade transformation strips the subject of their physical body permanently, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
183
parsed
entry"7005"
detail"lostSenses"
explanation"The codex states Shades lose ability to taste, smell, or feel physical sensations, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
184
parsed
entry"7005"
detail"reversibility"
explanation"The codex states Shade transformation is irreversible, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
185
parsed
entry"7005"
detail"description"
explanation"The codex states Shade transformation is the process by which a living being becomes a Shade, but this isn't mentioned in the text."
paragraph16
substring"I walked the shadow paths last night"
status"false_positive"
location
extractedText"[not found in paragraph 16]"
inBoundstrue
expectedText""
locationAccuratefalse
186
parsed
entry"6001"
detail"foundingYear"
explanation"The codex states the Wardens were founded in 1215, not 1066."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
187
parsed
entry"6001"
detail"identificationMark"
explanation"The codex states Wardens have a small iron pin in the shape of a closed eye as identification, but this isn't mentioned in the text."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
closestExpected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
reason"detail mismatch: got \"identificationMark\", expected \"foundingYear\""
188
parsed
entry"6001"
detail"mission"
explanation"The codex states Wardens' mission is maintaining the Veil between Earth and Hel, monitoring rift activity, neutralizing supernatural threats, and enforcing the Covenant of Separation, but this isn't mentioned in the text."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
closestExpected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
reason"detail mismatch: got \"mission\", expected \"foundingYear\""
189
parsed
entry"6001"
detail"description"
explanation"The codex states Wardens are an ancient order dedicated to guarding the boundary between worlds and view the clique with suspicion, but this isn't mentioned in the text."
paragraph12
substring"The Wardens were founded in 1066 to maintain order, not wage war, but Blackthorn doesn't share that restraint"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
closestExpected
entry"6001"
detail"foundingYear"
summary"The Wardens were founded in 1215 per codex, but Maggie says 1066."
reason"detail mismatch: got \"description\", expected \"foundingYear\""
190
parsed
entry"6002"
detail"leadership"
explanation"The codex states the Crimson Court is a council of seven demon lords, each representing a different circle of Hel, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccuratefalse
closestExpected
entry"6002"
detail"headquarters"
summary"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
reason"detail mismatch: got \"leadership\", expected \"headquarters\""
191
parsed
entry"6002"
detail"operations"
explanation"The codex states the Crimson Court operates through human proxies, corrupted artifacts, and Helbound agents, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccuratefalse
closestExpected
entry"6002"
detail"headquarters"
summary"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
reason"detail mismatch: got \"operations\", expected \"headquarters\""
192
parsed
entry"6002"
detail"description"
explanation"The codex states the Crimson Court is an elite circle of demon aristocrats who seek to expand Hel's influence into Earth, but this isn't mentioned in the text."
paragraph7
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"the Crimson Court's base of operations has shifted from Dymas to Irath"
locationAccuratefalse
closestExpected
entry"6002"
detail"headquarters"
summary"The Crimson Court's headquarters is in Dymas per codex, but Lucien says their base has shifted to Irath."
reason"detail mismatch: got \"description\", expected \"headquarters\""
193
parsed
entry"6003"
detail"master"
explanation"The codex states the Somnian Cult's master is Prince Asmodeus, not Prince Lilith."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"true_positive"
matchedExpected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
194
parsed
entry"6003"
detail"recruitmentMethod"
explanation"The codex states the Somnian Cult recruits through promises of peace and freedom from suffering, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
closestExpected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
reason"detail mismatch: got \"recruitmentMethod\", expected \"master\""
195
parsed
entry"6003"
detail"lure"
explanation"The codex states the Somnian Cult distributes Dream Dust, which is consistent with the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
closestExpected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
reason"detail mismatch: got \"lure\", expected \"master\""
196
parsed
entry"6003"
detail"description"
explanation"The codex states the Somnian Cult is a cult of mortals who willingly entered Somnia seeking eternal rest and recruit new members on Earth, but this isn't mentioned in the text."
paragraph4
substring"The Somnian Cult grows bolder. Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"Prince Lilith, demands more dreamers"
locationAccuratefalse
closestExpected
entry"6003"
detail"master"
summary"The Somnian Cult serves Prince Asmodeus per codex, but Isolde says Prince Lilith."
reason"detail mismatch: got \"description\", expected \"master\""
197
parsed
entry"6004"
detail"leader"
explanation"The codex states the Parish Guard is led by Father Cormac, which is consistent."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"leader\", expected \"headquarters\""
198
parsed
entry"6004"
detail"identification"
explanation"The codex states the Parish Guard uses rowan-wood rosaries for identification, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"identification\", expected \"headquarters\""
199
parsed
entry"6004"
detail"independence"
explanation"The codex states the Parish Guard operates independently from the Wardens, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"independence\", expected \"headquarters\""
200
parsed
entry"6004"
detail"description"
explanation"The codex states the Parish Guard is a secret network of clergy and laypeople who protect London from supernatural threats, but this isn't mentioned in the text."
paragraph6
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"our cathedral in Southwark"
locationAccuratefalse
closestExpected
entry"6004"
detail"headquarters"
summary"The Parish Guard HQ is St. Brigid's in Islington per codex, but Cormac says Southwark."
reason"detail mismatch: got \"description\", expected \"headquarters\""
201
parsed
entry"6005"
detail"owner"
explanation"The codex states the Golden Empress Restaurant is owned by Yu-Fei Cheung, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
202
parsed
entry"6005"
detail"role"
explanation"The codex states the Golden Empress Restaurant serves as a neutral meeting ground for supernatural factions, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
203
parsed
entry"6005"
detail"employee"
explanation"The codex states Aurora works at the Golden Empress Restaurant part-time as a delivery person, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
204
parsed
entry"6005"
detail"description"
explanation"The codex states the Golden Empress Restaurant is a Cantonese restaurant in Chinatown where Yu-Fei knows about the supernatural world but stays strictly neutral, but this isn't mentioned in the text."
paragraph9
substring"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"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
205
parsed
entry"6006"
detail"leader"
explanation"The codex states Blackthorn Security is led by former Warden commander Helena Voss, which is consistent."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
closestExpected
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."
reason"detail mismatch: got \"leader\", expected \"logo\""
206
parsed
entry"6006"
detail"logo"
explanation"The codex states Blackthorn Security's logo is a thorned branch inside a shield, not a sword inside a circle."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
207
parsed
entry"6006"
detail"employees"
explanation"The codex states Blackthorn Security employs human operatives and bound supernatural entities, but this isn't mentioned in the text."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
closestExpected
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."
reason"detail mismatch: got \"employees\", expected \"logo\""
208
parsed
entry"6006"
detail"description"
explanation"The codex states Blackthorn Security is a private security company that is secretly a front for Warden hardliners who believe the current order is too lenient, but this isn't mentioned in the text."
paragraph11
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
closestExpected
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."
reason"detail mismatch: got \"description\", expected \"logo\""
100.00% Structural validity
Parsed: 209, Well-formed: 209/209
parsedCount209
wellFormedScore209
37.6396%