| 42.11% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 3 | | adverbTags | | 0 | "a Marseille lilt she’d once [once]" | | 1 | "they pulled away [away]" | | 2 | "it’ll also [also]" |
| | dialogueSentences | 20 | | tagDensity | 0.95 | | leniency | 1 | | rawRatio | 0.158 | | effectiveRatio | 0.158 | |
| 95.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2030 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 53.20% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2030 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "stark" | | 1 | "fluttered" | | 2 | "weight" | | 3 | "traced" | | 4 | "lilt" | | 5 | "echoing" | | 6 | "flickered" | | 7 | "resolve" | | 8 | "wavered" | | 9 | "pawn" | | 10 | "tension" | | 11 | "racing" | | 12 | "flicker" | | 13 | "comforting" | | 14 | "reminder" | | 15 | "familiar" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 90.28% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 2 | | narrationSentences | 48 | | matches | | 0 | "p with urgency" | | 1 | "d with guilt" |
| |
| 83.33% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 48 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 51 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 137 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1994 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 78 | | wordCount | 1635 | | uniqueNames | 23 | | maxNameDensity | 0.8 | | worstName | "Eva" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Eva" | | discoveredNames | | Rory | 11 | | Curry | 1 | | Eva | 13 | | Brick | 1 | | Lane | 1 | | Golden | 1 | | Empress | 1 | | Ptolemy | 7 | | Pre-Law | 4 | | Avaros | 5 | | Gate | 3 | | Lore | 2 | | Marseille | 1 | | French | 1 | | Soho | 1 | | Cardiff | 3 | | Get | 1 | | London | 1 | | Evan | 4 | | Lucien | 12 | | Silas | 1 | | Welsh | 2 | | Weaknesses | 1 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Ptolemy" | | 3 | "Avaros" | | 4 | "Lore" | | 5 | "Get" | | 6 | "Evan" | | 7 | "Lucien" | | 8 | "Silas" | | 9 | "Welsh" |
| | places | | 0 | "Curry" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "Marseille" | | 4 | "Soho" | | 5 | "Cardiff" | | 6 | "London" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 30.95% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a knife twisted in her chest" | | 1 | "felt like she was exactly where she was" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1994 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 51 | | matches | | |
| 50.75% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 21 | | mean | 94.95 | | std | 31.11 | | cv | 0.328 | | sampleLengths | | 0 | 126 | | 1 | 149 | | 2 | 129 | | 3 | 80 | | 4 | 42 | | 5 | 103 | | 6 | 59 | | 7 | 131 | | 8 | 99 | | 9 | 111 | | 10 | 100 | | 11 | 119 | | 12 | 60 | | 13 | 84 | | 14 | 81 | | 15 | 106 | | 16 | 81 | | 17 | 67 | | 18 | 102 | | 19 | 29 | | 20 | 136 |
| |
| 90.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 48 | | matches | | 0 | "were calloused" | | 1 | "was supposed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 292 | | matches | | 0 | "was thudding" | | 1 | "wasn’t facing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 20 | | semicolonCount | 2 | | flaggedSentences | 19 | | totalSentences | 51 | | ratio | 0.373 | | matches | | 0 | "Curry fumes—garlic sharp enough to prickle her sinuses, cumin thick as a blanket—wafted up from the restaurant below Eva’s Brick Lane flat, clinging to the frayed strap of her Golden Empress bag where a smudge of soy sauce had dried that afternoon and a crumpled receipt from Silas’ bar peeked out of the side pocket." | | 1 | "His platinum blond hair was slightly less slicked than she remembered, a single strand falling across his forehead to frame his heterochromatic eyes—one amber, one black—eyes that had haunted her dreams for six months." | | 2 | "His ivory-handled cane tapped once against the linoleum, the sound sharp enough to rouse Ptolemy from a curl of scrolls on the windowsill; the tabby arched his back, hissing so loudly the teacup rattled and a neon post-it fluttered to the floor." | | 3 | "She had not expected to see him here—not after he’d vanished without a note, not after the kiss that had left her reeling in this very room (her back pressed against a stack of demonology scrolls, his hand on her waist), not after she’d spent weeks replaying his last words (I have to go) until they felt like a knife twisted in her chest." | | 4 | "She shifted her weight, her left wrist tingling where the crescent scar from her childhood bike crash sat; he’d traced it once, his thumb soft against the faded white line, and asked if Eva had been there to patch her up (she’d said yes, that Eva had used a band-aid with a dinosaur on it and made her hot cocoa)." | | 5 | "saying Get on the next train to London—I’ve got a couch for you), the reason she’d taken the delivery job to lay low and avoid her father’s barrister office calls." | | 6 | "She’d thought he’d done it out of kindness—until he left." | | 7 | "She’d spent six months telling herself he’d used her—her Pre-Law knowledge of legal loopholes to help him avoid a supernatural arrest, her connection to Eva’s supernatural research to track Avaros gates, her fear of Evan to manipulate her into giving him info on Cardiff’s underground—as a pawn in his underworld games." | | 8 | "She stepped closer, the gap between them narrowing until she could smell his cologne—sandalwood and smoke, the same scent he’d worn the night they’d kissed, a scent that had clung to her hoodie for days after he left." | | 9 | "That when you helped me hide from Evan, you made me feel like I could choose my own life—like I didn’t have to be the daughter he wanted, the barrister he’d planned for since I was a kid.”" | | 10 | "That I’ve been watching you from afar—making sure Evan didn’t find you, making sure your delivery routes were clear of supernatural trouble, making sure Silas kept an eye on you when you were at his bar.”" | | 11 | "Ptolemy padded over, rubbing his tabby body against Rory’s leg until she bent to scratch his chin (his fur was soft, matted a little from sleeping on scrolls). The cat purred, a low rumble that cut through the tension, and Lucien smiled—a small, sad smile she’d never seen before, a smile that made his amber eye crinkle at the corner." | | 12 | "“I didn’t think you’d ever come back,” she said, standing up again, her knee brushing a stack of law textbooks she’d left there when she’d dropped out. Her eyes darted to his cane, to the ivory handle that concealed a thin blade—something he’d revealed to her once when a demon thug had tracked them to Silas’ bar and he’d pulled the blade to scare him off. “I thought you’d forgotten about me." | | 13 | "“I could never forget you,” he said, and this time his hand closed around her wrist, his touch gentle enough that she didn’t feel threatened, that she felt safe—something she hadn’t felt since he left. He traced her scar again, his fingers warm against her skin, and she leaned into him, her body responding to his presence despite the hurt she’d carried for six months, despite the nights she’d cried into Eva’s hoodie because she’d thought he’d left her for good." | | 14 | "The kiss was slower than the last one, softer, filled with all the unsaid words they’d been carrying—her gratitude, his guilt, their attraction, their fear. Lucien’s cane clattered to the floor, his free hand wrapping around her waist to pull her closer, and Rory’s arms went around his neck, her fingers tangling in his platinum hair (it was softer than she remembered, the slick gel wearing off at the roots). The curry fumes faded into the background, replaced by the scent of his cologne, the sound of Ptolemy’s purring, the rustle of scrolls as they shifted their weight to lean against a stack of demonology books." | | 15 | "When they pulled away, Rory’s heart was still thudding, but it was a different kind of thud—one of hope, not fear. She looked around the cramped flat, at the books and scrolls that had been her refuge for so long, at Ptolemy curling up on a stack of scrolls labeled Avaros Gate Lore, at Lucien’s cane lying on the floor, at the crumpled receipt from Silas’ bar peeking out of her bag, and she knew things would never be the same." | | 16 | "But it’ll also let more demons through—demons that will tear this city apart.”" | | 17 | "My mother taught me to read old Welsh texts—she said they were stories, but maybe they’re research." | | 18 | "They sat down on the floor, surrounded by scrolls and books, Ptolemy jumping into Lucien’s lap to curl up between them (the cat’s purr was loud now, a comforting hum). Rory pulled the crumpled receipt from her bag and tucked it into a scroll labeled Avaros Gate Weaknesses, a reminder of the life she’d built since she’d fled Cardiff, the life she was going to fight for. The curry fumes drifted back, warm and familiar, and for the first time in six months, Rory felt like she was exactly where she was supposed to be. She leaned her head against Lucien’s shoulder, his cologne wrapping around her like a blanket, and began to trace the edges of a scroll with her free hand—ready to face whatever came next, as long as she wasn’t facing it alone." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 508 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 10 | | adverbRatio | 0.01968503937007874 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 51 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 51 | | mean | 39.1 | | std | 28.32 | | cv | 0.724 | | sampleLengths | | 0 | 30 | | 1 | 55 | | 2 | 41 | | 3 | 73 | | 4 | 34 | | 5 | 42 | | 6 | 5 | | 7 | 64 | | 8 | 60 | | 9 | 43 | | 10 | 37 | | 11 | 3 | | 12 | 32 | | 13 | 7 | | 14 | 3 | | 15 | 22 | | 16 | 30 | | 17 | 38 | | 18 | 10 | | 19 | 13 | | 20 | 46 | | 21 | 14 | | 22 | 39 | | 23 | 78 | | 24 | 3 | | 25 | 51 | | 26 | 45 | | 27 | 38 | | 28 | 73 | | 29 | 52 | | 30 | 10 | | 31 | 38 | | 32 | 50 | | 33 | 33 | | 34 | 36 | | 35 | 60 | | 36 | 72 | | 37 | 12 | | 38 | 81 | | 39 | 106 | | 40 | 81 | | 41 | 36 | | 42 | 18 | | 43 | 13 | | 44 | 68 | | 45 | 7 | | 46 | 17 | | 47 | 6 | | 48 | 4 | | 49 | 29 |
| |
| 64.05% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.43137254901960786 | | totalSentences | 51 | | uniqueOpeners | 22 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 47 | | matches | (empty) | | ratio | 0 | |
| 32.77% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 47 | | matches | | 0 | "She pushed the door open," | | 1 | "His platinum blond hair was" | | 2 | "His ivory-handled cane tapped once" | | 3 | "She had not expected to" | | 4 | "She shifted her weight, her" | | 5 | "Her voice was cooler than" | | 6 | "She slung her delivery bag" | | 7 | "His accent was faint, a" | | 8 | "Her abusive ex, the reason" | | 9 | "She’d thought he’d done it" | | 10 | "She laughed, a bitter, hollow" | | 11 | "His amber eye flickered to" | | 12 | "She’d spent six months telling" | | 13 | "She stepped closer, the gap" | | 14 | "she whispered, her voice cracking" | | 15 | "she said, standing up again," | | 16 | "he said, and this time" | | 17 | "He thinks it’ll give him" | | 18 | "My mother taught me to" | | 19 | "I can help you translate" |
| | ratio | 0.468 | |
| 2.55% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 47 | | matches | | 0 | "The third deadbolt stuck, Rory’s" | | 1 | "Curry fumes—garlic sharp enough to" | | 2 | "She pushed the door open," | | 3 | "Lucien stood in the middle" | | 4 | "His platinum blond hair was" | | 5 | "His ivory-handled cane tapped once" | | 6 | "Rory’s bright blue eyes narrowed." | | 7 | "She had not expected to" | | 8 | "She shifted her weight, her" | | 9 | "Her voice was cooler than" | | 10 | "She slung her delivery bag" | | 11 | "Lucien’s jaw tightened." | | 12 | "His accent was faint, a" | | 13 | "Rory’s breath caught." | | 14 | "Her abusive ex, the reason" | | 15 | "Lucien had helped her hide" | | 16 | "She’d thought he’d done it" | | 17 | "She laughed, a bitter, hollow" | | 18 | "Lucien’s cane tapped again, harder" | | 19 | "His amber eye flickered to" |
| | ratio | 0.915 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 47 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 21 | | technicalSentenceCount | 6 | | matches | | 0 | "His platinum blond hair was slightly less slicked than she remembered, a single strand falling across his forehead to frame his heterochromatic eyes—one amber, …" | | 1 | "She had not expected to see him here—not after he’d vanished without a note, not after the kiss that had left her reeling in this very room (her back pressed ag…" | | 2 | "But the way his black eye clouded with guilt, the loose thread on his suit cuff (a sign he’d been rushing, something she’d never seen in the impeccably dressed …" | | 3 | "She stepped closer, the gap between them narrowing until she could smell his cologne—sandalwood and smoke, the same scent he’d worn the night they’d kissed, a s…" | | 4 | "Ptolemy padded over, rubbing his tabby body against Rory’s leg until she bent to scratch his chin (his fur was soft, matted a little from sleeping on scrolls). …" | | 5 | "The kiss was slower than the last one, softer, filled with all the unsaid words they’d been carrying—her gratitude, his guilt, their attraction, their fear. Luc…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 50.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 2 | | fancyTags | | 0 | "She laughed (laugh)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 20 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.4 | | effectiveRatio | 0.2 | |