| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 12 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.02% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1255 | | 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) | |
| 20.32% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1255 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "flickered" | | 1 | "pulse" | | 2 | "tracing" | | 3 | "unreadable" | | 4 | "weight" | | 5 | "echoed" | | 6 | "dancing" | | 7 | "shattered" | | 8 | "footsteps" | | 9 | "streaming" | | 10 | "etched" | | 11 | "familiar" | | 12 | "silence" | | 13 | "reminder" | | 14 | "crystallized" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 0 | | maxInWindow | 0 | | found | (empty) | | highlights | (empty) | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 81 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 81 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1244 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1122 | | uniqueNames | 16 | | maxNameDensity | 0.71 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Quinn | 8 | | Raven | 1 | | Nest | 1 | | Herrera | 8 | | Saint | 1 | | Christopher | 1 | | London | 3 | | Morris | 4 | | Tube | 2 | | Camden | 2 | | Market | 2 | | Spanish | 1 | | Veil | 1 | | Glock | 1 | | Yard | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Raven" | | 2 | "Herrera" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Morris" | | 6 | "Glock" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Market" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 69 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like shifting sand" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.804 | | wordCount | 1244 | | matches | | 0 | "not fear, but a weary recognition" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 85 | | matches | | |
| 78.78% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 46.07 | | std | 19.61 | | cv | 0.426 | | sampleLengths | | 0 | 72 | | 1 | 58 | | 2 | 17 | | 3 | 44 | | 4 | 62 | | 5 | 93 | | 6 | 69 | | 7 | 29 | | 8 | 46 | | 9 | 49 | | 10 | 30 | | 11 | 37 | | 12 | 26 | | 13 | 34 | | 14 | 85 | | 15 | 44 | | 16 | 15 | | 17 | 52 | | 18 | 49 | | 19 | 50 | | 20 | 32 | | 21 | 65 | | 22 | 36 | | 23 | 41 | | 24 | 32 | | 25 | 61 | | 26 | 16 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 81 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 176 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 85 | | ratio | 0.118 | | matches | | 0 | "The scar on his left forearm, the Saint Christopher medallion he never removed—she'd catalogued every detail from the surveillance photos." | | 1 | "His eyes, warm and unreadable in the flash of a streetlamp, held something that stalled her stride for half a heartbeat—not fear, but a weary recognition." | | 2 | "Rain lashed at the black-and-white photographs pasted to a boarded-up shopfront—faded images of a London that existed only in memory." | | 3 | "The rain's percussive rhythm faded, replaced by a hum—low, thrumming, like a generator beneath the earth." | | 4 | "But the graffiti moved—shapes that coiled and skittered at the edge of her vision." | | 5 | "The tunnel narrowed, walls closing in until she had to twist sideways, and then—" | | 6 | "Stalls made of salvaged wood and corrugated metal lined the tracks, lit by lanterns that burned with unearthly colors—emerald, violet, a deep amber that cast no shadows." | | 7 | "The cold case files she'd memorized, the gaps in the narrative, the autopsy that listed cause of death as \"cardiac event\" despite the absence of any physiological cause—it all clicked into place with a sound she felt in her spine." | | 8 | "The gate she'd come through—the twisted iron bars—now stood a hundred yards behind her across the platform, but the distance looked wrong, telescoped and shimmering like heat mirage on a cold night." | | 9 | "The crowd parted around him like water around a stone, faces turning to her—some human, some not—with expressions of curiosity and ancient indifference." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1140 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 29 | | adverbRatio | 0.02543859649122807 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.005263157894736842 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 14.64 | | std | 8.52 | | cv | 0.582 | | sampleLengths | | 0 | 14 | | 1 | 17 | | 2 | 26 | | 3 | 15 | | 4 | 2 | | 5 | 19 | | 6 | 20 | | 7 | 17 | | 8 | 17 | | 9 | 3 | | 10 | 26 | | 11 | 15 | | 12 | 13 | | 13 | 11 | | 14 | 6 | | 15 | 32 | | 16 | 8 | | 17 | 20 | | 18 | 13 | | 19 | 15 | | 20 | 21 | | 21 | 16 | | 22 | 5 | | 23 | 13 | | 24 | 12 | | 25 | 15 | | 26 | 6 | | 27 | 18 | | 28 | 3 | | 29 | 6 | | 30 | 20 | | 31 | 17 | | 32 | 16 | | 33 | 3 | | 34 | 10 | | 35 | 9 | | 36 | 11 | | 37 | 14 | | 38 | 15 | | 39 | 12 | | 40 | 18 | | 41 | 17 | | 42 | 20 | | 43 | 6 | | 44 | 20 | | 45 | 13 | | 46 | 7 | | 47 | 14 | | 48 | 6 | | 49 | 8 |
| |
| 68.63% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4470588235294118 | | totalSentences | 85 | | uniqueOpeners | 38 | |
| 85.47% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 78 | | matches | | 0 | "Then he turned and bolted" | | 1 | "Just the simple, undeniable need" |
| | ratio | 0.026 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 78 | | matches | | 0 | "She'd spent three weeks building" | | 1 | "Her voice cut through the" | | 2 | "His eyes, warm and unreadable" | | 3 | "She clicked it on, the" | | 4 | "She hesitated, rain streaming down" | | 5 | "Her torch flickered." | | 6 | "She smacked it against her" | | 7 | "She blinked hard, attributing it" | | 8 | "His accent, Spanish, softer than" | | 9 | "He laughed, a sound without" | | 10 | "He turned and slipped through" | | 11 | "It thickened, tasting of ozone" | | 12 | "She stumbled into a vast" | | 13 | "She'd heard whispers in interrogation" | | 14 | "Her hand drifted toward her" | | 15 | "His eyes met hers" | | 16 | "She felt the familiar rhythm" | | 17 | "Her watch ticked against her" | | 18 | "She could pull back." | | 19 | "She stepped forward, her shoes" |
| | ratio | 0.256 | |
| 68.97% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 78 | | matches | | 0 | "The rain hammered Soho's ancient" | | 1 | "Harlow Quinn's lungs burned as" | | 2 | "The green sign above the" | | 3 | "She'd spent three weeks building" | | 4 | "The scar on his left" | | 5 | "Her voice cut through the" | | 6 | "Herrera glanced back." | | 7 | "His eyes, warm and unreadable" | | 8 | "Quinn pushed harder, her sharp" | | 9 | "The worn leather watch on" | | 10 | "A stupid hour for a" | | 11 | "A stupider hour to be" | | 12 | "The alley spat them into" | | 13 | "Rain lashed at the black-and-white" | | 14 | "Herrera vaulted a pile of" | | 15 | "The crack echoed, but he" | | 16 | "The Camden Market entrance, long" | | 17 | "Quinn's hand found her torch." | | 18 | "She clicked it on, the" | | 19 | "Herrera's footsteps clattered down the" |
| | ratio | 0.782 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 78 | | matches | | 0 | "Now he ran, and that" | | 1 | "Because that was what she" | | 2 | "Because Morris had gone into" |
| | ratio | 0.038 | |
| 83.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 4 | | matches | | 0 | "His eyes, warm and unreadable in the flash of a streetlamp, held something that stalled her stride for half a heartbeat—not fear, but a weary recognition." | | 1 | "Rain lashed at the black-and-white photographs pasted to a boarded-up shopfront—faded images of a London that existed only in memory." | | 2 | "Stalls made of salvaged wood and corrugated metal lined the tracks, lit by lanterns that burned with unearthly colors—emerald, violet, a deep amber that cast no…" | | 3 | "Merchants hawked their wares in languages that her mind could almost parse, glass jars of liquids that swirled with their own internal light, bones etched with …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |