| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 1 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 97.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1993 | | totalAiIsmAdverbs | 1 | | 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) | |
| 74.91% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1993 | | totalAiIsms | 10 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | word | "down her spine" | | count | 1 |
| | 6 | | | 7 | |
| | highlights | | 0 | "flicked" | | 1 | "flicker" | | 2 | "weight" | | 3 | "tension" | | 4 | "familiar" | | 5 | "down her spine" | | 6 | "traced" | | 7 | "unspoken" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "flicker of emotion" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 2 | | narrationSentences | 102 | | matches | | 0 | "a flicker of fear" | | 1 | "was nervous" |
| |
| 86.83% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 102 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 102 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 59 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1953 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 98 | | wordCount | 1848 | | uniqueNames | 19 | | maxNameDensity | 0.97 | | worstName | "Lucien" | | maxWindowNameDensity | 2 | | worstWindowName | "Lucien" | | discoveredNames | | Golden | 4 | | Empress | 4 | | Eva | 14 | | Avarosian | 3 | | Evan | 6 | | Brick | 1 | | Lane | 1 | | Lucien | 18 | | East | 2 | | London | 2 | | Marseille | 1 | | Avaros | 2 | | Ptolemy | 6 | | Yu | 4 | | Fei | 4 | | Cheung | 4 | | Rory | 14 | | Yu-Fei | 2 | | You | 6 |
| | persons | | 0 | "Eva" | | 1 | "Evan" | | 2 | "Lucien" | | 3 | "Ptolemy" | | 4 | "Fei" | | 5 | "Cheung" | | 6 | "Rory" | | 7 | "Yu-Fei" | | 8 | "You" |
| | places | | 0 | "Golden" | | 1 | "Brick" | | 2 | "Lane" | | 3 | "East" | | 4 | "London" | | 5 | "Marseille" | | 6 | "Yu" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 74 | | glossingSentenceCount | 5 | | matches | | 0 | "as if testing the waters" | | 1 | "as if sensing the thick attraction that still hummed between them—an attraction they’d never fully addressed, even before the split, too caught up in the chaos of Evan’s goons and Lucien’s father’s agents to talk about what they really wanted" | | 2 | "as if complaining about the slow pace of their conversation" | | 3 | "as if celebrating a victory, followed by the clink of beer mugs and the sound of a server yelling an order" | | 4 | "as if giving his approval" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1953 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 102 | | matches | | 0 | "place that morning" | | 1 | "thought that kiss" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 47.63 | | std | 36 | | cv | 0.756 | | sampleLengths | | 0 | 131 | | 1 | 152 | | 2 | 139 | | 3 | 4 | | 4 | 94 | | 5 | 34 | | 6 | 63 | | 7 | 34 | | 8 | 63 | | 9 | 32 | | 10 | 65 | | 11 | 23 | | 12 | 50 | | 13 | 48 | | 14 | 69 | | 15 | 34 | | 16 | 61 | | 17 | 26 | | 18 | 27 | | 19 | 70 | | 20 | 86 | | 21 | 40 | | 22 | 72 | | 23 | 16 | | 24 | 21 | | 25 | 37 | | 26 | 37 | | 27 | 10 | | 28 | 1 | | 29 | 34 | | 30 | 17 | | 31 | 2 | | 32 | 70 | | 33 | 86 | | 34 | 28 | | 35 | 11 | | 36 | 44 | | 37 | 41 | | 38 | 7 | | 39 | 4 | | 40 | 70 |
| |
| 91.50% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 102 | | matches | | 0 | "were bugged" | | 1 | "gone" | | 2 | "been monitored" | | 3 | "was hidden" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 302 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 26 | | semicolonCount | 1 | | flaggedSentences | 23 | | totalSentences | 102 | | ratio | 0.225 | | matches | | 0 | "Ptolemy’s tabby tail flicked once, sending a loose research note fluttering to the linoleum where curry fumes curled up from the shop below—thick with cumin and turmeric, sharp enough to sting her eyes if she lingered too close to the window." | | 1 | "The three deadbolts glinted in the dim lamplight; she’d twisted each into place that morning after a jittery run past a man who’d matched Evan’s build, his shadow stretching long across the brick pavement of Brick Lane." | | 2 | "When she pulled the door open an inch, a whiff of tailored wool and clove hit her—Lucien’s signature scent, one she’d tried to scrub from her memories by dousing her flat above Silas’ bar with curry powder." | | 3 | "His slicked-back platinum hair held no stray strands, his charcoal suit pressed so sharp it could have sliced the curry fumes drifting between them—he’d always prided himself on his appearance, an armor against the chaos of the supernatural underworld." | | 4 | "His ivory cane rested against his shoulder, his knuckles white where he curled around its handle—she knew the thin blade hidden within, had watched him slide it free once to cut through a locking mechanism when Evan’s goons had blocked her escape from a warehouse in East London six months prior." | | 5 | "She crossed her arms, her left wrist’s crescent scar tugging—she’d scraped it on his cane the last time they’d spoken, when he’d burst into her flat above Silas’ bar, mumbled a half-hearted apology, and vanished without a word, leaving only a crumpled note with a Avarosian symbol she couldn’t decode until Eva had translated it last week." | | 6 | "Ptolemy jumped from the windowsill, his paws thudding across the scrolls as he pressed against her calf, a low purr rumbling in his chest—he’d never been fond of strangers, but something about Lucien’s scent made him linger." | | 7 | "Found Eva’s name on your emergency contact list at the Golden Empress—Yu-Fei Cheung slipped it to me after I promised to erase her debt to a vampire loan shark." | | 8 | "Lucien’s gaze darted to the stack of research notes teetering on the entryway table—Eva’s work on the half-demon shielding relic, the same work that had tangled Rory up with Lucien’s underworld contacts when she’d asked him to track a stolen scroll for her." | | 9 | "They’d have killed you to get to me—half-human relatives of Avarosian demons are their favorite leverage." | | 10 | "Lucien’s gaze fell to her left wrist’s crescent scar, his jaw tightening—he’d never asked about its origin, too caught up in his own fear of his father’s agents to notice the small, faded mark from her childhood accident with a broken glass." | | 11 | "My father’s agents monitored all supernatural comms—even Eva’s scrolls were bugged for a week before I found and destroyed the device." | | 12 | "Lucien’s gaze darted to her left wrist, his fingers hovering just above the crescent scar—he’d never touched it since the night he’d scraped it, too afraid of the hurt he’d caused, too afraid of the vulnerability it would bring to admit he cared." | | 13 | "Ptolemy jumped onto the couch, his tail flicking between them, as if sensing the thick attraction that still hummed between them—an attraction they’d never fully addressed, even before the split, too caught up in the chaos of Evan’s goons and Lucien’s father’s agents to talk about what they really wanted." | | 14 | "Traced them to a warehouse in East London, took them down with my cane’s blade—they didn’t see it coming." | | 15 | "She’s not supernatural—she wouldn’t have been monitored." | | 16 | "It’s in a warehouse near my delivery route—Yu-Fei Cheung told me the goons who stole it are hiding it there." | | 17 | "Rory took it, her fingers curling around it, the memory of their kiss on the fire escape flooding back—his hands in her black shoulder-length hair, his breath hot against her neck, the sound of Silas’ bar’s jukebox in the background." | | 18 | "A scroll fell from the ceiling—Eva had taped it there, but the tape had loosened after weeks of curry fumes—and Lucien caught it, his fingers brushing Rory’s as he handed it to her." | | 19 | "I’ll bring an extra spring roll—for the wrapper." | | 20 | "She tucked the golden foil wrapper into her delivery jacket pocket, her left wrist’s crescent scar tugging as she did, a small smile tugging at her lips—she’d forgotten how to smile without the weight of Lucien’s disappearance hanging over her." | | 21 | "Lucien’s gaze locked on her smile, his own lips tugging into a small grin—he’d never seen her smile like that, unguarded, free from fear." | | 22 | "The curry fumes wrapped around them, warm and familiar, as Lucien’s heterochromatic eyes held Rory’s, the unspoken words between them thrumming in the cramped flat—words of attraction, of regret, of the future they’d never dared to imagine before he’d knocked on the door." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 189 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 4 | | adverbRatio | 0.021164021164021163 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 102 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 102 | | mean | 19.15 | | std | 14.88 | | cv | 0.777 | | sampleLengths | | 0 | 34 | | 1 | 41 | | 2 | 47 | | 3 | 9 | | 4 | 35 | | 5 | 37 | | 6 | 38 | | 7 | 37 | | 8 | 5 | | 9 | 39 | | 10 | 51 | | 11 | 49 | | 12 | 4 | | 13 | 57 | | 14 | 37 | | 15 | 5 | | 16 | 29 | | 17 | 43 | | 18 | 20 | | 19 | 2 | | 20 | 19 | | 21 | 13 | | 22 | 3 | | 23 | 37 | | 24 | 23 | | 25 | 7 | | 26 | 9 | | 27 | 16 | | 28 | 42 | | 29 | 23 | | 30 | 4 | | 31 | 3 | | 32 | 16 | | 33 | 26 | | 34 | 24 | | 35 | 10 | | 36 | 21 | | 37 | 17 | | 38 | 28 | | 39 | 41 | | 40 | 6 | | 41 | 10 | | 42 | 18 | | 43 | 37 | | 44 | 24 | | 45 | 4 | | 46 | 22 | | 47 | 7 | | 48 | 5 | | 49 | 15 |
| |
| 38.24% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.24509803921568626 | | totalSentences | 102 | | uniqueOpeners | 25 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 94 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 53 | | totalSentences | 94 | | matches | | 0 | "She’d forgotten to shed her" | | 1 | "She stepped to the door," | | 2 | "She fumbled with the top" | | 3 | "She wrenched the door wider." | | 4 | "His slicked-back platinum hair held" | | 5 | "His ivory cane rested against" | | 6 | "His heterochromatic eyes locked on" | | 7 | "You shouldn’t be here." | | 8 | "She crossed her arms, her" | | 9 | "I tracked your delivery route." | | 10 | "He shifted his weight, his" | | 11 | "She’d spent three nights huddled" | | 12 | "She’d had to hide in" | | 13 | "They’d tracked me to your" | | 14 | "They’d have killed you to" | | 15 | "He stepped forward, but Rory" | | 16 | "You didn’t tell me." | | 17 | "You just ran." | | 18 | "I thought you’d grown tired" | | 19 | "I couldn’t risk them using" |
| | ratio | 0.564 | |
| 2.55% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 86 | | totalSentences | 94 | | matches | | 0 | "Rory’s fingers brushed a crumpled" | | 1 | "Ptolemy’s tabby tail flicked once," | | 2 | "She’d forgotten to shed her" | | 3 | "A sharp rap on the" | | 4 | "She stepped to the door," | | 5 | "The three deadbolts glinted in" | | 6 | "She fumbled with the top" | | 7 | "She wrenched the door wider." | | 8 | "His slicked-back platinum hair held" | | 9 | "His ivory cane rested against" | | 10 | "His heterochromatic eyes locked on" | | 11 | "You shouldn’t be here." | | 12 | "She crossed her arms, her" | | 13 | "Ptolemy jumped from the windowsill," | | 14 | "I tracked your delivery route." | | 15 | "Lucien’s gaze darted to the" | | 16 | "He shifted his weight, his" | | 17 | "Rory’s voice tightened." | | 18 | "She’d spent three nights huddled" | | 19 | "She’d had to hide in" |
| | ratio | 0.915 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 94 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 55 | | technicalSentenceCount | 18 | | matches | | 0 | "Rory’s fingers brushed a crumpled golden foil wrapper from the Golden Empress as she stacked delivery receipts on a tower of ancient scrolls that teetered next …" | | 1 | "The three deadbolts glinted in the dim lamplight; she’d twisted each into place that morning after a jittery run past a man who’d matched Evan’s build, his shad…" | | 2 | "She fumbled with the top deadbolt first, its metal digging into her palm until her knuckles whitened, then the middle, its lock sticking for a beat before click…" | | 3 | "His heterochromatic eyes locked on hers: one amber, burning like the Marseille sun he’d once described as the only thing that made his half-demon blood feel bea…" | | 4 | "Ptolemy jumped from the windowsill, his paws thudding across the scrolls as he pressed against her calf, a low purr rumbling in his chest—he’d never been fond o…" | | 5 | "Lucien’s gaze darted to the stack of research notes teetering on the entryway table—Eva’s work on the half-demon shielding relic, the same work that had tangled…" | | 6 | "Ptolemy nipped at Rory’s boot, then darted past Lucien’s legs, his tabby fur brushing the hem of his suit, as if testing the waters." | | 7 | "She stared at it, her fingers itching to take it, her breath catching at the small, faded stain of soy sauce on its edge." | | 8 | "It was the only thing that made sense in the middle of my father’s chaos." | | 9 | "Rory leaned into his hand, her breath catching as his skin made contact with hers, the familiar heat of his touch sending a shiver down her spine." | | 10 | "Ptolemy jumped onto the couch, his tail flicking between them, as if sensing the thick attraction that still hummed between them—an attraction they’d never full…" | | 11 | "Ptolemy jumped onto the windowsill, his tail flicking between them, as if complaining about the slow pace of their conversation." | | 12 | "Eva’s been researching a relic that can shield half-demons from their father’s agents." | | 13 | "It’s in a warehouse near my delivery route—Yu-Fei Cheung told me the goons who stole it are hiding it there." | | 14 | "She leaned against the windowsill, her gaze locking on Lucien’s heterochromatic eyes, the amber one burning bright, the black one softening with a hint of vulne…" | | 15 | "The curry house below let out a loud cheer, as if celebrating a victory, followed by the clink of beer mugs and the sound of a server yelling an order." | | 16 | "She tucked the golden foil wrapper into her delivery jacket pocket, her left wrist’s crescent scar tugging as she did, a small smile tugging at her lips—she’d f…" | | 17 | "Ptolemy jumped onto his shoulder, his tail flicking against his platinum hair, as if giving his approval." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |