| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 82.44% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1139 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slightly" | | 1 | "cautiously" | | 2 | "utterly" |
| |
| 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) | |
| 0.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1139 | | totalAiIsms | 31 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | | | 20 | | | 21 | | word | "down her spine" | | count | 1 |
| | 22 | | | 23 | | | 24 | | | 25 | | | 26 | | | 27 | |
| | highlights | | 0 | "familiar" | | 1 | "glint" | | 2 | "navigated" | | 3 | "scanning" | | 4 | "treacherous" | | 5 | "footsteps" | | 6 | "echoed" | | 7 | "pounding" | | 8 | "weight" | | 9 | "whisper" | | 10 | "echoing" | | 11 | "depths" | | 12 | "electric" | | 13 | "dancing" | | 14 | "scanned" | | 15 | "chaotic" | | 16 | "intricate" | | 17 | "intensity" | | 18 | "gloom" | | 19 | "beacon" | | 20 | "chill" | | 21 | "down her spine" | | 22 | "flicker" | | 23 | "cacophony" | | 24 | "unwavering" | | 25 | "sense of" | | 26 | "uncanny" | | 27 | "chilled" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "flicker of emotion" | | count | 1 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "A flicker of recognition" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 21 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 21 | | filterMatches | (empty) | | hedgeMatches | | 0 | "started to" | | 1 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 21 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 85 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1140 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 1088 | | uniqueNames | 12 | | maxNameDensity | 0.74 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 8 | | Saint | 2 | | Christopher | 2 | | Herrera | 7 | | London | 2 | | Morris | 4 | | Tube | 2 | | Camden | 1 | | Veil | 3 | | Market | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Saint" | | 3 | "Christopher" | | 4 | "Herrera" | | 5 | "Morris" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 20 | | glossingSentenceCount | 3 | | matches | | 0 | "felt like the cases Morris had started" | | 1 | "metalwork that seemed to writhe with an inner light, bundles of dried herbs whose scent was utterly alien" | | 2 | "looked like rows of carved bone tokens. T" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.877 | | wordCount | 1140 | | matches | | 0 | "not electric, but the unsteady glow of oil lamps" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 21 | | matches | (empty) | |
| 45.12% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 19 | | mean | 60 | | std | 18.48 | | cv | 0.308 | | sampleLengths | | 0 | 87 | | 1 | 70 | | 2 | 80 | | 3 | 78 | | 4 | 43 | | 5 | 85 | | 6 | 63 | | 7 | 44 | | 8 | 84 | | 9 | 79 | | 10 | 54 | | 11 | 47 | | 12 | 52 | | 13 | 43 | | 14 | 60 | | 15 | 43 | | 16 | 57 | | 17 | 16 | | 18 | 55 |
| |
| 71.85% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 21 | | matches | | 0 | "was hidden" | | 1 | "being hunted" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 174 | | matches | | 0 | "were turning" | | 1 | "were starting" | | 2 | "was running" | | 3 | "was displaying" | | 4 | "was haggling" | | 5 | "was happening" | | 6 | "was hunting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 3 | | totalSentences | 21 | | ratio | 0.143 | | matches | | 0 | "Up ahead, a flash of short, curly dark brown hair – a glint off a Saint Christopher medallion. Tomás Herrera. The former paramedic, the off-the-books healer to London’s hidden. Quinn’s gut clenched. She knew his type: always on the edge of something illicit, always with a good reason. But good reasons didn’t explain the bodies that were turning up, the strange energy signatures her forensics teams were starting to flag." | | 1 | "The stairs opened into a vast, echoing space. It was an abandoned Tube station, the air thick with the smell of damp earth and something else, something sweet and cloying. Murmurs, hushed conversations, drifted from the depths. Flickering lights – not electric, but the unsteady glow of oil lamps and torches – cast long, dancing shadows across what had once been a platform." | | 2 | "She took a deep breath, the stale air filling her lungs. The salt-and-pepper hair, the sharp jaw, the unwavering bearing—all of it spoke of a woman who didn't back down. The whispers, the strange faces, the overwhelming sense of the uncanny—she pushed it all aside. Her brown eyes narrowed, scanning the crowd for a glimpse of Herrera." |
| |
| 94.14% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 37 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 1 | | adverbRatio | 0.02702702702702703 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.02702702702702703 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 21 | | echoCount | 0 | | echoWords | (empty) | |
| 92.95% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 21 | | mean | 54.29 | | std | 20.76 | | cv | 0.382 | | sampleLengths | | 0 | 15 | | 1 | 16 | | 2 | 56 | | 3 | 70 | | 4 | 80 | | 5 | 78 | | 6 | 43 | | 7 | 85 | | 8 | 63 | | 9 | 44 | | 10 | 84 | | 11 | 79 | | 12 | 54 | | 13 | 47 | | 14 | 52 | | 15 | 43 | | 16 | 60 | | 17 | 43 | | 18 | 57 | | 19 | 16 | | 20 | 55 |
| |
| 77.78% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.5238095238095238 | | totalSentences | 21 | | uniqueOpeners | 11 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 21 | | matches | | 0 | "Then she saw him. Tomás" |
| | ratio | 0.048 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 6 | | totalSentences | 21 | | matches | | 0 | "He wasn’t running like a" | | 1 | "She kicked it open. Darkness" | | 2 | "She moved cautiously, hugging the" | | 3 | "Her hand tightened on her" | | 4 | "She took a deep breath," | | 5 | "She had to know. For" |
| | ratio | 0.286 | |
| 7.62% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 19 | | totalSentences | 21 | | matches | | 0 | "The rain lashed down, a" | | 1 | "Detective Harlow Quinn, her closely" | | 2 | "Each stride of her" | | 3 | "Herrera darted into an alley," | | 4 | "He wasn’t running like a" | | 5 | "She kicked it open. Darkness" | | 6 | "Quinn descended, her hand gripping" | | 7 | "The stairs opened into a" | | 8 | "The abandoned Tube station beneath" | | 9 | "She moved cautiously, hugging the" | | 10 | "Quinn leaned back against the" | | 11 | "A chill, colder than the" | | 12 | "Herrera finished his transaction, tucking" | | 13 | "Quinn pushed herself off the" | | 14 | "The air in the market" | | 15 | "Her hand tightened on her" | | 16 | "She took a deep breath," | | 17 | "She had to know. For" | | 18 | "Quinn stepped into the heart" |
| | ratio | 0.905 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 21 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 20 | | technicalSentenceCount | 9 | | matches | | 0 | "Up ahead, a flash of short, curly dark brown hair – a glint off a Saint Christopher medallion. Tomás Herrera. The former paramedic, the off-the-books healer to …" | | 1 | "He wasn’t running like a common criminal. He was running like someone who knew the city’s underbelly, someone who had navigated these shadowed paths many times …" | | 2 | "Quinn descended, her hand gripping the cold, damp banister. The sounds of the city faded, replaced by the drip, drip of water somewhere in the shadows, and her …" | | 3 | "She moved cautiously, hugging the wall. Her keen brown eyes scanned the chaotic scene. Stalls made of salvaged wood and tarpaulins lined the platforms, displayi…" | | 4 | "Quinn leaned back against the rough concrete wall, trying to blend into the shadows. Her gaze lingered on the bone tokens. She knew what they were. An entry req…" | | 5 | "Herrera finished his transaction, tucking a small, pouch-like object into his pocket. He turned, his gaze sweeping the crowd. For a terrifying moment, his eyes …" | | 6 | "Quinn pushed herself off the wall. She had a choice. Walk away, retreat back to the relative sanity of the rain-swept streets, and report a chase that had led h…" | | 7 | "She took a deep breath, the stale air filling her lungs. The salt-and-pepper hair, the sharp jaw, the unwavering bearing—all of it spoke of a woman who didn't b…" | | 8 | "Quinn stepped into the heart of the Veil Market, the sounds of her world fading behind her, replaced by the unsettling hum of this new, terrifying one. She was …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |