| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.692 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 89.08% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1374 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slightly" | | 1 | "softly" | | 2 | "suddenly" |
| |
| 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) | |
| 56.33% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1374 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "flickered" | | 1 | "rhythmic" | | 2 | "scanning" | | 3 | "silence" | | 4 | "database" | | 5 | "echoing" | | 6 | "clenching" | | 7 | "weight" |
| |
| 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 | 40 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 2 | | narrationSentences | 40 | | filterMatches | | | hedgeMatches | | 0 | "happened to" | | 1 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 43 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 111 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1365 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 77.10% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 54 | | wordCount | 1166 | | uniqueNames | 22 | | maxNameDensity | 1.46 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Raven | 1 | | Nest | 2 | | Harlow | 2 | | Quinn | 17 | | Soho | 2 | | London | 1 | | Met | 1 | | Herrera | 10 | | Fitzrovia | 1 | | Morris | 3 | | Camden | 1 | | Tube | 1 | | Let | 2 | | Saint | 1 | | Christopher | 1 | | You | 1 | | Victorian | 1 | | Veil | 1 | | Market | 1 | | Metropolitan | 1 | | Police | 2 | | Detective | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Harlow" | | 3 | "Quinn" | | 4 | "Met" | | 5 | "Herrera" | | 6 | "Fitzrovia" | | 7 | "Morris" | | 8 | "Let" | | 9 | "Saint" | | 10 | "Christopher" | | 11 | "You" | | 12 | "Police" |
| | places | | 0 | "Soho" | | 1 | "London" | | 2 | "Metropolitan" |
| | globalScore | 0.771 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 33 | | glossingSentenceCount | 3 | | matches | | 0 | "smelled like copper and ozone, and every l" | | 1 | "symbols that seemed to writhe in the dim light" | | 2 | "looked like a medieval bazaar transposed" | | 3 | "smelled like a thunderstorm" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.733 | | wordCount | 1365 | | matches | | 0 | "not a subway entrance, but a service stairwell leading into the guts of an abandoned Tu" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 43 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 47.07 | | std | 30.97 | | cv | 0.658 | | sampleLengths | | 0 | 99 | | 1 | 16 | | 2 | 108 | | 3 | 39 | | 4 | 111 | | 5 | 13 | | 6 | 50 | | 7 | 13 | | 8 | 82 | | 9 | 55 | | 10 | 43 | | 11 | 49 | | 12 | 47 | | 13 | 27 | | 14 | 11 | | 15 | 49 | | 16 | 43 | | 17 | 10 | | 18 | 84 | | 19 | 23 | | 20 | 37 | | 21 | 57 | | 22 | 11 | | 23 | 46 | | 24 | 16 | | 25 | 40 | | 26 | 9 | | 27 | 78 | | 28 | 99 |
| |
| 96.49% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 40 | | matches | | 0 | "was replaced" | | 1 | "were cracked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 196 | | matches | | 0 | "was ticking" | | 1 | "was just changing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 2 | | flaggedSentences | 6 | | totalSentences | 43 | | ratio | 0.14 | | matches | | 0 | "It happened in the reflection of a shop window. He didn't panic; he simply accelerated. He vaulted a low iron fence into a construction site, his boots kicking up mud. Quinn didn't hesitate. She scrambled over the fence, the cold metal biting into her palms, and landed in a crouch." | | 1 | "He didn't stop. He scrambled over a mound of gravel and disappeared behind a stack of plywood. Quinn was older, forty-one now, and the damp air sat heavy in her lungs, but she had the stamina of a woman who ran ten miles every morning to outrun her own ghosts. She rounded the plywood just in time to see him diving down a set of stairs—not a subway entrance, but a service stairwell leading into the guts of an abandoned Tube station." | | 2 | "The air changed as she descended. The smell of wet asphalt was replaced by the cloying scent of scorched earth and something metallic, like ancient pennies. The tiles on the walls were cracked and yellowed, weeping a black, viscous fluid. The lights overhead—long-dead fluorescent tubes—flickered with a ghostly, blueish luminescence that shouldn't have been possible." | | 3 | "The figure in the shadows held out a hand. Herrera dropped the object into it—a bone token, carved with symbols that seemed to writhe in the dim light. The gate groaned, sliding open on tracks that hadn't seen grease in half a century." | | 4 | "Herrera disappeared into the crowd—a surging mass of figures, some clearly human, others wearing masks that were far too lifelike to be plastic." | | 5 | "The chase wasn't over. It was just changing shape. She watched Herrera’s dark head bobbing through the crowd near a stall selling jars of glowing blue liquid, and she broke into a run, her boots finally hitting the floor of a world she had spent three years trying to deny. She was no longer just a detective; she was a trespasser in a place where the sun never rose. And as she pushed past a merchant selling dreams in silver vials, Quinn knew she wouldn't leave until she had the names of everyone who had watched her partner die." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 181 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 2 | | adverbRatio | 0.011049723756906077 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.011049723756906077 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 43 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 43 | | mean | 31.74 | | std | 29.4 | | cv | 0.926 | | sampleLengths | | 0 | 20 | | 1 | 15 | | 2 | 19 | | 3 | 5 | | 4 | 22 | | 5 | 16 | | 6 | 2 | | 7 | 12 | | 8 | 4 | | 9 | 8 | | 10 | 100 | | 11 | 39 | | 12 | 111 | | 13 | 13 | | 14 | 50 | | 15 | 1 | | 16 | 1 | | 17 | 11 | | 18 | 82 | | 19 | 55 | | 20 | 43 | | 21 | 34 | | 22 | 8 | | 23 | 7 | | 24 | 47 | | 25 | 19 | | 26 | 8 | | 27 | 11 | | 28 | 4 | | 29 | 45 | | 30 | 43 | | 31 | 10 | | 32 | 84 | | 33 | 23 | | 34 | 37 | | 35 | 57 | | 36 | 11 | | 37 | 46 | | 38 | 16 | | 39 | 40 | | 40 | 9 | | 41 | 78 | | 42 | 99 |
| |
| 62.79% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 3 | | diversityRatio | 0.4186046511627907 | | totalSentences | 43 | | uniqueOpeners | 18 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 36 | | matches | (empty) | | ratio | 0 | |
| 97.78% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 11 | | totalSentences | 36 | | matches | | 0 | "It flickered, casting a rhythmic," | | 1 | "She didn’t mind the cold." | | 2 | "She checked the worn leather" | | 3 | "It happened in the reflection" | | 4 | "He didn't stop. He scrambled" | | 5 | "She reached the bottom of" | | 6 | "he said, his voice echoing" | | 7 | "You still think the law" | | 8 | "I'm going to" | | 9 | "She looked at her watch." | | 10 | "He stepped aside, a silent" |
| | ratio | 0.306 | |
| 43.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 30 | | totalSentences | 36 | | matches | | 0 | "The green neon sign of" | | 1 | "It flickered, casting a rhythmic," | | 2 | "Quinn leaned into the shadow" | | 3 | "She didn’t mind the cold." | | 4 | "She checked the worn leather" | | 5 | "Tomás Herrera stepped out." | | 6 | "Quinn pushed off the wall" | | 7 | "Herrera didn't head for the" | | 8 | "It happened in the reflection" | | 9 | "He didn't stop. He scrambled" | | 10 | "The air changed as she" | | 11 | "She reached the bottom of" | | 12 | "Quinn shouted, her hand going" | | 13 | "Herrera stopped. He turned, his" | | 14 | "he said, his voice echoing" | | 15 | "You still think the law" | | 16 | "I'm going to" | | 17 | "The figure in the shadows" | | 18 | "Quinn lunged forward, but Herrera" | | 19 | "The space beyond the gate" |
| | ratio | 0.833 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 36 | | matches | | 0 | "Even from twenty yards, Quinn" |
| | ratio | 0.028 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 12 | | matches | | 0 | "Quinn pushed off the wall with military precision. She didn't rush. She kept her pace steady, her boots clicking softly on the wet stone, maintaining a distance…" | | 1 | "Herrera didn't head for the main drags. He ducked into the labyrinthine secondary streets that bridged Soho and Fitzrovia, moving with a surprising, athletic gr…" | | 2 | "He didn't stop. He scrambled over a mound of gravel and disappeared behind a stack of plywood. Quinn was older, forty-one now, and the damp air sat heavy in her…" | | 3 | "The air changed as she descended. The smell of wet asphalt was replaced by the cloying scent of scorched earth and something metallic, like ancient pennies. The…" | | 4 | "She reached the bottom of the stairs and found herself in a wide pedestrian tunnel. Herrera was fifty feet ahead, his breath coming in ragged gasps that matched…" | | 5 | "Herrera stopped. He turned, his chest heaving, his dark brown curls plastered to his forehead. He looked at her with a mixture of pity and terror. He reached in…" | | 6 | "The space beyond the gate wasn't a train platform. It was a cavernous hall, lit by thousands of floating lanterns and the braziers of a hundred stalls. It looke…" | | 7 | "Herrera disappeared into the crowd—a surging mass of figures, some clearly human, others wearing masks that were far too lifelike to be plastic." | | 8 | "Quinn stood at the gate. The man in the feathered coat turned his gaze toward her. He had no eyes, only polished obsidian spheres that reflected the flickering …" | | 9 | "The logical part of her brain, the part that had served eighteen decorated years in the Metropolitan Police, told her to turn around. This was the unexplained. …" | | 10 | "Quinn felt the weight of her badge in her pocket, a piece of tin that felt suddenly, absurdly light. She thought of Morris, and the way his eyes hadn't been abl…" | | 11 | "The chase wasn't over. It was just changing shape. She watched Herrera’s dark head bobbing through the crowd near a stall selling jars of glowing blue liquid, a…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 4 | | matches | | 0 | "Quinn shouted, her hand going to the grip of her sidearm" | | 1 | "he said, his voice echoing in the hollow space" | | 2 | "Quinn said, her voice steady despite the hammering of her heart" | | 3 | "he rasped, his voice sounding like two stones grinding together" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 2 | | fancyTags | | 0 | "Quinn shouted (shout)" | | 1 | "Quinn snapped (snap)" |
| | dialogueSentences | 13 | | tagDensity | 0.308 | | leniency | 0.615 | | rawRatio | 0.5 | | effectiveRatio | 0.308 | |