| 75.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said simply [simply]" |
| | dialogueSentences | 12 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.125 | | effectiveRatio | 0.125 | |
| 95.81% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1194 | | 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) | |
| 37.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1194 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "glistening" | | 1 | "flickered" | | 2 | "calculated" | | 3 | "weight" | | 4 | "scanning" | | 5 | "gloom" | | 6 | "footsteps" | | 7 | "flicker" | | 8 | "pulse" | | 9 | "unreadable" | | 10 | "echoed" | | 11 | "glint" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "the air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 89 | | matches | (empty) | |
| 94.70% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 89 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 94 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 3 | | totalWords | 1178 | | ratio | 0.003 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 87.61% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 27 | | wordCount | 1122 | | uniqueNames | 8 | | maxNameDensity | 1.25 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 2 | | Harlow | 1 | | Quinn | 14 | | Raven | 1 | | Seville | 1 | | Herrera | 2 | | London | 1 | | Tomás | 5 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Herrera" | | 4 | "Tomás" |
| | places | | 0 | "Soho" | | 1 | "Seville" | | 2 | "London" |
| | globalScore | 0.876 | | windowScore | 1 | |
| 78.57% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 2 | | matches | | 0 | "trinkets that seemed to shift when she looked at them too long" | | 1 | "quite human" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.849 | | wordCount | 1178 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 94 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 39.27 | | std | 25.65 | | cv | 0.653 | | sampleLengths | | 0 | 100 | | 1 | 51 | | 2 | 86 | | 3 | 68 | | 4 | 48 | | 5 | 56 | | 6 | 31 | | 7 | 8 | | 8 | 23 | | 9 | 22 | | 10 | 11 | | 11 | 14 | | 12 | 59 | | 13 | 60 | | 14 | 8 | | 15 | 62 | | 16 | 46 | | 17 | 44 | | 18 | 83 | | 19 | 5 | | 20 | 47 | | 21 | 46 | | 22 | 12 | | 23 | 59 | | 24 | 15 | | 25 | 41 | | 26 | 15 | | 27 | 11 | | 28 | 36 | | 29 | 11 |
| |
| 89.49% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 89 | | matches | | 0 | "been spotted" | | 1 | "been swallowed" | | 2 | "was—was" | | 3 | "was gone" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 8 | | totalVerbs | 184 | | matches | | 0 | "was running" | | 1 | "was falling" | | 2 | "was standing" | | 3 | "was looking" | | 4 | "was waiting" | | 5 | "was doing" | | 6 | "wasn’t leaving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 94 | | ratio | 0.117 | | matches | | 0 | "She had been tailing the suspect for nearly an hour—ever since he’d slipped out of the back room of Silas’ bar, his movements too deliberate, too calculated." | | 1 | "The suspect—some low-level dealer, maybe a fence—hadn’t given her a name, but his nervous energy had been radiating off him since the moment he’d stepped into the bar." | | 2 | "Then—movement." | | 3 | "For a heartbeat, she thought it was her suspect—until she saw the scar running along his left forearm, the way his dark brown eyes flickered with something unnerving." | | 4 | "The suspect—if that’s what he was—had been spotted." | | 5 | "The rain had let up slightly, but the air was thick with the scent of damp earth and something else—something metallic, like old blood." | | 6 | "She’d heard the rumors—whispers of a hidden world beneath London, a place where the supernatural traded in secrets and sins." | | 7 | "The stairs ended in a cavernous space, the walls lined with stalls selling goods she didn’t recognize—bottles of swirling liquids, jars of blackened herbs, trinkets that seemed to shift when she looked at them too long." | | 8 | "The suspect—if that’s what he was—was standing in the center of the market, his back to them, his hands raised as if in surrender." | | 9 | "The stalls moved, the shadows deepened, and for a heartbeat, Quinn thought she saw something move in the corner of her eye—a flicker of movement, a glint of something metallic." | | 10 | "And then, from the shadows, a figure emerged—a woman with eyes like polished obsidian, her smile too wide, too knowing." |
| |
| 93.30% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 107 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 4 | | adverbRatio | 0.037383177570093455 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.028037383177570093 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 94 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 94 | | mean | 12.53 | | std | 7.45 | | cv | 0.595 | | sampleLengths | | 0 | 16 | | 1 | 25 | | 2 | 20 | | 3 | 27 | | 4 | 6 | | 5 | 6 | | 6 | 18 | | 7 | 28 | | 8 | 5 | | 9 | 19 | | 10 | 24 | | 11 | 11 | | 12 | 18 | | 13 | 3 | | 14 | 11 | | 15 | 16 | | 16 | 12 | | 17 | 3 | | 18 | 26 | | 19 | 11 | | 20 | 1 | | 21 | 7 | | 22 | 16 | | 23 | 17 | | 24 | 5 | | 25 | 2 | | 26 | 20 | | 27 | 28 | | 28 | 2 | | 29 | 6 | | 30 | 15 | | 31 | 16 | | 32 | 8 | | 33 | 15 | | 34 | 8 | | 35 | 8 | | 36 | 4 | | 37 | 10 | | 38 | 11 | | 39 | 4 | | 40 | 10 | | 41 | 13 | | 42 | 8 | | 43 | 3 | | 44 | 20 | | 45 | 15 | | 46 | 12 | | 47 | 24 | | 48 | 12 | | 49 | 4 |
| |
| 42.55% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.26595744680851063 | | totalSentences | 94 | | uniqueOpeners | 25 | |
| 77.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 86 | | matches | | 0 | "Too far in." | | 1 | "Then, the ground beneath her" |
| | ratio | 0.023 | |
| 99.07% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 86 | | matches | | 0 | "She had been tailing the" | | 1 | "She adjusted the strap of" | | 2 | "She kept her head down," | | 3 | "She took the same path," | | 4 | "She stepped forward, her boots" | | 5 | "She rounded a corner and" | | 6 | "He didn’t move, didn’t reach" | | 7 | "she demanded, her voice sharp" | | 8 | "He pushed off the wall," | | 9 | "She didn’t like the way" | | 10 | "she asked, her eyes never" | | 11 | "he said simply" | | 12 | "She moved, her body a" | | 13 | "They emerged onto a street" | | 14 | "She was too close now." | | 15 | "She stumbled, her boot catching" | | 16 | "She landed hard on her" | | 17 | "he said, his voice barely" | | 18 | "She knew what this was." | | 19 | "She’d heard the rumors—whispers of" |
| | ratio | 0.302 | |
| 87.91% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 64 | | totalSentences | 86 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn’s boots splashed" | | 2 | "The neon glow of *The" | | 3 | "She had been tailing the" | | 4 | "Something about him didn’t add" | | 5 | "She adjusted the strap of" | | 6 | "The suspect—some low-level dealer, maybe" | | 7 | "Quinn followed the trail of" | | 8 | "The city was alive with" | | 9 | "She kept her head down," | | 10 | "The suspect had cut through" | | 11 | "Quinn didn’t hesitate." | | 12 | "She took the same path," | | 13 | "The alley opened into a" | | 14 | "The suspect ducked into a" | | 15 | "Quinn paused, listening." | | 16 | "The rain had softened the" | | 17 | "She stepped forward, her boots" | | 18 | "A flicker of motion in" | | 19 | "The suspect was already moving" |
| | ratio | 0.744 | |
| 58.14% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 86 | | matches | | 0 | "Before she could respond, a" |
| | ratio | 0.012 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 53 | | technicalSentenceCount | 3 | | matches | | 0 | "The suspect was already moving again, his path leading deeper into the labyrinth of Soho’s underbelly." | | 1 | "She stumbled, her boot catching on something unseen, and for a heartbeat, she was falling." | | 2 | "The stairs ended in a cavernous space, the walls lined with stalls selling goods she didn’t recognize—bottles of swirling liquids, jars of blackened herbs, trin…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 4 | | matches | | 0 | "She had, his movements too deliberate, too calculated" | | 1 | "the man said, his voice low, accented with the cadence of Seville" | | 2 | "she demanded, her voice sharp" | | 3 | "He pushed, his olive skin glistening in the dim light" |
| |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 12 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0.2 | | effectiveRatio | 0.167 | |