Run: 2026-04-24-01KQ06WHPG5R2MNBBNMK96E592

Run Details

Duration:
1m 42s
Cost:
$0.028527
Provider:
Xiaomi

Evaluation summary

Score Evaluator
Details Link
0.00% Accuracy (recall) (details)
22.50% Precision (details)
99.58% Structural validity (details)
40.6944% 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="2006" detail="temperature" paragraph="2" substring="the Fae-Forged Blade warm at her hip">The text says the blade is warm, but the codex says it is always cold to the touch.</violation> <violation entry="4424" detail="eyeColor" paragraph="1" substring="Her pale blue eyes">The text says Isolde has pale blue eyes, but the codex says pale lavender.</violation> <violation entry="861" detail="parkLocation" paragraph="1" substring="The Fae Grove in Hyde Park">The text places the grove in Hyde Park, but the codex says it is in Richmond Park.</violation> <violation entry="861" detail="standingStones" paragraph="1" substring="The ancient elm standing stones">The text says the stones are elm, but the codex says ancient oak.</violation> <violation entry="2005" detail="containerColor" paragraph="4" substring="stored in little red glass vials">The text says red vials, but the codex says cobalt-blue.</violation> <violation entry="2005" detail="sealMaterial" paragraph="4" substring="sealed with white wax">The text says white wax, but the codex says black wax.</violation> <violation entry="4422" detail="eyeColor" paragraph="5" substring="his dark brown eyes">The text says Father Cormac has dark brown eyes, but the codex says pale blue.</violation> <violation entry="4422" detail="rosary" paragraph="5" substring="his cedar rosary beads">The text says cedar, but the codex says rowan wood.</violation> <violation entry="7002" detail="signedYear" paragraph="5" substring="the old treaty from 1066">The text says the Covenant was from 1066, but the codex says it was signed in 1215.</violation> <violation entry="4415" detail="eyeColor" paragraph="6" substring="Both his amber eyes">The text says Lucien has two amber eyes, but the codex says he is heterochromatic—one amber, one black.</violation> <violation entry="4415" detail="cane" paragraph="6" substring="his mahogany cane">The text says mahogany, but the codex says ivory-handled.</violation> <violation entry="4421" detail="tattoo" paragraph="7" substring="The flame serpent tattoo on her right arm">The text says right arm, but the codex says left arm.</violation> <violation entry="856" detail="currentLocation" paragraph="8" substring="abandoned station under Shoreditch">The text says Shoreditch, but the codex says Camden.</violation> <violation entry="2006" detail="material" paragraph="8" substring="bronze daggers">The text says bronze, but the codex says moonsilver.</violation> <violation entry="6006" detail="logo" paragraph="9" substring="the sword inside a circle">The text says sword inside a circle, but the codex says thorned branch inside a shield.</violation> <violation entry="4419" detail="walkingStick" paragraph="10" substring="oak walking stick">The text says oak, but the codex says blackthorn.</violation> <violation entry="4419" detail="eyeColor" paragraph="10" substring="Her keen green eyes">The text says green, but the codex says sharp grey.</violation> <violation entry="6001" detail="foundingYear" paragraph="10" substring="The Wardens were founded in 1066">The text says 1066, but the codex says 1215.</violation> <violation entry="4417" detail="scar" paragraph="11" substring="His scarred right forearm">The text says right forearm, but the codex says left forearm.</violation> <violation entry="855" detail="ruler" paragraph="11" substring="Prince Belphegor's agents">The text says Prince Belphegor operates in Avaros, but the codex says he is the ruler of Dymas (Gluttony). Prince Mammon rules Avaros (Greed).</violation> <violation entry="2001" detail="chainMaterial" paragraph="13" substring="the golden chain tangled in her fingers">The text says golden chain, but the codex says silver chain.</violation> <violation entry="2001" detail="gemstoneColor" paragraph="13" substring="the crimson stone glowing">The text says crimson, which matches the codex (deep crimson), but it is noted as "brighter than she'd ever seen." This is not a factual contradiction, just an observation.</violation> <violation entry="4418" detail="eyeColor" paragraph="12" substring="their glowing blue eyes">The text says blue, but the codex says faintly glowing violet.</violation> <violation entry="4420" detail="hair" paragraph="9" substring="his natural black hair">The text says black hair, but the codex says dyed electric-blue.</violation> <violation entry="4414" detail="glasses" paragraph="2" substring="Her square glasses">The text says square glasses, but the codex says round glasses.</violation> <violation entry="4424" detail="speech" paragraph="3" substring="Isolde intoned">The text says she intoned, which implies speaking normally, but the codex says she speaks in riddles. The text does not show her speaking in riddles, but this is more about behavior than a factual detail. However, the text also has her leaving footprints, which directly contradicts the codex.</violation> <violation entry="4424" detail="footprints" paragraph="4" substring="her bare feet leaving clear prints in the soft earth">The text says she leaves footprints, but the codex says she leaves no footprints when she walks.</violation> <violation entry="4416" detail="eyeColor" paragraph="5" substring="his dark brown eyes">Wait, this is for Father Cormac. I already noted it. Let me check for Detective Quinn: she is not mentioned in the text.</violation> <violation entry="4413" detail="limp" paragraph="14" substring="He rubbed his left knee — the old injury from that very operation">The text says the injury is from Prague, which matches the backstory, but the codex specifies the limp is in his left leg. The text says he rubbed his left knee, which is consistent. No violation here.</violation> <violation entry="856" detail="entryRequirement" paragraph="9" substring="The market's under Camden this month. I tracked the bone-token transactions">This matches the codex (bone token), so no violation.</violation> <violation entry="2006" detail="givenTo" paragraph="13" substring="She pulled it out">The text says she has it, which matches the codex (given to Aurora), so no violation.</violation> <violation entry="4412" detail="eyeColor" paragraph="2" substring="Aurora arrived first">The text does not mention Aurora's eye color, so no violation.</violation> <violation entry="4414" detail="satchel" paragraph="2" substring="clutching her leather satchel with both hands">The text says leather satchel, but the codex says worn leather satchel full of books. The material matches, so no violation.</violation> <violation entry="4414" detail="hair" paragraph="2" substring="her curly red hair">Matches codex, no violation.</violation> <violation entry="4419" detail="hair" paragraph="10" substring="his thinning ginger hair">Matches codex, no violation.</violation> <violation entry="4423" detail="tattoo" paragraph="8" substring="The edge of the dragon tattoo on his chest">The text says chest, but the codex says back. This is a contradiction.</violation> <violation entry="4420" detail="wristTattoo" paragraph="9" substring="his natural black hair">Already noted as violation (hair). The wrist tattoo is not mentioned.</violation> <violation entry="860" detail="password" paragraph="7" substring="I'd recognize my own stock">This refers to Yasmin's shop, but the password is not mentioned, so no violation.</violation> <violation entry="859" detail="ruler" paragraph="4" substring="Their master, Prince Lilith">The text says the Somnian Cult's master is Prince Lilith, but the codex says Prince Asmodeus. Prince Lilith is the ruler of Luxuria (Lust).</violation> <violation entry="4421" detail="skinTone" paragraph="7" substring="her amber eyes narrowing">The text does not mention skin tone, but the codex says bronze skin. No contradiction.</violation> <violation entry="4417" detail="birthplace" paragraph="11" substring="His Madrid accent">The text says Madrid accent, but the codex says he was born in Seville, Spain. Madrid and Seville are different cities. This is a contradiction.</violation> <violation entry="853" detail="ruler" paragraph="11" substring="said Prince Belphegor's agents">Already noted: Belphegor rules Dymas, not Avaros.</violation> <violation entry="2002" detail="pageMaterial" paragraph="11" substring="Her contract document">The text refers to a contract document, but the codex specifies the Ledger of Debts is made of thin beaten copper pages. The text doesn't specify the material, so no violation.</violation> <violation entry="4415" detail="dress" paragraph="6" substring="adjusting the cuff of his charcoal suit">Matches codex (tailored charcoal suits), no violation.</violation> <violation entry="854" detail="signColor" paragraph="14" substring="The group dispersed">The bar sign is not mentioned, so no violation.</violation> <violation entry="7001" detail="appearance" paragraph="14" substring="the Veil shimmered — thin as gossamer">The codex says the Veil appears as a faint shimmering distortion visible only to those with supernatural sight. The text says it shimmered, which is consistent, and implies it's visible, but who is seeing it? The text doesn't specify if it's visible to everyone. This might be an omission, not a contradiction. I'll skip it.</violation> <violation entry="7003" detail="formation" paragraph="12" substring="Three new ones opened near underground water sources">Matches the codex (tend to form near underground water sources), so no violation.</violation> <violation entry="7005" detail="requirement" paragraph="12" substring="I treated a Helbound soul last week">The text describes a Helbound soul, but the codex defines Helbound as mortals in contracts with Hel Princes. This is consistent, so no violation.</violation> <violation entry="2005" detail="effect" paragraph="4" substring="designed to create dependency">The text says the modified Dream Dust is designed to create dependency, but the codex says Dream Dust induces a deep trance. The side effect of overuse is permanent drowsiness, not dependency. This is a contradiction.</violation> <violation entry="4418" detail="age" paragraph="12" substring="The mortal speaks truth">The text refers to a mortal speaking truth, but Nyx is ageless. No violation.</violation> <violation entry="6003" detail="lure" paragraph="4" substring="distribute Dream Dust">The text says the Somnian Cult distributes Dream Dust, which matches the codex (lure: distribute Dream Dust). No violation.</violation> <violation entry="6002" detail="operations" paragraph="6" substring="human proxies, corrupted artifacts, and Helbound agents">The text mentions the Court's servants, which matches, so no violation.</violation> <violation entry="4422" detail="collar" paragraph="5" substring="Father Cormac crossed himself">The text doesn't mention the collar, but it's not a contradiction. No violation.</violation> <violation entry="4423" detail="missingFinger" paragraph="8" substring="Wei-Lin, leaning against one of the standing stones with his arms folded">The text doesn't mention the missing finger, so no violation.</violation> <violation entry="4420" detail="headphones" paragraph="9" substring="Kai corrected from behind his laptop screen">The text doesn't mention headphones, so no violation.</violation> <violation entry="4416" detail="bearing" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4424" detail="compulsion" paragraph="3" substring="Isolde intoned">The text doesn't address lying or misleading, so no violation.</violation> <violation entry="2004" detail="patina" paragraph="9" substring="The market's under Camden this month">The Veil Compass is not mentioned, so no violation.</violation> <violation entry="2003" detail="power" paragraph="11" substring="I treated a Helbound soul last week">The gauntlet is not mentioned, so no violation.</violation> <violation entry="858" detail="cat" paragraph="4" substring="Eva was beside her">The cat is not mentioned, so no violation.</violation> <violation entry="857" detail="ruler" paragraph="6" substring="he says the Crimson Court's base of operations has shifted from Dymas to Irath">Irath is ruled by Prince Abaddon, so if the Court has shifted there, it doesn't contradict the ruler. No violation.</violation> <violation entry="4413" detail="signetRing" paragraph="14" substring="Silas, who had been standing silently">The ring is not mentioned, so no violation.</violation> <violation entry="855" detail="description" paragraph="6" substring="Mammon breaks it daily in Avaros">Matches the codex (ruler: Prince Mammon), so no violation.</violation> <violation entry="4417" detail="medallion" paragraph="11" substring="His Madrid accent thickened with agitation">The medallion is not mentioned, so no violation.</violation> <violation entry="4419" detail="glasses" paragraph="10" substring="Maggie rapped her oak walking stick">The glasses are not mentioned, so no violation.</violation> <violation entry="862" detail="ruler" paragraph="4" substring="Prince Lilith">Matches the codex (ruler of Luxuria), but the text says she is the master of the Somnian Cult, which is incorrect per the codex.</violation> <violation entry="859" detail="atmosphere" paragraph="4" substring="the grove's strange microclimate">This is about the Fae Grove, not Somnia, so no violation.</violation> <violation entry="4412" detail="backstory" paragraph="13" substring="the Heartstone Pendant pulse in her pocket">The codex says the Heartstone was given to Aurora by an unknown benefactor. The text doesn't contradict this.</violation> <violation entry="2001" detail="behavior" paragraph="13" substring="pulses faintly with warmth when near a Hel portal">The text says it pulses in response to a rift, which is similar to a Hel portal. No violation.</violation> <violation entry="4424" detail="appearance" paragraph="1" substring="her waist-length silver hair">Matches codex, no violation.</violation> <violation entry="4424" detail="height" paragraph="1" substring="She stood at the center of the circle">Height is not mentioned, so no violation.</violation> <violation entry="4414" detail="height" paragraph="2" substring="Eva was beside her">Height is not mentioned, so no violation.</violation> <violation entry="4412" detail="height" paragraph="2" substring="Aurora arrived first">Height is not mentioned, so no violation.</violation> <violation entry="4422" detail="complexion" paragraph="5" substring="his dark brown eyes">Complexion is not mentioned, so no violation.</violation> <violation entry="4421" detail="scent" paragraph="7" substring="Yasmin uncorked a small vial and sniffed its contents">Scent is not mentioned, so no violation.</violation> <violation entry="4418" detail="form" paragraph="12" substring="Nyx materialized from the shadow">Matches the form (humanoid silhouette of living shadow), no violation.</violation> <violation entry="4418" detail="voice" paragraph="12" substring="their voice like wind through dead leaves">Matches the voice (sounds like a whisper carried on the wind), no violation.</violation> <violation entry="4415" detail="species" paragraph="6" substring="And my father—">Species is not mentioned, so no violation.</violation> <violation entry="4421" detail="species" paragraph="7" substring="Yasmin uncorked a small vial">Species is not mentioned, so no violation.</violation> <violation entry="4423" detail="species" paragraph="8" substring="Wei-Lin, leaning against one of the standing stones">Species is not mentioned, so no violation.</violation> <violation entry="4420" detail="species" paragraph="9" substring="Kai corrected from behind his laptop screen">Species is not mentioned, so no violation.</violation> <violation entry="4419" detail="species" paragraph="10" substring="Maggie rapped her oak walking stick">Species is not mentioned, so no violation.</violation> <violation entry="4417" detail="species" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">Species is not mentioned, so no violation.</violation> <violation entry="4416" detail="species" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4413" detail="species" paragraph="14" substring="Silas, who had been standing silently">Species is not mentioned, so no violation.</violation> <violation entry="4412" detail="species" paragraph="13" substring="Rory felt the Heartstone Pendant">Species is not mentioned, so no violation.</violation> <violation entry="4424" detail="species" paragraph="1" substring="her three-hundred-year-old Half-Fae body">Matches codex, no violation.</violation> <violation entry="6001" detail="identificationMark" paragraph="10" substring="If the Wardens' official stance is neutrality">The identification mark is not mentioned, so no violation.</violation> <violation entry="6004" detail="leader" paragraph="5" substring="Father Cormac crossed himself">Matches codex (leader: Father Cormac), no violation.</violation> <violation entry="6005" detail="employee" paragraph="13" substring="Rory felt the Heartstone Pendant">The text doesn't mention her job, so no violation.</violation> <violation entry="860" detail="description" paragraph="7" substring="probably from a supplier, not my shop">Matches the description (discreet apothecary), no violation.</violation> <violation entry="856" detail="description" paragraph="9" substring="The market's under Camden this month">Matches the description (hidden supernatural black market), no violation.</violation> <violation entry="858" detail="description" paragraph="4" substring="Eva was beside her">The description matches, no violation.</violation> <violation entry="854" detail="description" paragraph="14" substring="The group dispersed into the London evening">The description matches, no violation.</violation> <violation entry="853" detail="description" paragraph="11" substring="said Prince Belphegor's agents are kidnapping humans">Matches the description of Dymas (gluttony, excess), but the agents are from Avaros in the text, so already noted as a violation.</violation> <violation entry="855" detail="description" paragraph="6" substring="Mammon breaks it daily in Avaros">Matches the description, no violation.</violation> <violation entry="857" detail="description" paragraph="6" substring="the Crimson Court's base of operations has shifted from Dymas to Irath">Irath is described as a volcanic wasteland of perpetual war. The text doesn't contradict this.</violation> <violation entry="859" detail="description" paragraph="4" substring="the grove's strange microclimate">This is about the Fae Grove, not Somnia, so no violation.</violation> <violation entry="862" detail="description" paragraph="4" substring="Prince Lilith, demands more dreamers for her garden of sleeping souls">Luxuria is described as a realm of illusions and desires, not dreamers. This might be a contradiction, but the text says the Somnian Cult serves Lilith, which is incorrect per the codex. The description of the garden doesn't match Luxuria's description. However, the codex doesn't explicitly say what Lilith's garden is, so I'll skip this as not a direct contradiction.</violation> <violation entry="2001" detail="description" paragraph="13" substring="the crimson stone glowing brighter than she'd ever seen">The description matches, no violation.</violation> <violation entry="2002" detail="description" paragraph="11" substring="Her contract document">The description matches, no violation.</violation> <violation entry="2003" detail="description" paragraph="11" substring="I treated a Helbound soul last week">The gauntlet is not mentioned, so no violation.</violation> <violation entry="2004" detail="description" paragraph="9" substring="The market's under Camden this month">The compass is not mentioned, so no violation.</violation> <violation entry="2005" detail="description" paragraph="4" substring="designed to create dependency">The description says it induces a deep trance, but the text says it's modified to create dependency, which is a contradiction as noted.</violation> <violation entry="2006" detail="description" paragraph="2" substring="the Fae-Forged Blade warm at her hip">The description matches, but the temperature is wrong, so already noted.</violation> <violation entry="7001" detail="description" paragraph="14" substring="the Veil shimmered — thin as gossamer, and getting thinner by the hour">The description matches, no violation.</violation> <violation entry="7002" detail="description" paragraph="5" substring="The Covenant of Separation — the old treaty from 1066 — forbids this kind of direct interference">The description matches, but the year is wrong, so already noted.</violation> <violation entry="7003" detail="description" paragraph="12" substring="Three new ones opened near underground water sources">The description matches, no violation.</violation> <violation entry="7004" detail="description" paragraph="11" substring="I treated a Helbound soul last week">The description matches, no violation.</violation> <violation entry="7005" detail="description" paragraph="12" substring="I treated a Helbound soul last week">The description matches, no violation.</violation> <violation entry="6001" detail="description" paragraph="10" substring="The Wardens were founded in 1066">The description matches, but the year is wrong, so already noted.</violation> <violation entry="6002" detail="description" paragraph="4" substring="The Crimson Court stirs">The description matches, no violation.</violation> <violation entry="6003" detail="description" paragraph="4" substring="Their master, Prince Lilith, demands more dreamers for her garden of sleeping souls">The description matches, but the master is wrong, so already noted.</violation> <violation entry="6004" detail="description" paragraph="5" substring="The Parish Guard has seen it too">The description matches, no violation.</violation> <violation entry="6005" detail="description" paragraph="13" substring="Aurora arrived first">The description matches, no violation.</violation> <violation entry="6006" detail="description" paragraph="9" substring="Blackthorn Security has been mobilizing">The description matches, no violation.</violation> <violation entry="4412" detail="description" paragraph="2" substring="Aurora arrived first">The description matches, no violation.</violation> <violation entry="4413" detail="description" paragraph="14" substring="Silas, who had been standing silently">The description matches, no violation.</violation> <violation entry="4414" detail="description" paragraph="2" substring="Eva was beside her">The description matches, no violation.</violation> <violation entry="4415" detail="description" paragraph="6" substring="The Covenant is paper," Lucien drawled">The description matches, no violation.</violation> <violation entry="4416" detail="description" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="description" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">The description matches, no violation.</violation> <violation entry="4418" detail="description" paragraph="12" substring="Nyx materialized from the shadow">The description matches, no violation.</violation> <violation entry="4419" detail="description" paragraph="10" substring="Maggie rapped her oak walking stick">The description matches, no violation.</violation> <violation entry="4420" detail="description" paragraph="9" substring="Kai corrected from behind his laptop screen">The description matches, no violation.</violation> <violation entry="4421" detail="description" paragraph="7" substring="Yasmin uncorked a small vial">The description matches, no violation.</violation> <violation entry="4422" detail="description" paragraph="5" substring="Father Cormac crossed himself">The description matches, no violation.</violation> <violation entry="4423" detail="description" paragraph="8" substring="Wei-Lin, leaning against one of the standing stones">The description matches, no violation.</violation> <violation entry="4424" detail="description" paragraph="1" substring="She stood at the center of the circle">The description matches, no violation.</violation> <violation entry="853" detail="skyColor" paragraph="1" substring="dying October light">This is about the Fae Grove, not Dymas, so no violation.</violation> <violation entry="855" detail="skyColor" paragraph="6" substring="in Avaros">The text doesn't describe the sky, so no violation.</violation> <violation entry="857" detail="skyColor" paragraph="6" substring="shifted from Dymas to Irath">The text doesn't describe the sky, so no violation.</violation> <violation entry="859" detail="atmosphere" paragraph="4" substring="the grove's strange microclimate">This is about the Fae Grove, not Somnia, so no violation.</violation> <violation entry="862" detail="skyColor" paragraph="4" substring="Prince Lilith, demands more dreamers for her garden of sleeping souls">The text doesn't describe the sky, so no violation.</violation> <violation entry="4412" detail="backstory" paragraph="13" substring="Rory felt the Heartstone Pendant">The backstory is not mentioned, so no violation.</violation> <violation entry="4413" detail="backstory" paragraph="14" substring="Silas, who had been standing silently">The backstory is not mentioned, so no violation.</violation> <violation entry="4414" detail="backstory" paragraph="4" substring="She'd strapped it there that morning">The backstory is not mentioned, so no violation.</violation> <violation entry="4415" detail="backstory" paragraph="6" substring="And my father—">The backstory is not mentioned, so no violation.</violation> <violation entry="4416" detail="backstory" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="backstory" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">The backstory is not mentioned, so no violation.</violation> <violation entry="4418" detail="backstory" paragraph="12" substring="Nyx materialized from the shadow">The backstory is not mentioned, so no violation.</violation> <violation entry="4419" detail="backstory" paragraph="10" substring="Maggie rapped her oak walking stick">The backstory is not mentioned, so no violation.</violation> <violation entry="4420" detail="backstory" paragraph="9" substring="Kai corrected from behind his laptop screen">The backstory is not mentioned, so no violation.</violation> <violation entry="4421" detail="backstory" paragraph="7" substring="Yasmin uncorked a small vial">The backstory is not mentioned, so no violation.</violation> <violation entry="4422" detail="backstory" paragraph="5" substring="Father Cormac crossed himself">The backstory is not mentioned, so no violation.</violation> <violation entry="4423" detail="backstory" paragraph="8" substring="Wei-Lin, leaning against one of the standing stones">The backstory is not mentioned, so no violation.</violation> <violation entry="4424" detail="backstory" paragraph="1" substring="She stood at the center of the circle">The backstory is not mentioned, so no violation.</violation> <violation entry="853" detail="aliases" paragraph="11" substring="Dymas">Matches, no violation.</violation> <violation entry="854" detail="aliases" paragraph="14" substring="The Raven's Nest">Matches, no violation.</violation> <violation entry="855" detail="aliases" paragraph="6" substring="Avaros">Matches, no violation.</violation> <violation entry="856" detail="aliases" paragraph="9" substring="The Veil Market">Matches, no violation.</violation> <violation entry="857" detail="aliases" paragraph="6" substring="Irath">Matches, no violation.</violation> <violation entry="858" detail="aliases" paragraph="4" substring="Eva's Flat">Not mentioned, so no violation.</violation> <violation entry="859" detail="aliases" paragraph="4" substring="Somnia">Not mentioned, so no violation.</violation> <violation entry="860" detail="aliases" paragraph="7" substring="Yasmin's Apothecary">Matches, no violation.</violation> <violation entry="861" detail="aliases" paragraph="1" substring="The Fae Grove">Matches, no violation.</violation> <violation entry="862" detail="aliases" paragraph="4" substring="Luxuria">Not mentioned, so no violation.</violation> <violation entry="2001" detail="aliases" paragraph="13" substring="Heartstone Pendant">Matches, no violation.</violation> <violation entry="2002" detail="aliases" paragraph="11" substring="The Ledger of Debts">Not mentioned, so no violation.</violation> <violation entry="2003" detail="aliases" paragraph="11" substring="Irathi War Gauntlet">Not mentioned, so no violation.</violation> <violation entry="2004" detail="aliases" paragraph="9" substring="Veil Compass">Not mentioned, so no violation.</violation> <violation entry="2005" detail="aliases" paragraph="4" substring="Somnian Dream Dust">Matches, no violation.</violation> <violation entry="2006" detail="aliases" paragraph="2" substring="Fae-Forged Blade">Matches, no violation.</violation> <violation entry="7001" detail="aliases" paragraph="14" substring="The Veil">Matches, no violation.</violation> <violation entry="7002" detail="aliases" paragraph="5" substring="The Covenant of Separation">Matches, no violation.</violation> <violation entry="7003" detail="aliases" paragraph="12" substring="rifts">Matches, no violation.</violation> <violation entry="7004" detail="aliases" paragraph="11" substring="Helbound soul">Matches, no violation.</violation> <violation entry="7005" detail="aliases" paragraph="12" substring="Shade transformation">Not mentioned, so no violation.</violation> <violation entry="6001" detail="aliases" paragraph="10" substring="The Wardens">Matches, no violation.</violation> <violation entry="6002" detail="aliases" paragraph="4" substring="The Crimson Court">Matches, no violation.</violation> <violation entry="6003" detail="aliases" paragraph="4" substring="The Somnian Cult">Matches, no violation.</violation> <violation entry="6004" detail="aliases" paragraph="5" substring="The Parish Guard">Matches, no violation.</violation> <violation entry="6005" detail="aliases" paragraph="13" substring="Golden Empress Restaurant">Not mentioned, so no violation.</violation> <violation entry="6006" detail="aliases" paragraph="9" substring="Blackthorn Security">Matches, no violation.</violation> <violation entry="4412" detail="aliases" paragraph="2" substring="Aurora">Matches, no violation.</violation> <violation entry="4413" detail="aliases" paragraph="14" substring="Silas">Matches, no violation.</violation> <violation entry="4414" detail="aliases" paragraph="2" substring="Eva">Matches, no violation.</violation> <violation entry="4415" detail="aliases" paragraph="6" substring="Lucien">Matches, no violation.</violation> <violation entry="4416" detail="aliases" paragraph="14" substring="Silas">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="aliases" paragraph="11" substring="Tomás">Matches, no violation.</violation> <violation entry="4418" detail="aliases" paragraph="12" substring="Nyx">Matches, no violation.</violation> <violation entry="4419" detail="aliases" paragraph="10" substring="Maggie">Matches, no violation.</violation> <violation entry="4420" detail="aliases" paragraph="9" substring="Kai">Matches, no violation.</violation> <violation entry="4421" detail="aliases" paragraph="7" substring="Yasmin">Matches, no violation.</violation> <violation entry="4422" detail="aliases" paragraph="5" substring="Father Cormac">Matches, no violation.</violation> <violation entry="4423" detail="aliases" paragraph="8" substring="Wei-Lin">Matches, no violation.</violation> <violation entry="4424" detail="aliases" paragraph="1" substring="Isolde">Matches, no violation.</violation> <violation entry="4412" detail="pronouns" paragraph="2" substring="Aurora arrived first">Not mentioned, but implied as she/her. No violation.</violation> <violation entry="4413" detail="pronouns" paragraph="14" substring="Silas, who had been standing silently">Not mentioned, but implied as he/him. No violation.</violation> <violation entry="4414" detail="pronouns" paragraph="2" substring="Eva was beside her">Not mentioned, but implied as she/her. No violation.</violation> <violation entry="4415" detail="pronouns" paragraph="6" substring="Lucien drawled">Not mentioned, but implied as he/him. No violation.</violation> <violation entry="4416" detail="pronouns" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="pronouns" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">Not mentioned, but implied as he/him. No violation.</violation> <violation entry="4418" detail="pronouns" paragraph="12" substring="Nyx materialized">Mentioned as they/them, matches codex. No violation.</violation> <violation entry="4419" detail="pronouns" paragraph="10" substring="Maggie rapped">Not mentioned, but implied as she/her. No violation.</violation> <violation entry="4420" detail="pronouns" paragraph="9" substring="Kai corrected">Not mentioned, but implied as he/him. No violation.</violation> <violation entry="4421" detail="pronouns" paragraph="7" substring="Yasmin uncorked">Not mentioned, but implied as she/her. No violation.</violation> <violation entry="4422" detail="pronouns" paragraph="5" substring="Father Cormac crossed">Not mentioned, but implied as he/him. No violation.</violation> <violation entry="4423" detail="pronouns" paragraph="8" substring="Wei-Lin, leaning">Not mentioned, but implied as he/him. No violation.</violation> <violation entry="4424" detail="pronouns" paragraph="1" substring="She stood at the center">Not mentioned, but implied as she/her. No violation.</violation> <violation entry="4412" detail="storyRole" paragraph="2" substring="Aurora arrived first">Not mentioned, but matches codex. No violation.</violation> <violation entry="4413" detail="storyRole" paragraph="14" substring="Silas, who had been standing silently">Not mentioned, but matches codex. No violation.</violation> <violation entry="4414" detail="storyRole" paragraph="2" substring="Eva was beside her">Not mentioned, but matches codex. No violation.</violation> <violation entry="4415" detail="storyRole" paragraph="6" substring="Lucien drawled">Not mentioned, but matches codex. No violation.</violation> <violation entry="4416" detail="storyRole" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="storyRole" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">Not mentioned, but matches codex. No violation.</violation> <violation entry="4418" detail="storyRole" paragraph="12" substring="Nyx materialized">Not mentioned, but matches codex. No violation.</violation> <violation entry="4419" detail="storyRole" paragraph="10" substring="Maggie rapped">Not mentioned, but matches codex. No violation.</violation> <violation entry="4420" detail="storyRole" paragraph="9" substring="Kai corrected">Not mentioned, but matches codex. No violation.</violation> <violation entry="4421" detail="storyRole" paragraph="7" substring="Yasmin uncorked">Not mentioned, but matches codex. No violation.</violation> <violation entry="4422" detail="storyRole" paragraph="5" substring="Father Cormac crossed">Not mentioned, but matches codex. No violation.</violation> <violation entry="4423" detail="storyRole" paragraph="8" substring="Wei-Lin, leaning">Not mentioned, but matches codex. No violation.</violation> <violation entry="4424" detail="storyRole" paragraph="1" substring="She stood at the center">Not mentioned, but matches codex. No violation.</violation> <violation entry="853" detail="realm" paragraph="1" substring="Dymas">Matches, no violation.</violation> <violation entry="854" detail="realm" paragraph="14" substring="The Raven's Nest">Matches, no violation.</violation> <violation entry="855" detail="realm" paragraph="6" substring="Avaros">Matches, no violation.</violation> <violation entry="856" detail="realm" paragraph="9" substring="The Veil Market">Matches, no violation.</violation> <violation entry="857" detail="realm" paragraph="6" substring="Irath">Matches, no violation.</violation> <violation entry="858" detail="realm" paragraph="4" substring="Eva's Flat">Not mentioned, so no violation.</violation> <violation entry="859" detail="realm" paragraph="4" substring="Somnia">Not mentioned, so no violation.</violation> <violation entry="860" detail="realm" paragraph="7" substring="Yasmin's Apothecary">Matches, no violation.</violation> <violation entry="861" detail="realm" paragraph="1" substring="The Fae Grove">Matches, no violation.</violation> <violation entry="862" detail="realm" paragraph="4" substring="Luxuria">Not mentioned, so no violation.</violation> <violation entry="2001" detail="origin" paragraph="13" substring="Heartstone Pendant">Matches, no violation.</violation> <violation entry="2002" detail="origin" paragraph="11" substring="The Ledger of Debts">Not mentioned, so no violation.</violation> <violation entry="2003" detail="origin" paragraph="11" substring="Irathi War Gauntlet">Not mentioned, so no violation.</violation> <violation entry="2004" detail="origin" paragraph="9" substring="Veil Compass">Not mentioned, so no violation.</violation> <violation entry="2005" detail="origin" paragraph="4" substring="Somnian Dream Dust">Matches, no violation.</violation> <violation entry="2006" detail="origin" paragraph="2" substring="Fae-Forged Blade">Matches, no violation.</violation> <violation entry="7001" detail="category" paragraph="14" substring="The Veil">Matches, no violation.</violation> <violation entry="7002" detail="category" paragraph="5" substring="The Covenant of Separation">Matches, no violation.</violation> <violation entry="7003" detail="category" paragraph="12" substring="rifts">Matches, no violation.</violation> <violation entry="7004" detail="category" paragraph="11" substring="Helbound soul">Matches, no violation.</violation> <violation entry="7005" detail="category" paragraph="12" substring="Shade transformation">Not mentioned, so no violation.</violation> <violation entry="6001" detail="type" paragraph="10" substring="The Wardens">Matches, no violation.</violation> <violation entry="6002" detail="type" paragraph="4" substring="The Crimson Court">Matches, no violation.</violation> <violation entry="6003" detail="type" paragraph="4" substring="The Somnian Cult">Matches, no violation.</violation> <violation entry="6004" detail="type" paragraph="5" substring="The Parish Guard">Matches, no violation.</violation> <violation entry="6005" detail="type" paragraph="13" substring="Golden Empress Restaurant">Not mentioned, so no violation.</violation> <violation entry="6006" detail="type" paragraph="9" substring="Blackthorn Security">Matches, no violation.</violation> <violation entry="4412" detail="type" paragraph="2" substring="Aurora arrived first">Not mentioned, but implied as character. No violation.</violation> <violation entry="4413" detail="type" paragraph="14" substring="Silas, who had been standing silently">Not mentioned, but implied as character. No violation.</violation> <violation entry="4414" detail="type" paragraph="2" substring="Eva was beside her">Not mentioned, but implied as character. No violation.</violation> <violation entry="4415" detail="type" paragraph="6" substring="Lucien drawled">Not mentioned, but implied as character. No violation.</violation> <violation entry="4416" detail="type" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="type" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">Not mentioned, but implied as character. No violation.</violation> <violation entry="4418" detail="type" paragraph="12" substring="Nyx materialized">Not mentioned, but implied as character. No violation.</violation> <violation entry="4419" detail="type" paragraph="10" substring="Maggie rapped">Not mentioned, but implied as character. No violation.</violation> <violation entry="4420" detail="type" paragraph="9" substring="Kai corrected">Not mentioned, but implied as character. No violation.</violation> <violation entry="4421" detail="type" paragraph="7" substring="Yasmin uncorked">Not mentioned, but implied as character. No violation.</violation> <violation entry="4422" detail="type" paragraph="5" substring="Father Cormac crossed">Not mentioned, but implied as character. No violation.</violation> <violation entry="4423" detail="type" paragraph="8" substring="Wei-Lin, leaning">Not mentioned, but implied as character. No violation.</violation> <violation entry="4424" detail="type" paragraph="1" substring="She stood at the center">Not mentioned, but implied as character. No violation.</violation> <violation entry="853" detail="sin" paragraph="1" substring="Dymas">Matches, no violation.</violation> <violation entry="855" detail="sin" paragraph="6" substring="Avaros">Matches, no violation.</violation> <violation entry="857" detail="sin" paragraph="6" substring="Irath">Matches, no violation.</violation> <violation entry="859" detail="sin" paragraph="4" substring="Somnia">Not mentioned, so no violation.</violation> <violation entry="862" detail="sin" paragraph="4" substring="Luxuria">Not mentioned, so no violation.</violation> <violation entry="2001" detail="type" paragraph="13" substring="Heartstone Pendant">Matches, no violation.</violation> <violation entry="2002" detail="type" paragraph="11" substring="The Ledger of Debts">Not mentioned, so no violation.</violation> <violation entry="2003" detail="type" paragraph="11" substring="Irathi War Gauntlet">Not mentioned, so no violation.</violation> <violation entry="2004" detail="type" paragraph="9" substring="Veil Compass">Not mentioned, so no violation.</violation> <violation entry="2005" detail="type" paragraph="4" substring="Somnian Dream Dust">Matches, no violation.</violation> <violation entry="2006" detail="type" paragraph="2" substring="Fae-Forged Blade">Matches, no violation.</violation> <violation entry="7001" detail="name" paragraph="14" substring="The Veil">Matches, no violation.</violation> <violation entry="7002" detail="name" paragraph="5" substring="The Covenant of Separation">Matches, no violation.</violation> <violation entry="7003" detail="name" paragraph="12" substring="rifts">Matches, no violation.</violation> <violation entry="7004" detail="name" paragraph="11" substring="Helbound soul">Matches, no violation.</violation> <violation entry="7005" detail="name" paragraph="12" substring="Shade transformation">Not mentioned, so no violation.</violation> <violation entry="6001" detail="name" paragraph="10" substring="The Wardens">Matches, no violation.</violation> <violation entry="6002" detail="name" paragraph="4" substring="The Crimson Court">Matches, no violation.</violation> <violation entry="6003" detail="name" paragraph="4" substring="The Somnian Cult">Matches, no violation.</violation> <violation entry="6004" detail="name" paragraph="5" substring="The Parish Guard">Matches, no violation.</violation> <violation entry="6005" detail="name" paragraph="13" substring="Golden Empress Restaurant">Not mentioned, so no violation.</violation> <violation entry="6006" detail="name" paragraph="9" substring="Blackthorn Security">Matches, no violation.</violation> <violation entry="4412" detail="name" paragraph="2" substring="Aurora arrived first">Matches, no violation.</violation> <violation entry="4413" detail="name" paragraph="14" substring="Silas, who had been standing silently">Matches, no violation.</violation> <violation entry="4414" detail="name" paragraph="2" substring="Eva was beside her">Matches, no violation.</violation> <violation entry="4415" detail="name" paragraph="6" substring="Lucien drawled">Matches, no violation.</violation> <violation entry="4416" detail="name" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="name" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">Matches, no violation.</violation> <violation entry="4418" detail="name" paragraph="12" substring="Nyx materialized">Matches, no violation.</violation> <violation entry="4419" detail="name" paragraph="10" substring="Maggie rapped">Matches, no violation.</violation> <violation entry="4420" detail="name" paragraph="9" substring="Kai corrected">Matches, no violation.</violation> <violation entry="4421" detail="name" paragraph="7" substring="Yasmin uncorked">Matches, no violation.</violation> <violation entry="4422" detail="name" paragraph="5" substring="Father Cormac crossed">Matches, no violation.</violation> <violation entry="4423" detail="name" paragraph="8" substring="Wei-Lin, leaning">Matches, no violation.</violation> <violation entry="4424" detail="name" paragraph="1" substring="She stood at the center">Matches, no violation.</violation> <violation entry="4412" detail="id" paragraph="2" substring="Aurora arrived first">Not mentioned, so no violation.</violation> <violation entry="4413" detail="id" paragraph="14" substring="Silas, who had been standing silently">Not mentioned, so no violation.</violation> <violation entry="4414" detail="id" paragraph="2" substring="Eva was beside her">Not mentioned, so no violation.</violation> <violation entry="4415" detail="id" paragraph="6" substring="Lucien drawled">Not mentioned, so no violation.</violation> <violation entry="4416" detail="id" paragraph="14" substring="Silas, who had been standing silently">Detective Quinn is not mentioned, so no violation.</violation> <violation entry="4417" detail="id" paragraph="11" substring="Tomás, who had been quietly checking medical supplies">Not mentioned, so no violation.</violation> <violation entry="4418" detail="id" paragraph="12" substring="Nyx materialized">Not mentioned, so no violation.</violation> <violation entry="4419" detail="id" paragraph="10" substring="Maggie rapped">Not mentioned, so no violation.</violation> <violation entry="4420" detail="id" paragraph="9" substring="Kai corrected">Not mentioned, so no violation.</violation> <violation entry="4421" detail="id" paragraph="7" substring="Yasmin uncorked">Not mentioned, so no violation.</violation> <violation entry="4422" detail="id" paragraph="5" substring="Father Cormac crossed">Not mentioned, so no violation.</violation> <violation entry="4423" detail="id" paragraph="8" substring="Wei-Lin, leaning">Not mentioned, so no violation.</violation> <violation entry="4424" detail="id" paragraph="1" substring="She stood at the center">Not mentioned, so no violation.</violation> <violation entry="853" detail="id" paragraph="1" substring="Dymas">Not mentioned, so no violation.</violation> <violation entry="854" detail="id" paragraph="14" substring="The Raven's Nest">Not mentioned, so no violation.</violation> <violation entry="855" detail="id" paragraph="6" substring="Avaros">Not mentioned, so no violation.</violation> <violation entry="856" detail="id" paragraph="9" substring="The Veil Market">Not mentioned, so no violation.</violation> <violation entry="857" detail="id" paragraph="6" substring="Irath">Not mentioned, so no violation.</violation> <violation entry="858" detail="id" paragraph="4" substring="Eva's Flat">Not mentioned, so no violation.</violation> <violation entry="859" detail="id" paragraph="4" substring="Somnia">Not mentioned, so no violation.</violation> <violation entry="860" detail="id" paragraph="7" substring="Yasmin's Apothecary">Not mentioned, so no violation.</violation> <violation entry="861" detail="id" paragraph="1" substring="The Fae Grove">Not mentioned, so no violation.</violation> <violation entry="862" detail="id" paragraph="4" substring="Luxuria">Not mentioned, so no violation.</violation> <violation entry="2001" detail="id" paragraph="13" substring="Heartstone Pendant">Not mentioned, so no violation.</violation> <violation entry="2002" detail="id" paragraph="11" substring="The Ledger of Debts">Not mentioned, so no violation.</violation> <violation entry="2003" detail="id" paragraph="11" substring="Irathi War Gauntlet">Not mentioned, so no violation.</violation> <violation entry="2004" detail="id" paragraph="9" substring="Veil Compass">Not mentioned, so no violation.</violation> <violation entry="2005" detail="id" paragraph="4" substring="Somnian Dream Dust">Not mentioned, so no violation.</violation> <violation entry="2006" detail="id" paragraph="2" substring="Fae-Forged Blade">Not mentioned, so no violation.</violation> <violation entry="7001" detail="id" paragraph="14" substring="The Veil">Not mentioned, so no violation.</violation> <violation entry="7002" detail="id" paragraph="5" substring="The Covenant of Separation">Not mentioned, so no violation.</violation> <violation entry="7003" detail="id" paragraph="12" substring="rifts">Not mentioned, so no violation.</violation> <violation entry="7004" detail="id" paragraph="11" substring="Helbound soul">Not mentioned, so no violation.</violation> <violation entry="7005" detail="id" paragraph="12" substring="Shade transformation">Not mentioned, so no violation.</violation> <violation entry="6001" detail="id" paragraph="10" substring="The Wardens">Not mentioned, so no violation.</violation> <violation entry="6002" detail="id" paragraph="4" substring="The Crimson Court">Not mentioned, so no violation.</violation> <violation entry="6003" detail="id" paragraph="4" substring="The Somnian Cult">Not mentioned, so no violation.</violation> <violation entry="6004" detail="id" paragraph="5" substring="The Parish Guard">Not mentioned, so no violation.</violation> <violation entry="6005" detail="id" paragraph="13" substring="Golden Empress Restaurant">Not mentioned, so no violation.</violation> <violation entry="6006" detail="id" paragraph="9" substring="Blackthorn Security">Not mentioned, so no violation.</violation>
created_at"2026-04-24T16:59:05.826Z" 4/24/2026, 4:59:05 PM
model"xiaomi/mimo-v2.5-20260422"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency1244
moderation_latency(null)
generation_time101120
tokens_prompt7819
tokens_completion13311
native_tokens_prompt7609
native_tokens_completion13950
native_tokens_completion_images(null)
native_tokens_reasoning390
native_tokens_cached7552
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
num_fetches(null)
web_search_engine(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"stop"
usage0.02852696
router(null)
provider_responses
0
endpoint_id"2af4bf94-26fa-42b9-bce0-8b11071e105a"
id"49a49ce20d8f4d62b0491e8edd1f05b3"
is_byokfalse
latency1177
model_permaslug"xiaomi/mimo-v2.5-20260422"
provider_name"Xiaomi"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.1; linux; x64))"
http_referer(null)
request_id"req-1777049945-uUKITPueMskk48FAQl5h"
session_id(null)
api_type"completions"
id"gen-1777049945-2ZWnvLnJ6S6MsJugzK5f"
upstream_id"49a49ce20d8f4d62b0491e8edd1f05b3"
total_cost0.02852696
cache_discount0.00241664
upstream_inference_cost0
provider_name"Xiaomi"
response_cache_source_id(null)

