| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 4 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.48% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1534 | | 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) | |
| 41.33% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1534 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "footfall" | | 1 | "familiar" | | 2 | "weight" | | 3 | "jaw clenched" | | 4 | "silence" | | 5 | "unreadable" | | 6 | "pulse" | | 7 | "could feel" | | 8 | "electric" | | 9 | "etched" | | 10 | "mechanical" | | 11 | "loomed" | | 12 | "echo" | | 13 | "footsteps" | | 14 | "silk" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 109 | | matches | (empty) | |
| 90.43% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 109 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 111 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 73 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1524 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1499 | | uniqueNames | 14 | | maxNameDensity | 0.87 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 2 | | High | 1 | | Street | 1 | | Harlow | 1 | | Quinn | 13 | | Tomás | 1 | | Herrera | 9 | | Saint | 1 | | Christopher | 1 | | London | 2 | | Underground | 1 | | Morris | 3 | | Metropolitan | 2 | | Police | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" | | 7 | "Police" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 87.50% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 80 | | glossingSentenceCount | 2 | | matches | | 0 | "looked like a severed hand that flexed it" | | 1 | "something like pity" |
| |
| 3.15% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 3 | | per1kWords | 1.969 | | wordCount | 1524 | | matches | | 0 | "not marijuana, not chemical solvent, but something ancient" | | 1 | "not chemical solvent, but something ancient" | | 2 | "not merely criminal but something older, something the Metropolitan Police had no pr" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 111 | | matches | | 0 | "screaming that the" | | 1 | "repaired—that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 28 | | mean | 54.43 | | std | 44.05 | | cv | 0.809 | | sampleLengths | | 0 | 138 | | 1 | 57 | | 2 | 140 | | 3 | 62 | | 4 | 3 | | 5 | 122 | | 6 | 3 | | 7 | 96 | | 8 | 42 | | 9 | 63 | | 10 | 131 | | 11 | 9 | | 12 | 125 | | 13 | 40 | | 14 | 52 | | 15 | 7 | | 16 | 65 | | 17 | 16 | | 18 | 44 | | 19 | 23 | | 20 | 26 | | 21 | 90 | | 22 | 19 | | 23 | 82 | | 24 | 25 | | 25 | 6 | | 26 | 31 | | 27 | 7 |
| |
| 95.61% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 109 | | matches | | 0 | "been cramped" | | 1 | "was hidden" | | 2 | "was muffled" |
| |
| 93.76% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 251 | | matches | | 0 | "was pulling" | | 1 | "was holding" | | 2 | "was weighing" | | 3 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 1 | | flaggedSentences | 9 | | totalSentences | 111 | | ratio | 0.081 | | matches | | 0 | "Eighteen years on the job had not softened her; they had filed her down to a point." | | 1 | "She kept her eyes fixed on the olive-skinned man twenty yards ahead—Tomás Herrera, former paramedic, current ghost, his short curly hair plastered dark against his skull and his Saint Christopher medallion leaping against his chest as he ran." | | 2 | "Herrera was pulling open a steel door set flush with the courtyard wall—an access point she would have walked past a thousand times without noticing." | | 3 | "It was an abandoned station, yes—she could see the tiled archways, the ghost of a platform edge, the faded remains of a station name scraped off the wall—but it was wrong." | | 4 | "The air carried a scent she couldn’t place—not marijuana, not chemical solvent, but something ancient and spiced, like funeral incense left to burn too long in a sealed room." | | 5 | "The dust rose against gravity, twisting into shapes—first a bird, then a knife—before settling again." | | 6 | "Their eyes met—his warm brown, wide with recognition and something like pity." | | 7 | "Behind it, in the tunnel, she could hear the retreating echo of Herrera’s footsteps, then the low rumble that might have been a train but couldn’t be—this line had been dead for decades." | | 8 | "She was standing at the threshold of a world she had spent three years chasing without knowing its name, and every instinct forged in her eighteen years of decorated service screamed that to step forward was to break something inside her that could not be repaired—that the laws she served did not extend here, that the dangers were not merely criminal but something older, something the Metropolitan Police had no protocol for." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1521 | | adjectiveStacks | 1 | | stackExamples | | 0 | "former paramedic, current ghost," |
| | adverbCount | 51 | | adverbRatio | 0.03353057199211045 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.009204470742932281 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 111 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 111 | | mean | 13.73 | | std | 11.78 | | cv | 0.858 | | sampleLengths | | 0 | 13 | | 1 | 34 | | 2 | 17 | | 3 | 38 | | 4 | 36 | | 5 | 2 | | 6 | 2 | | 7 | 2 | | 8 | 32 | | 9 | 7 | | 10 | 5 | | 11 | 7 | | 12 | 9 | | 13 | 8 | | 14 | 35 | | 15 | 23 | | 16 | 25 | | 17 | 6 | | 18 | 16 | | 19 | 11 | | 20 | 7 | | 21 | 25 | | 22 | 3 | | 23 | 2 | | 24 | 12 | | 25 | 20 | | 26 | 1 | | 27 | 2 | | 28 | 14 | | 29 | 20 | | 30 | 15 | | 31 | 19 | | 32 | 31 | | 33 | 11 | | 34 | 12 | | 35 | 3 | | 36 | 6 | | 37 | 24 | | 38 | 11 | | 39 | 26 | | 40 | 29 | | 41 | 9 | | 42 | 16 | | 43 | 9 | | 44 | 2 | | 45 | 6 | | 46 | 11 | | 47 | 12 | | 48 | 19 | | 49 | 21 |
| |
| 42.64% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.3153153153153153 | | totalSentences | 111 | | uniqueOpeners | 35 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 96 | | matches | | 0 | "Instead, it glowed with the" | | 1 | "Then he ducked into the" | | 2 | "Then she thought of the" | | 3 | "Then she lowered her warrant" |
| | ratio | 0.042 | |
| 45.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 42 | | totalSentences | 96 | | matches | | 0 | "She kept her eyes fixed" | | 1 | "She had been watching the" | | 2 | "They always ran when you" | | 3 | "Her leather watch, strapped to" | | 4 | "Her shoes slipped on rain-slicked" | | 5 | "She recovered, knees bending, arms" | | 6 | "She blinked it away and" | | 7 | "He vanished inside." | | 8 | "She shouldered through, her sharp" | | 9 | "She took the stairs two" | | 10 | "It came away gritty with" | | 11 | "She wiped it on her" | | 12 | "It was an abandoned station," | | 13 | "Her hand went to her" | | 14 | "She’d come unarmed, dressed for" | | 15 | "She catalogued it and moved" | | 16 | "She could see the medallion" | | 17 | "He moved with the jerky" | | 18 | "Her heart hammered against her" | | 19 | "It was a drug." |
| | ratio | 0.438 | |
| 17.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 85 | | totalSentences | 96 | | matches | | 0 | "Rain had turned Camden High" | | 1 | "Detective Harlow Quinn ran with" | | 2 | "She kept her eyes fixed" | | 3 | "The scar on his left" | | 4 | "She had been watching the" | | 5 | "That meant she was close." | | 6 | "They always ran when you" | | 7 | "The alley narrowed until her" | | 8 | "The air smelled of rotting" | | 9 | "Her leather watch, strapped to" | | 10 | "Herrera vaulted a chain-link fence" | | 11 | "Quinn grabbed the rusted links," | | 12 | "Her shoes slipped on rain-slicked" | | 13 | "She recovered, knees bending, arms" | | 14 | "Water dripped from her closely" | | 15 | "She blinked it away and" | | 16 | "Herrera was pulling open a" | | 17 | "He vanished inside." | | 18 | "The door was heavy, fire-rated," | | 19 | "She shouldered through, her sharp" |
| | ratio | 0.885 | |
| 52.08% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 96 | | matches | | | ratio | 0.01 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 54 | | technicalSentenceCount | 16 | | matches | | 0 | "Detective Harlow Quinn ran with her shoulders squared, her navy coat snapping behind her like a flag of war, each footfall landing with the metronomic precision…" | | 1 | "She had been watching the clique for three weeks, ever since a confidential informant had whispered Herrera’s name in connection with the kind of off-books medi…" | | 2 | "Quinn grabbed the rusted links, hauled herself up with a grunt that betrayed her forty-one years, and dropped into a service courtyard behind the shops." | | 3 | "She shouldered through, her sharp jaw clenched, and plunged into a stairwell that smelled of stagnant water and old limestone." | | 4 | "She took the stairs two at a time, her palm skimming the metal railing." | | 5 | "It came away gritty with rust and something else, something faintly phosphorescent that smeared across her skin like crushed starlight." | | 6 | "She wiped it on her coat without thinking, her breath coming hard and steady, controlled." | | 7 | "Instead, it glowed with the sickly amber of chemical lamps hung from iron hooks, illuminating a bazaar that had no business existing beneath Camden." | | 8 | "The woman’s eyes were entirely black, pupils blown so wide the iris vanished, and she was holding a glass jar containing what looked like a severed hand that fl…" | | 9 | "Another vendor, his skin mottled with scales that might have been an elaborate costume, traded a vial of something that glowed like captured moonlight for a han…" | | 10 | "The back of her neck prickled, the same instinct that had kept her alive in riot zones and hostage negotiations now screaming that the rules here were different…" | | 11 | "Behind it, in the tunnel, she could hear the retreating echo of Herrera’s footsteps, then the low rumble that might have been a train but couldn’t be—this line …" | | 12 | "She thought of Morris, of the unexplained circumstances, of the clique that moved through London like a blade through silk, leaving no prints, no witnesses, onl…" | | 13 | "She thought of her service record, her pension, the disciplinary hearing that would follow if she went off-book into a black market beneath the city without aut…" | | 14 | "She was standing at the threshold of a world she had spent three years chasing without knowing its name, and every instinct forged in her eighteen years of deco…" | | 15 | "She touched the worn leather strap of her watch, feeling the familiar crease of the buckle, grounding herself in the real." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 4 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0 | | effectiveRatio | 0 | |