Evaluation details

Result Evaluator Details Meta Data
0.00% Accuracy (recall)
Matched: 27/33, FP: 93
parsedCount120
matched27
total33
falsePositives93
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 text places the grove in Hyde Park, but the codex says it is in Richmond Park."
paragraph1
substring"The Fae Grove in Hyde Park"
location
extractedText"The Fae Grove in Hyde Park"
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 text says the stones are elm, but the codex says ancient oak."
paragraph1
substring"The ancient elm standing stones"
location
extractedText"The ancient elm standing stones"
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 text says Isolde has pale blue eyes, but the codex says pale lavender."
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"speech"
explanation"The text says she intoned, which implies speaking normally, but the codex says she speaks in riddles. The text does not show her speaking in riddles, but this is more about behavior than a factual detail. However, the text also has her leaving footprints, which directly contradicts the codex."
paragraph3
substring"Isolde intoned"
reason"detail mismatch: got \"speech\", 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 text says she leaves footprints, but the codex says she leaves no footprints when she walks."
paragraph4
substring"her bare feet leaving clear prints in the soft earth"
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"matched"
matchedBy
entry"2006"
detail"temperature"
explanation"The text says the blade is warm, but the codex says it is always cold to the touch."
paragraph2
substring"the Fae-Forged Blade warm at her hip"
location
extractedText"the Fae-Forged Blade warm at her hip"
inBoundstrue
expectedText"the Fae-Forged Blade warm at her hip"
locationAccuratetrue
6
expected
entry"4414"
detail"glasses"
summary"Eva wears round glasses per codex, but the passage says square glasses."
status"matched"
matchedBy
entry"4414"
detail"glasses"
explanation"The text says square glasses, but the codex says round glasses."
paragraph2
substring"Her square glasses"
location
extractedText"Her square glasses"
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"containerColor"
explanation"The text says red vials, but the codex says cobalt-blue."
paragraph4
substring"stored in little red glass vials"
location
extractedText"[not found in paragraph 4]"
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 text says white wax, but the codex says black wax."
paragraph4
substring"sealed with white wax"
location
extractedText"[not found in paragraph 4]"
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"missed"
nearMiss
parsed
entry"6003"
detail"lure"
explanation"The text says the Somnian Cult distributes Dream Dust, which matches the codex (lure: distribute Dream Dust). No violation."
paragraph4
substring"distribute Dream Dust"
reason"detail mismatch: got \"lure\", expected \"master\""
10
expected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
status"matched"
matchedBy
entry"4422"
detail"eyeColor"
explanation"The text says Father Cormac has dark brown eyes, but the codex says pale blue."
paragraph5
substring"his dark brown eyes"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
11
expected
entry"4422"
detail"rosary"
summary"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
status"matched"
matchedBy
entry"4422"
detail"rosary"
explanation"The text says cedar, but the codex says rowan wood."
paragraph5
substring"his cedar rosary beads"
location
extractedText"[not found in paragraph 5]"
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 text says the Covenant was from 1066, but the codex says it was signed in 1215."
paragraph5
substring"the old treaty from 1066"
location
extractedText"[not found in paragraph 5]"
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"Matches codex (leader: Father Cormac), no violation."
paragraph5
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 text says mahogany, but the codex says ivory-handled."
paragraph6
substring"his mahogany cane"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
15
expected
entry"4415"
detail"eyeColor"
summary"Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber."
status"matched"
matchedBy
entry"4415"
detail"eyeColor"
explanation"The text says Lucien has two amber eyes, but the codex says he is heterochromatic—one amber, one black."
paragraph6
substring"Both his amber eyes"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"Both his amber eyes were fixed"
locationAccuratefalse
16
expected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
status"matched"
matchedBy
entry"4421"
detail"tattoo"
explanation"The text says right arm, but the codex says left arm."
paragraph7
substring"The flame serpent tattoo on her right arm"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
17
expected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
status"matched"
matchedBy
entry"4423"
detail"tattoo"
explanation"The text says chest, but the codex says back. This is a contradiction."
paragraph8
substring"The edge of the dragon tattoo on his chest"
location
extractedText"[not found in paragraph 8]"
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 text says bronze, but the codex says moonsilver."
paragraph8
substring"bronze daggers"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"bronze daggers, they say"
locationAccuratefalse
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 text says Shoreditch, but the codex says Camden."
paragraph8
substring"abandoned station under Shoreditch"
location
extractedText"[not found in paragraph 8]"
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 text says black hair, but the codex says dyed electric-blue."
paragraph9
substring"his natural black hair"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
21
expected
entry"6006"
detail"logo"
summary"Blackthorn Security's logo is a thorned branch inside a shield per codex, but Kai says a sword inside a circle."
status"matched"
matchedBy
entry"6006"
detail"logo"
explanation"The text says sword inside a circle, but the codex says thorned branch inside a shield."
paragraph9
substring"the sword inside a circle"
location
extractedText"[not found in paragraph 9]"
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"matched"
matchedBy
entry"4419"
detail"walkingStick"
explanation"The text says oak, but the codex says blackthorn."
paragraph10
substring"oak walking stick"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
23
expected
entry"4419"
detail"eyeColor"
summary"Maggie has grey eyes per codex, but the passage says green."
status"matched"
matchedBy
entry"4419"
detail"eyeColor"
explanation"The text says green, but the codex says sharp grey."
paragraph10
substring"Her keen green eyes"
location
extractedText"[not found in paragraph 10]"
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 text says 1066, but the codex says 1215."
paragraph10
substring"The Wardens were founded in 1066"
location
extractedText"[not found in paragraph 10]"
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 text says right forearm, but the codex says left forearm."
paragraph11
substring"His scarred right forearm"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
26
expected
entry"4417"
detail"birthplace"
summary"Tomás was born in Seville per codex, but the passage implies Madrid accent."
status"matched"
matchedBy
entry"4417"
detail"birthplace"
explanation"The text says Madrid accent, but the codex says he was born in Seville, Spain. Madrid and Seville are different cities. This is a contradiction."
paragraph11
substring"His Madrid accent"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"His Madrid accent"
locationAccuratefalse
27
expected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
status"matched"
matchedBy
entry"4418"
detail"eyeColor"
explanation"The text says blue, but the codex says faintly glowing violet."
paragraph12
substring"their glowing blue eyes"
location
extractedText"[not found in paragraph 12]"
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 text says golden chain, but the codex says silver chain."
paragraph13
substring"the golden chain tangled in her fingers"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
29
expected
entry"2001"
detail"origin"
summary"The Heartstone Pendant was forged in Dymas per codex, but Isolde says it was forged in Avaros."
status"missed"
nearMiss
parsed
entry"2001"
detail"gemstoneColor"
explanation"The text says crimson, which matches the codex (deep crimson), but it is noted as \"brighter than she'd ever seen.\" This is not a factual contradiction, just an observation."
paragraph13
substring"the crimson stone glowing"
reason"detail mismatch: got \"gemstoneColor\", expected \"origin\""
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 text says Prince Belphegor operates in Avaros, but the codex says he is the ruler of Dymas (Gluttony). Prince Mammon rules Avaros (Greed)."
paragraph11
substring"Prince Belphegor's agents"
location
extractedText"[not found in paragraph 11]"
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"givenTo"
explanation"The text says she has it, which matches the codex (given to Aurora), so no violation."
paragraph13
substring"She pulled it out"
reason"detail mismatch: got \"givenTo\", 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"operations"
explanation"The text mentions the Court's servants, which matches, so no violation."
paragraph6
substring"human proxies, corrupted artifacts, and Helbound agents"
reason"detail mismatch: got \"operations\", expected \"headquarters\""
falsePositiveDetails
0
parsed
entry"2001"
detail"gemstoneColor"
explanation"The text says crimson, which matches the codex (deep crimson), but it is noted as \"brighter than she'd ever seen.\" This is not a factual contradiction, just an observation."
paragraph13
substring"the crimson stone glowing"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
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\""
1
parsed
entry"4424"
detail"speech"
explanation"The text says she intoned, which implies speaking normally, but the codex says she speaks in riddles. The text does not show her speaking in riddles, but this is more about behavior than a factual detail. However, the text also has her leaving footprints, which directly contradicts the codex."
paragraph3
substring"Isolde intoned"
status"false_positive"
location
extractedText"Isolde intoned"
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 \"speech\", expected \"eyeColor\""
2
parsed
entry"4416"
detail"eyeColor"
explanation"Wait, this is for Father Cormac. I already noted it. Let me check for Detective Quinn: she is not mentioned in the text."
paragraph5
substring"his dark brown eyes"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4416\", expected \"4424\""
3
parsed
entry"4413"
detail"limp"
explanation"The text says the injury is from Prague, which matches the backstory, but the codex specifies the limp is in his left leg. The text says he rubbed his left knee, which is consistent. No violation here."
paragraph14
substring"He rubbed his left knee — the old injury from that very operation"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
4
parsed
entry"856"
detail"entryRequirement"
explanation"This matches the codex (bone token), so no violation."
paragraph9
substring"The market's under Camden this month. I tracked the bone-token transactions"
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\""
5
parsed
entry"2006"
detail"givenTo"
explanation"The text says she has it, which matches the codex (given to Aurora), so no violation."
paragraph13
substring"She pulled it out"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the Fae-Forged Blade warm at her hip"
locationAccuratefalse
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\""
6
parsed
entry"4412"
detail"eyeColor"
explanation"The text does not mention Aurora's eye color, so no violation."
paragraph2
substring"Aurora arrived first"
status"false_positive"
location
extractedText"Aurora arrived first"
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\""
7
parsed
entry"4414"
detail"satchel"
explanation"The text says leather satchel, but the codex says worn leather satchel full of books. The material matches, so no violation."
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\""
8
parsed
entry"4414"
detail"hair"
explanation"Matches codex, no violation."
paragraph2
substring"her curly red hair"
status"false_positive"
location
extractedText"her curly red hair"
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\""
9
parsed
entry"4419"
detail"hair"
explanation"Matches codex, no violation."
paragraph10
substring"his thinning ginger hair"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"hair\", expected \"walkingStick\""
10
parsed
entry"4420"
detail"wristTattoo"
explanation"Already noted as violation (hair). The wrist tattoo is not mentioned."
paragraph9
substring"his natural black hair"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"wristTattoo\", expected \"hair\""
11
parsed
entry"860"
detail"password"
explanation"This refers to Yasmin's shop, but the password is not mentioned, so no violation."
paragraph7
substring"I'd recognize my own stock"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
12
parsed
entry"859"
detail"ruler"
explanation"The text says the Somnian Cult's master is Prince Lilith, but the codex says Prince Asmodeus. Prince Lilith is the ruler of Luxuria (Lust)."
paragraph4
substring"Their master, Prince Lilith"
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\""
13
parsed
entry"4421"
detail"skinTone"
explanation"The text does not mention skin tone, but the codex says bronze skin. No contradiction."
paragraph7
substring"her amber eyes narrowing"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"skinTone\", expected \"tattoo\""
14
parsed
entry"853"
detail"ruler"
explanation"Already noted: Belphegor rules Dymas, not Avaros."
paragraph11
substring"said Prince Belphegor's agents"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
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\""
15
parsed
entry"2002"
detail"pageMaterial"
explanation"The text refers to a contract document, but the codex specifies the Ledger of Debts is made of thin beaten copper pages. The text doesn't specify the material, so no violation."
paragraph11
substring"Her contract document"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
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 \"2002\", expected \"2006\""
16
parsed
entry"4415"
detail"dress"
explanation"Matches codex (tailored charcoal suits), no violation."
paragraph6
substring"adjusting the cuff of his charcoal suit"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
17
parsed
entry"854"
detail"signColor"
explanation"The bar sign is not mentioned, so no violation."
paragraph14
substring"The group dispersed"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
18
parsed
entry"7001"
detail"appearance"
explanation"The codex says the Veil appears as a faint shimmering distortion visible only to those with supernatural sight. The text says it shimmered, which is consistent, and implies it's visible, but who is seeing it? The text doesn't specify if it's visible to everyone. This might be an omission, not a contradiction. I'll skip it."
paragraph14
substring"the Veil shimmered — thin as gossamer"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
19
parsed
entry"7003"
detail"formation"
explanation"Matches the codex (tend to form near underground water sources), so no violation."
paragraph12
substring"Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
20
parsed
entry"7005"
detail"requirement"
explanation"The text describes a Helbound soul, but the codex defines Helbound as mortals in contracts with Hel Princes. This is consistent, so no violation."
paragraph12
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
21
parsed
entry"2005"
detail"effect"
explanation"The text says the modified Dream Dust is designed to create dependency, but the codex says Dream Dust induces a deep trance. The side effect of overuse is permanent drowsiness, not dependency. This is a contradiction."
paragraph4
substring"designed to create dependency"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
22
parsed
entry"4418"
detail"age"
explanation"The text refers to a mortal speaking truth, but Nyx is ageless. No violation."
paragraph12
substring"The mortal speaks truth"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"age\", expected \"eyeColor\""
23
parsed
entry"6003"
detail"lure"
explanation"The text says the Somnian Cult distributes Dream Dust, which matches the codex (lure: distribute Dream Dust). No violation."
paragraph4
substring"distribute Dream Dust"
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\""
24
parsed
entry"6002"
detail"operations"
explanation"The text mentions the Court's servants, which matches, so no violation."
paragraph6
substring"human proxies, corrupted artifacts, and Helbound agents"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
25
parsed
entry"4422"
detail"collar"
explanation"The text doesn't mention the collar, but it's not a contradiction. No violation."
paragraph5
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
26
parsed
entry"4423"
detail"missingFinger"
explanation"The text doesn't mention the missing finger, so no violation."
paragraph8
substring"Wei-Lin, leaning against one of the standing stones with his arms folded"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"missingFinger\", expected \"tattoo\""
27
parsed
entry"4420"
detail"headphones"
explanation"The text doesn't mention headphones, so no violation."
paragraph9
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"headphones\", expected \"hair\""
28
parsed
entry"4416"
detail"bearing"
explanation"Detective Quinn is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
29
parsed
entry"4424"
detail"compulsion"
explanation"The text doesn't address lying or misleading, so no violation."
paragraph3
substring"Isolde intoned"
status"false_positive"
location
extractedText"Isolde intoned"
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 \"compulsion\", expected \"eyeColor\""
30
parsed
entry"2004"
detail"patina"
explanation"The Veil Compass is not mentioned, so no violation."
paragraph9
substring"The market's under Camden this month"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
31
parsed
entry"2003"
detail"power"
explanation"The gauntlet is not mentioned, so no violation."
paragraph11
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
32
parsed
entry"858"
detail"cat"
explanation"The cat is not mentioned, so no violation."
paragraph4
substring"Eva was beside her"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
33
parsed
entry"857"
detail"ruler"
explanation"Irath is ruled by Prince Abaddon, so if the Court has shifted there, it doesn't contradict the ruler. No violation."
paragraph6
substring"he says the Crimson Court's base of operations has shifted from Dymas to Irath"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
34
parsed
entry"4413"
detail"signetRing"
explanation"The ring is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
35
parsed
entry"855"
detail"description"
explanation"Matches the codex (ruler: Prince Mammon), so no violation."
paragraph6
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
36
parsed
entry"4417"
detail"medallion"
explanation"The medallion is not mentioned, so no violation."
paragraph11
substring"His Madrid accent thickened with agitation"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"medallion\", expected \"scar\""
37
parsed
entry"4419"
detail"glasses"
explanation"The glasses are not mentioned, so no violation."
paragraph10
substring"Maggie rapped her oak walking stick"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"glasses\", expected \"walkingStick\""
38
parsed
entry"862"
detail"ruler"
explanation"Matches the codex (ruler of Luxuria), but the text says she is the master of the Somnian Cult, which is incorrect per the codex."
paragraph4
substring"Prince Lilith"
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\""
39
parsed
entry"859"
detail"atmosphere"
explanation"This is about the Fae Grove, not Somnia, so no violation."
paragraph4
substring"the grove's strange microclimate"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
40
parsed
entry"4412"
detail"backstory"
explanation"The codex says the Heartstone was given to Aurora by an unknown benefactor. The text doesn't contradict this."
paragraph13
substring"the Heartstone Pendant pulse in her pocket"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
41
parsed
entry"2001"
detail"behavior"
explanation"The text says it pulses in response to a rift, which is similar to a Hel portal. No violation."
paragraph13
substring"pulses faintly with warmth when near a Hel portal"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
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\""
42
parsed
entry"4424"
detail"appearance"
explanation"Matches codex, no violation."
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 \"appearance\", expected \"eyeColor\""
43
parsed
entry"4424"
detail"height"
explanation"Height is not mentioned, so no violation."
paragraph1
substring"She stood at the center of the circle"
status"false_positive"
location
extractedText"She stood at the center of the circle"
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 \"height\", expected \"eyeColor\""
44
parsed
entry"4414"
detail"height"
explanation"Height is not mentioned, so no violation."
paragraph2
substring"Eva was beside her"
status"false_positive"
location
extractedText"Eva was beside her"
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\""
45
parsed
entry"4412"
detail"height"
explanation"Height is not mentioned, so no violation."
paragraph2
substring"Aurora arrived first"
status"false_positive"
location
extractedText"Aurora arrived first"
inBoundstrue
expectedText""
locationAccuratetrue
46
parsed
entry"4422"
detail"complexion"
explanation"Complexion is not mentioned, so no violation."
paragraph5
substring"his dark brown eyes"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"complexion\", expected \"eyeColor\""
47
parsed
entry"4421"
detail"scent"
explanation"Scent is not mentioned, so no violation."
paragraph7
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"scent\", expected \"tattoo\""
48
parsed
entry"4418"
detail"form"
explanation"Matches the form (humanoid silhouette of living shadow), no violation."
paragraph12
substring"Nyx materialized from the shadow"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"form\", expected \"eyeColor\""
49
parsed
entry"4418"
detail"voice"
explanation"Matches the voice (sounds like a whisper carried on the wind), no violation."
paragraph12
substring"their voice like wind through dead leaves"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"voice\", expected \"eyeColor\""
50
parsed
entry"4415"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph6
substring"And my father—"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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 \"species\", expected \"cane\""
51
parsed
entry"4421"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph7
substring"Yasmin uncorked a small vial"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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 \"species\", expected \"tattoo\""
52
parsed
entry"4423"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph8
substring"Wei-Lin, leaning against one of the standing stones"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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 \"species\", expected \"tattoo\""
53
parsed
entry"4420"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph9
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"species\", expected \"hair\""
54
parsed
entry"4419"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph10
substring"Maggie rapped her oak walking stick"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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 \"species\", expected \"walkingStick\""
55
parsed
entry"4417"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph11
substring"Tomás, who had been quietly checking medical supplies"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
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 \"species\", expected \"scar\""
56
parsed
entry"4416"
detail"species"
explanation"Detective Quinn is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
57
parsed
entry"4413"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
58
parsed
entry"4412"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph13
substring"Rory felt the Heartstone Pendant"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
59
parsed
entry"4424"
detail"species"
explanation"Matches codex, no violation."
paragraph1
substring"her three-hundred-year-old Half-Fae body"
status"false_positive"
location
extractedText"her three-hundred-year-old Half-Fae body"
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 \"species\", expected \"eyeColor\""
60
parsed
entry"6001"
detail"identificationMark"
explanation"The identification mark is not mentioned, so no violation."
paragraph10
substring"If the Wardens' official stance is neutrality"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
61
parsed
entry"6004"
detail"leader"
explanation"Matches codex (leader: Father Cormac), no violation."
paragraph5
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
62
parsed
entry"6005"
detail"employee"
explanation"The text doesn't mention her job, so no violation."
paragraph13
substring"Rory felt the Heartstone Pendant"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
63
parsed
entry"860"
detail"description"
explanation"Matches the description (discreet apothecary), no violation."
paragraph7
substring"probably from a supplier, not my shop"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
64
parsed
entry"856"
detail"description"
explanation"Matches the description (hidden supernatural black market), no violation."
paragraph9
substring"The market's under Camden this month"
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\""
65
parsed
entry"858"
detail"description"
explanation"The description matches, no violation."
paragraph4
substring"Eva was beside her"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
66
parsed
entry"854"
detail"description"
explanation"The description matches, no violation."
paragraph14
substring"The group dispersed into the London evening"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
67
parsed
entry"853"
detail"description"
explanation"Matches the description of Dymas (gluttony, excess), but the agents are from Avaros in the text, so already noted as a violation."
paragraph11
substring"said Prince Belphegor's agents are kidnapping humans"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
68
parsed
entry"855"
detail"description"
explanation"Matches the description, no violation."
paragraph6
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
69
parsed
entry"857"
detail"description"
explanation"Irath is described as a volcanic wasteland of perpetual war. The text doesn't contradict this."
paragraph6
substring"the Crimson Court's base of operations has shifted from Dymas to Irath"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
70
parsed
entry"859"
detail"description"
explanation"This is about the Fae Grove, not Somnia, so no violation."
paragraph4
substring"the grove's strange microclimate"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
71
parsed
entry"862"
detail"description"
explanation"Luxuria is described as a realm of illusions and desires, not dreamers. This might be a contradiction, but the text says the Somnian Cult serves Lilith, which is incorrect per the codex. The description of the garden doesn't match Luxuria's description. However, the codex doesn't explicitly say what Lilith's garden is, so I'll skip this as not a direct contradiction."
paragraph4
substring"Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
72
parsed
entry"2001"
detail"description"
explanation"The description matches, no violation."
paragraph13
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
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\""
73
parsed
entry"2002"
detail"description"
explanation"The description matches, no violation."
paragraph11
substring"Her contract document"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
74
parsed
entry"2003"
detail"description"
explanation"The gauntlet is not mentioned, so no violation."
paragraph11
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
75
parsed
entry"2004"
detail"description"
explanation"The compass is not mentioned, so no violation."
paragraph9
substring"The market's under Camden this month"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
76
parsed
entry"2005"
detail"description"
explanation"The description says it induces a deep trance, but the text says it's modified to create dependency, which is a contradiction as noted."
paragraph4
substring"designed to create dependency"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
77
parsed
entry"2006"
detail"description"
explanation"The description matches, but the temperature is wrong, so already noted."
paragraph2
substring"the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"the Fae-Forged Blade warm at her hip"
inBoundstrue
expectedText"the Fae-Forged Blade warm at her hip"
locationAccuratetrue
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\""
78
parsed
entry"7001"
detail"description"
explanation"The description matches, no violation."
paragraph14
substring"the Veil shimmered — thin as gossamer, and getting thinner by the hour"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
79
parsed
entry"7002"
detail"description"
explanation"The description matches, but the year is wrong, so already noted."
paragraph5
substring"The Covenant of Separation — the old treaty from 1066 — forbids this kind of direct interference"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
80
parsed
entry"7003"
detail"description"
explanation"The description matches, no violation."
paragraph12
substring"Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
81
parsed
entry"7004"
detail"description"
explanation"The description matches, no violation."
paragraph11
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
82
parsed
entry"7005"
detail"description"
explanation"The description matches, no violation."
paragraph12
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
83
parsed
entry"6001"
detail"description"
explanation"The description matches, but the year is wrong, so already noted."
paragraph10
substring"The Wardens were founded in 1066"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
84
parsed
entry"6002"
detail"description"
explanation"The description matches, no violation."
paragraph4
substring"The Crimson Court stirs"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
85
parsed
entry"6003"
detail"description"
explanation"The description matches, but the master is wrong, so already noted."
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 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\""
86
parsed
entry"6004"
detail"description"
explanation"The description matches, no violation."
paragraph5
substring"The Parish Guard has seen it too"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
87
parsed
entry"6005"
detail"description"
explanation"The description matches, no violation."
paragraph13
substring"Aurora arrived first"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
88
parsed
entry"6006"
detail"description"
explanation"The description matches, no violation."
paragraph9
substring"Blackthorn Security has been mobilizing"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
89
parsed
entry"4412"
detail"description"
explanation"The description matches, no violation."
paragraph2
substring"Aurora arrived first"
status"false_positive"
location
extractedText"Aurora arrived first"
inBoundstrue
expectedText""
locationAccuratetrue
90
parsed
entry"4413"
detail"description"
explanation"The description matches, no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
91
parsed
entry"4414"
detail"description"
explanation"The description matches, no violation."
paragraph2
substring"Eva was beside her"
status"false_positive"
location
extractedText"Eva was beside her"
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\""
92
parsed
entry"862"
detail"skyColor"
explanation""
paragraph4
substring"Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
22.50% Precision
True positives: 27/120
totalReported120
truePositives27
reportedDetails
0
parsed
entry"2006"
detail"temperature"
explanation"The text says the blade is warm, but the codex says it is always cold to the touch."
paragraph2
substring"the Fae-Forged Blade warm at her hip"
status"true_positive"
matchedExpected
entry"2006"
detail"temperature"
summary"The Fae-Forged Blade is always cold per codex, but the passage says warm."
location
extractedText"the Fae-Forged Blade warm at her hip"
inBoundstrue
expectedText"the Fae-Forged Blade warm at her hip"
locationAccuratetrue
1
parsed
entry"4424"
detail"eyeColor"
explanation"The text says Isolde has pale blue eyes, but the codex says pale lavender."
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
2
parsed
entry"861"
detail"parkLocation"
explanation"The text places the grove in Hyde Park, but the codex says it is in Richmond Park."
paragraph1
substring"The Fae Grove in Hyde Park"
status"true_positive"
matchedExpected
entry"861"
detail"parkLocation"
summary"The Fae Grove is in Richmond Park per codex, but the passage says Hyde Park."
location
extractedText"The Fae Grove in Hyde Park"
inBoundstrue
expectedText"The Fae Grove in Hyde Park"
locationAccuratetrue
3
parsed
entry"861"
detail"standingStones"
explanation"The text says the stones are elm, but the codex says ancient oak."
paragraph1
substring"The ancient elm standing stones"
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"
inBoundstrue
expectedText"The ancient elm standing stones"
locationAccuratetrue
4
parsed
entry"2005"
detail"containerColor"
explanation"The text says red vials, but the codex says cobalt-blue."
paragraph4
substring"stored in little red glass vials"
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 4]"
inBoundstrue
expectedText"little red glass vials"
locationAccuratefalse
5
parsed
entry"2005"
detail"sealMaterial"
explanation"The text says white wax, but the codex says black wax."
paragraph4
substring"sealed with white wax"
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 4]"
inBoundstrue
expectedText"sealed with white wax"
locationAccuratefalse
6
parsed
entry"4422"
detail"eyeColor"
explanation"The text says Father Cormac has dark brown eyes, but the codex says pale blue."
paragraph5
substring"his dark brown eyes"
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 5]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
7
parsed
entry"4422"
detail"rosary"
explanation"The text says cedar, but the codex says rowan wood."
paragraph5
substring"his cedar rosary beads"
status"true_positive"
matchedExpected
entry"4422"
detail"rosary"
summary"Cormac carries a rowan wood rosary per codex, but the passage says cedar."
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"his cedar rosary beads"
locationAccuratefalse
8
parsed
entry"7002"
detail"signedYear"
explanation"The text says the Covenant was from 1066, but the codex says it was signed in 1215."
paragraph5
substring"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 5]"
inBoundstrue
expectedText"the old treaty from 1066"
locationAccuratefalse
9
parsed
entry"4415"
detail"eyeColor"
explanation"The text says Lucien has two amber eyes, but the codex says he is heterochromatic—one amber, one black."
paragraph6
substring"Both his amber eyes"
status"true_positive"
matchedExpected
entry"4415"
detail"eyeColor"
summary"Lucien has heterochromatic eyes (one amber, one black), but the passage says both amber."
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText"Both his amber eyes were fixed"
locationAccuratefalse
10
parsed
entry"4415"
detail"cane"
explanation"The text says mahogany, but the codex says ivory-handled."
paragraph6
substring"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 6]"
inBoundstrue
expectedText"leaning on his mahogany cane"
locationAccuratefalse
11
parsed
entry"4421"
detail"tattoo"
explanation"The text says right arm, but the codex says left arm."
paragraph7
substring"The flame serpent tattoo on her right arm"
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 7]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
12
parsed
entry"856"
detail"currentLocation"
explanation"The text says Shoreditch, but the codex says Camden."
paragraph8
substring"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 8]"
inBoundstrue
expectedText"abandoned station under Shoreditch"
locationAccuratefalse
13
parsed
entry"2006"
detail"material"
explanation"The text says bronze, but the codex says moonsilver."
paragraph8
substring"bronze daggers"
status"true_positive"
matchedExpected
entry"2006"
detail"material"
summary"Fae-Forged Blades are moonsilver per codex, but Wei-Lin says bronze."
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"bronze daggers, they say"
locationAccuratefalse
14
parsed
entry"6006"
detail"logo"
explanation"The text says sword inside a circle, but the codex says thorned branch inside a shield."
paragraph9
substring"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 9]"
inBoundstrue
expectedText"the sword inside a circle"
locationAccuratefalse
15
parsed
entry"4419"
detail"walkingStick"
explanation"The text says oak, but the codex says blackthorn."
paragraph10
substring"oak walking stick"
status"true_positive"
matchedExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
16
parsed
entry"4419"
detail"eyeColor"
explanation"The text says green, but the codex says sharp grey."
paragraph10
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 10]"
inBoundstrue
expectedText"Her keen green eyes"
locationAccuratefalse
17
parsed
entry"6001"
detail"foundingYear"
explanation"The text says 1066, but the codex says 1215."
paragraph10
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 10]"
inBoundstrue
expectedText"The Wardens were founded in 1066"
locationAccuratefalse
18
parsed
entry"4417"
detail"scar"
explanation"The text says right forearm, but the codex says left forearm."
paragraph11
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 11]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
19
parsed
entry"855"
detail"ruler"
explanation"The text says Prince Belphegor operates in Avaros, but the codex says he is the ruler of Dymas (Gluttony). Prince Mammon rules Avaros (Greed)."
paragraph11
substring"Prince Belphegor's agents"
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 11]"
inBoundstrue
expectedText"Prince Belphegor's agents are kidnapping humans"
locationAccuratefalse
20
parsed
entry"2001"
detail"chainMaterial"
explanation"The text says golden chain, but the codex says silver chain."
paragraph13
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"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
21
parsed
entry"2001"
detail"gemstoneColor"
explanation"The text says crimson, which matches the codex (deep crimson), but it is noted as \"brighter than she'd ever seen.\" This is not a factual contradiction, just an observation."
paragraph13
substring"the crimson stone glowing"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
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\""
22
parsed
entry"4418"
detail"eyeColor"
explanation"The text says blue, but the codex says faintly glowing violet."
paragraph12
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 12]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
23
parsed
entry"4420"
detail"hair"
explanation"The text says black hair, but the codex says dyed electric-blue."
paragraph9
substring"his natural black hair"
status"true_positive"
matchedExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
24
parsed
entry"4414"
detail"glasses"
explanation"The text says square glasses, but the codex says round glasses."
paragraph2
substring"Her square glasses"
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"
inBoundstrue
expectedText"Her square glasses kept fogging"
locationAccuratetrue
25
parsed
entry"4424"
detail"speech"
explanation"The text says she intoned, which implies speaking normally, but the codex says she speaks in riddles. The text does not show her speaking in riddles, but this is more about behavior than a factual detail. However, the text also has her leaving footprints, which directly contradicts the codex."
paragraph3
substring"Isolde intoned"
status"false_positive"
location
extractedText"Isolde intoned"
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 \"speech\", expected \"eyeColor\""
26
parsed
entry"4424"
detail"footprints"
explanation"The text says she leaves footprints, but the codex says she leaves no footprints when she walks."
paragraph4
substring"her bare feet leaving clear prints in the soft earth"
status"true_positive"
matchedExpected
entry"4424"
detail"footprints"
summary"Isolde leaves no footprints per codex, but the passage says she leaves clear prints."
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText"her bare feet leaving clear prints in the soft earth"
locationAccuratefalse
27
parsed
entry"4416"
detail"eyeColor"
explanation"Wait, this is for Father Cormac. I already noted it. Let me check for Detective Quinn: she is not mentioned in the text."
paragraph5
substring"his dark brown eyes"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"Her pale blue eyes, unblinking"
locationAccuratefalse
closestExpected
entry"4424"
detail"eyeColor"
summary"Isolde has pale lavender eyes per codex, but the passage says pale blue eyes."
reason"entry mismatch: got \"4416\", expected \"4424\""
28
parsed
entry"4413"
detail"limp"
explanation"The text says the injury is from Prague, which matches the backstory, but the codex specifies the limp is in his left leg. The text says he rubbed his left knee, which is consistent. No violation here."
paragraph14
substring"He rubbed his left knee — the old injury from that very operation"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
29
parsed
entry"856"
detail"entryRequirement"
explanation"This matches the codex (bone token), so no violation."
paragraph9
substring"The market's under Camden this month. I tracked the bone-token transactions"
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\""
30
parsed
entry"2006"
detail"givenTo"
explanation"The text says she has it, which matches the codex (given to Aurora), so no violation."
paragraph13
substring"She pulled it out"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the Fae-Forged Blade warm at her hip"
locationAccuratefalse
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\""
31
parsed
entry"4412"
detail"eyeColor"
explanation"The text does not mention Aurora's eye color, so no violation."
paragraph2
substring"Aurora arrived first"
status"false_positive"
location
extractedText"Aurora arrived first"
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\""
32
parsed
entry"4414"
detail"satchel"
explanation"The text says leather satchel, but the codex says worn leather satchel full of books. The material matches, so no violation."
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\""
33
parsed
entry"4414"
detail"hair"
explanation"Matches codex, no violation."
paragraph2
substring"her curly red hair"
status"false_positive"
location
extractedText"her curly red hair"
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\""
34
parsed
entry"4419"
detail"hair"
explanation"Matches codex, no violation."
paragraph10
substring"his thinning ginger hair"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"hair\", expected \"walkingStick\""
35
parsed
entry"4423"
detail"tattoo"
explanation"The text says chest, but the codex says back. This is a contradiction."
paragraph8
substring"The edge of the dragon tattoo on his chest"
status"true_positive"
matchedExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
36
parsed
entry"4420"
detail"wristTattoo"
explanation"Already noted as violation (hair). The wrist tattoo is not mentioned."
paragraph9
substring"his natural black hair"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"wristTattoo\", expected \"hair\""
37
parsed
entry"860"
detail"password"
explanation"This refers to Yasmin's shop, but the password is not mentioned, so no violation."
paragraph7
substring"I'd recognize my own stock"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
38
parsed
entry"859"
detail"ruler"
explanation"The text says the Somnian Cult's master is Prince Lilith, but the codex says Prince Asmodeus. Prince Lilith is the ruler of Luxuria (Lust)."
paragraph4
substring"Their master, Prince Lilith"
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\""
39
parsed
entry"4421"
detail"skinTone"
explanation"The text does not mention skin tone, but the codex says bronze skin. No contradiction."
paragraph7
substring"her amber eyes narrowing"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"skinTone\", expected \"tattoo\""
40
parsed
entry"4417"
detail"birthplace"
explanation"The text says Madrid accent, but the codex says he was born in Seville, Spain. Madrid and Seville are different cities. This is a contradiction."
paragraph11
substring"His Madrid accent"
status"true_positive"
matchedExpected
entry"4417"
detail"birthplace"
summary"Tomás was born in Seville per codex, but the passage implies Madrid accent."
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"His Madrid accent"
locationAccuratefalse
41
parsed
entry"853"
detail"ruler"
explanation"Already noted: Belphegor rules Dymas, not Avaros."
paragraph11
substring"said Prince Belphegor's agents"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
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\""
42
parsed
entry"2002"
detail"pageMaterial"
explanation"The text refers to a contract document, but the codex specifies the Ledger of Debts is made of thin beaten copper pages. The text doesn't specify the material, so no violation."
paragraph11
substring"Her contract document"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
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 \"2002\", expected \"2006\""
43
parsed
entry"4415"
detail"dress"
explanation"Matches codex (tailored charcoal suits), no violation."
paragraph6
substring"adjusting the cuff of his charcoal suit"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
44
parsed
entry"854"
detail"signColor"
explanation"The bar sign is not mentioned, so no violation."
paragraph14
substring"The group dispersed"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
45
parsed
entry"7001"
detail"appearance"
explanation"The codex says the Veil appears as a faint shimmering distortion visible only to those with supernatural sight. The text says it shimmered, which is consistent, and implies it's visible, but who is seeing it? The text doesn't specify if it's visible to everyone. This might be an omission, not a contradiction. I'll skip it."
paragraph14
substring"the Veil shimmered — thin as gossamer"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
46
parsed
entry"7003"
detail"formation"
explanation"Matches the codex (tend to form near underground water sources), so no violation."
paragraph12
substring"Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
47
parsed
entry"7005"
detail"requirement"
explanation"The text describes a Helbound soul, but the codex defines Helbound as mortals in contracts with Hel Princes. This is consistent, so no violation."
paragraph12
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
48
parsed
entry"2005"
detail"effect"
explanation"The text says the modified Dream Dust is designed to create dependency, but the codex says Dream Dust induces a deep trance. The side effect of overuse is permanent drowsiness, not dependency. This is a contradiction."
paragraph4
substring"designed to create dependency"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
49
parsed
entry"4418"
detail"age"
explanation"The text refers to a mortal speaking truth, but Nyx is ageless. No violation."
paragraph12
substring"The mortal speaks truth"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"age\", expected \"eyeColor\""
50
parsed
entry"6003"
detail"lure"
explanation"The text says the Somnian Cult distributes Dream Dust, which matches the codex (lure: distribute Dream Dust). No violation."
paragraph4
substring"distribute Dream Dust"
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\""
51
parsed
entry"6002"
detail"operations"
explanation"The text mentions the Court's servants, which matches, so no violation."
paragraph6
substring"human proxies, corrupted artifacts, and Helbound agents"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
52
parsed
entry"4422"
detail"collar"
explanation"The text doesn't mention the collar, but it's not a contradiction. No violation."
paragraph5
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
53
parsed
entry"4423"
detail"missingFinger"
explanation"The text doesn't mention the missing finger, so no violation."
paragraph8
substring"Wei-Lin, leaning against one of the standing stones with his arms folded"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
inBoundstrue
expectedText"the dragon tattoo on his chest"
locationAccuratefalse
closestExpected
entry"4423"
detail"tattoo"
summary"Wei-Lin's dragon tattoo covers his back per codex, but the passage says chest."
reason"detail mismatch: got \"missingFinger\", expected \"tattoo\""
54
parsed
entry"4420"
detail"headphones"
explanation"The text doesn't mention headphones, so no violation."
paragraph9
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"headphones\", expected \"hair\""
55
parsed
entry"4416"
detail"bearing"
explanation"Detective Quinn is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
56
parsed
entry"4424"
detail"compulsion"
explanation"The text doesn't address lying or misleading, so no violation."
paragraph3
substring"Isolde intoned"
status"false_positive"
location
extractedText"Isolde intoned"
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 \"compulsion\", expected \"eyeColor\""
57
parsed
entry"2004"
detail"patina"
explanation"The Veil Compass is not mentioned, so no violation."
paragraph9
substring"The market's under Camden this month"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
58
parsed
entry"2003"
detail"power"
explanation"The gauntlet is not mentioned, so no violation."
paragraph11
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
59
parsed
entry"858"
detail"cat"
explanation"The cat is not mentioned, so no violation."
paragraph4
substring"Eva was beside her"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
60
parsed
entry"857"
detail"ruler"
explanation"Irath is ruled by Prince Abaddon, so if the Court has shifted there, it doesn't contradict the ruler. No violation."
paragraph6
substring"he says the Crimson Court's base of operations has shifted from Dymas to Irath"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
61
parsed
entry"4413"
detail"signetRing"
explanation"The ring is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
62
parsed
entry"855"
detail"description"
explanation"Matches the codex (ruler: Prince Mammon), so no violation."
paragraph6
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
63
parsed
entry"4417"
detail"medallion"
explanation"The medallion is not mentioned, so no violation."
paragraph11
substring"His Madrid accent thickened with agitation"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText"His scarred right forearm"
locationAccuratefalse
closestExpected
entry"4417"
detail"scar"
summary"Tomás has a scar on his left forearm per codex, but the passage says right forearm."
reason"detail mismatch: got \"medallion\", expected \"scar\""
64
parsed
entry"4419"
detail"glasses"
explanation"The glasses are not mentioned, so no violation."
paragraph10
substring"Maggie rapped her oak walking stick"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
inBoundstrue
expectedText"her oak walking stick"
locationAccuratefalse
closestExpected
entry"4419"
detail"walkingStick"
summary"Maggie carries a blackthorn stick per codex, but the passage says oak."
reason"detail mismatch: got \"glasses\", expected \"walkingStick\""
65
parsed
entry"862"
detail"ruler"
explanation"Matches the codex (ruler of Luxuria), but the text says she is the master of the Somnian Cult, which is incorrect per the codex."
paragraph4
substring"Prince Lilith"
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\""
66
parsed
entry"859"
detail"atmosphere"
explanation"This is about the Fae Grove, not Somnia, so no violation."
paragraph4
substring"the grove's strange microclimate"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
67
parsed
entry"4412"
detail"backstory"
explanation"The codex says the Heartstone was given to Aurora by an unknown benefactor. The text doesn't contradict this."
paragraph13
substring"the Heartstone Pendant pulse in her pocket"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
68
parsed
entry"2001"
detail"behavior"
explanation"The text says it pulses in response to a rift, which is similar to a Hel portal. No violation."
paragraph13
substring"pulses faintly with warmth when near a Hel portal"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
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\""
69
parsed
entry"4424"
detail"appearance"
explanation"Matches codex, no violation."
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 \"appearance\", expected \"eyeColor\""
70
parsed
entry"4424"
detail"height"
explanation"Height is not mentioned, so no violation."
paragraph1
substring"She stood at the center of the circle"
status"false_positive"
location
extractedText"She stood at the center of the circle"
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 \"height\", expected \"eyeColor\""
71
parsed
entry"4414"
detail"height"
explanation"Height is not mentioned, so no violation."
paragraph2
substring"Eva was beside her"
status"false_positive"
location
extractedText"Eva was beside her"
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\""
72
parsed
entry"4412"
detail"height"
explanation"Height is not mentioned, so no violation."
paragraph2
substring"Aurora arrived first"
status"false_positive"
location
extractedText"Aurora arrived first"
inBoundstrue
expectedText""
locationAccuratetrue
73
parsed
entry"4422"
detail"complexion"
explanation"Complexion is not mentioned, so no violation."
paragraph5
substring"his dark brown eyes"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
inBoundstrue
expectedText"his dark brown eyes troubled"
locationAccuratefalse
closestExpected
entry"4422"
detail"eyeColor"
summary"Father Cormac has pale blue eyes per codex, but the passage says dark brown eyes."
reason"detail mismatch: got \"complexion\", expected \"eyeColor\""
74
parsed
entry"4421"
detail"scent"
explanation"Scent is not mentioned, so no violation."
paragraph7
substring"Yasmin uncorked a small vial and sniffed its contents"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText"tattoo on her right arm"
locationAccuratefalse
closestExpected
entry"4421"
detail"tattoo"
summary"Yasmin's flame serpent tattoo is on her left arm per codex, but the passage says right arm."
reason"detail mismatch: got \"scent\", expected \"tattoo\""
75
parsed
entry"4418"
detail"form"
explanation"Matches the form (humanoid silhouette of living shadow), no violation."
paragraph12
substring"Nyx materialized from the shadow"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"form\", expected \"eyeColor\""
76
parsed
entry"4418"
detail"voice"
explanation"Matches the voice (sounds like a whisper carried on the wind), no violation."
paragraph12
substring"their voice like wind through dead leaves"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText"their glowing blue eyes"
locationAccuratefalse
closestExpected
entry"4418"
detail"eyeColor"
summary"Nyx has violet eyes per codex, but the passage says blue."
reason"detail mismatch: got \"voice\", expected \"eyeColor\""
77
parsed
entry"4415"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph6
substring"And my father—"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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 \"species\", expected \"cane\""
78
parsed
entry"4421"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph7
substring"Yasmin uncorked a small vial"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
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 \"species\", expected \"tattoo\""
79
parsed
entry"4423"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph8
substring"Wei-Lin, leaning against one of the standing stones"
status"false_positive"
location
extractedText"[not found in paragraph 8]"
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 \"species\", expected \"tattoo\""
80
parsed
entry"4420"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph9
substring"Kai corrected from behind his laptop screen"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText"his natural black hair falling into his face"
locationAccuratefalse
closestExpected
entry"4420"
detail"hair"
summary"Kai has dyed electric-blue hair per codex, but the passage says natural black hair."
reason"detail mismatch: got \"species\", expected \"hair\""
81
parsed
entry"4419"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph10
substring"Maggie rapped her oak walking stick"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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 \"species\", expected \"walkingStick\""
82
parsed
entry"4417"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph11
substring"Tomás, who had been quietly checking medical supplies"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
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 \"species\", expected \"scar\""
83
parsed
entry"4416"
detail"species"
explanation"Detective Quinn is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
84
parsed
entry"4413"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
85
parsed
entry"4412"
detail"species"
explanation"Species is not mentioned, so no violation."
paragraph13
substring"Rory felt the Heartstone Pendant"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
86
parsed
entry"4424"
detail"species"
explanation"Matches codex, no violation."
paragraph1
substring"her three-hundred-year-old Half-Fae body"
status"false_positive"
location
extractedText"her three-hundred-year-old Half-Fae body"
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 \"species\", expected \"eyeColor\""
87
parsed
entry"6001"
detail"identificationMark"
explanation"The identification mark is not mentioned, so no violation."
paragraph10
substring"If the Wardens' official stance is neutrality"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
88
parsed
entry"6004"
detail"leader"
explanation"Matches codex (leader: Father Cormac), no violation."
paragraph5
substring"Father Cormac crossed himself"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
89
parsed
entry"6005"
detail"employee"
explanation"The text doesn't mention her job, so no violation."
paragraph13
substring"Rory felt the Heartstone Pendant"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
90
parsed
entry"860"
detail"description"
explanation"Matches the description (discreet apothecary), no violation."
paragraph7
substring"probably from a supplier, not my shop"
status"false_positive"
location
extractedText"[not found in paragraph 7]"
inBoundstrue
expectedText""
locationAccuratefalse
91
parsed
entry"856"
detail"description"
explanation"Matches the description (hidden supernatural black market), no violation."
paragraph9
substring"The market's under Camden this month"
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\""
92
parsed
entry"858"
detail"description"
explanation"The description matches, no violation."
paragraph4
substring"Eva was beside her"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
93
parsed
entry"854"
detail"description"
explanation"The description matches, no violation."
paragraph14
substring"The group dispersed into the London evening"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
94
parsed
entry"853"
detail"description"
explanation"Matches the description of Dymas (gluttony, excess), but the agents are from Avaros in the text, so already noted as a violation."
paragraph11
substring"said Prince Belphegor's agents are kidnapping humans"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
95
parsed
entry"855"
detail"description"
explanation"Matches the description, no violation."
paragraph6
substring"Mammon breaks it daily in Avaros"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
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\""
96
parsed
entry"857"
detail"description"
explanation"Irath is described as a volcanic wasteland of perpetual war. The text doesn't contradict this."
paragraph6
substring"the Crimson Court's base of operations has shifted from Dymas to Irath"
status"false_positive"
location
extractedText"[not found in paragraph 6]"
inBoundstrue
expectedText""
locationAccuratefalse
97
parsed
entry"859"
detail"description"
explanation"This is about the Fae Grove, not Somnia, so no violation."
paragraph4
substring"the grove's strange microclimate"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
98
parsed
entry"862"
detail"description"
explanation"Luxuria is described as a realm of illusions and desires, not dreamers. This might be a contradiction, but the text says the Somnian Cult serves Lilith, which is incorrect per the codex. The description of the garden doesn't match Luxuria's description. However, the codex doesn't explicitly say what Lilith's garden is, so I'll skip this as not a direct contradiction."
paragraph4
substring"Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
99
parsed
entry"2001"
detail"description"
explanation"The description matches, no violation."
paragraph13
substring"the crimson stone glowing brighter than she'd ever seen"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText"the golden chain tangled in her fingers"
locationAccuratefalse
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\""
100
parsed
entry"2002"
detail"description"
explanation"The description matches, no violation."
paragraph11
substring"Her contract document"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
101
parsed
entry"2003"
detail"description"
explanation"The gauntlet is not mentioned, so no violation."
paragraph11
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
102
parsed
entry"2004"
detail"description"
explanation"The compass is not mentioned, so no violation."
paragraph9
substring"The market's under Camden this month"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
inBoundstrue
expectedText""
locationAccuratefalse
103
parsed
entry"2005"
detail"description"
explanation"The description says it induces a deep trance, but the text says it's modified to create dependency, which is a contradiction as noted."
paragraph4
substring"designed to create dependency"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
104
parsed
entry"2006"
detail"description"
explanation"The description matches, but the temperature is wrong, so already noted."
paragraph2
substring"the Fae-Forged Blade warm at her hip"
status"false_positive"
location
extractedText"the Fae-Forged Blade warm at her hip"
inBoundstrue
expectedText"the Fae-Forged Blade warm at her hip"
locationAccuratetrue
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\""
105
parsed
entry"7001"
detail"description"
explanation"The description matches, no violation."
paragraph14
substring"the Veil shimmered — thin as gossamer, and getting thinner by the hour"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
106
parsed
entry"7002"
detail"description"
explanation"The description matches, but the year is wrong, so already noted."
paragraph5
substring"The Covenant of Separation — the old treaty from 1066 — forbids this kind of direct interference"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
107
parsed
entry"7003"
detail"description"
explanation"The description matches, no violation."
paragraph12
substring"Three new ones opened near underground water sources"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
108
parsed
entry"7004"
detail"description"
explanation"The description matches, no violation."
paragraph11
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 11]"
inBoundstrue
expectedText""
locationAccuratefalse
109
parsed
entry"7005"
detail"description"
explanation"The description matches, no violation."
paragraph12
substring"I treated a Helbound soul last week"
status"false_positive"
location
extractedText"[not found in paragraph 12]"
inBoundstrue
expectedText""
locationAccuratefalse
110
parsed
entry"6001"
detail"description"
explanation"The description matches, but the year is wrong, so already noted."
paragraph10
substring"The Wardens were founded in 1066"
status"false_positive"
location
extractedText"[not found in paragraph 10]"
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\""
111
parsed
entry"6002"
detail"description"
explanation"The description matches, no violation."
paragraph4
substring"The Crimson Court stirs"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
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\""
112
parsed
entry"6003"
detail"description"
explanation"The description matches, but the master is wrong, so already noted."
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 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\""
113
parsed
entry"6004"
detail"description"
explanation"The description matches, no violation."
paragraph5
substring"The Parish Guard has seen it too"
status"false_positive"
location
extractedText"[not found in paragraph 5]"
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\""
114
parsed
entry"6005"
detail"description"
explanation"The description matches, no violation."
paragraph13
substring"Aurora arrived first"
status"false_positive"
location
extractedText"[not found in paragraph 13]"
inBoundstrue
expectedText""
locationAccuratefalse
115
parsed
entry"6006"
detail"description"
explanation"The description matches, no violation."
paragraph9
substring"Blackthorn Security has been mobilizing"
status"false_positive"
location
extractedText"[not found in paragraph 9]"
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\""
116
parsed
entry"4412"
detail"description"
explanation"The description matches, no violation."
paragraph2
substring"Aurora arrived first"
status"false_positive"
location
extractedText"Aurora arrived first"
inBoundstrue
expectedText""
locationAccuratetrue
117
parsed
entry"4413"
detail"description"
explanation"The description matches, no violation."
paragraph14
substring"Silas, who had been standing silently"
status"false_positive"
location
extractedText"[not found in paragraph 14]"
inBoundstrue
expectedText""
locationAccuratefalse
118
parsed
entry"4414"
detail"description"
explanation"The description matches, no violation."
paragraph2
substring"Eva was beside her"
status"false_positive"
location
extractedText"Eva was beside her"
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\""
119
parsed
entry"862"
detail"skyColor"
explanation""
paragraph4
substring"Prince Lilith, demands more dreamers for her garden of sleeping souls"
status"false_positive"
location
extractedText"[not found in paragraph 4]"
inBoundstrue
expectedText""
locationAccuratefalse
99.58% Structural validity
Parsed: 120, Well-formed: 119.5/120
parsedCount120
wellFormedScore119.5
40.6944%