| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.227 | | leniency | 0.455 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.54% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1121 | | 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) | |
| 64.32% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1121 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "clandestine" | | 1 | "silence" | | 2 | "scanned" | | 3 | "intricate" | | 4 | "jaw clenched" | | 5 | "flicked" | | 6 | "gleaming" | | 7 | "weight" |
| |
| 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 | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "jaw clenched" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 43 | | matches | (empty) | |
| 76.41% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 43 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 60 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1121 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 28 | | wordCount | 699 | | uniqueNames | 9 | | maxNameDensity | 1.29 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Veil | 2 | | Market | 1 | | Camden | 1 | | Tube | 1 | | Harlow | 3 | | Quinn | 9 | | Compass | 1 | | Sinclair | 8 | | Detective | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Sinclair" | | 3 | "Detective" |
| | places | (empty) | | globalScore | 0.856 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 41 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1121 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 60 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 26 | | mean | 43.12 | | std | 21.95 | | cv | 0.509 | | sampleLengths | | 0 | 70 | | 1 | 48 | | 2 | 82 | | 3 | 94 | | 4 | 6 | | 5 | 60 | | 6 | 54 | | 7 | 59 | | 8 | 45 | | 9 | 31 | | 10 | 63 | | 11 | 12 | | 12 | 53 | | 13 | 27 | | 14 | 18 | | 15 | 30 | | 16 | 14 | | 17 | 28 | | 18 | 22 | | 19 | 19 | | 20 | 67 | | 21 | 46 | | 22 | 58 | | 23 | 38 | | 24 | 39 | | 25 | 38 |
| |
| 80.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 43 | | matches | | 0 | "were made" | | 1 | "was filled" | | 2 | "being referenced" |
| |
| 74.21% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 106 | | matches | | 0 | "was sending" | | 1 | "were reliving" |
| |
| 95.24% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 1 | | semicolonCount | 0 | | flaggedSentences | 1 | | totalSentences | 60 | | ratio | 0.017 | | matches | | 0 | "As the sun peeked over the horizon, signaling the market's impending disappearance, Detective Harlow Quinn found herself just where she knew she'd be—one step closer to the truth and always ready for the next piece of the puzzle." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 707 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 15 | | adverbRatio | 0.021216407355021217 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.008486562942008486 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 60 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 60 | | mean | 18.68 | | std | 11.24 | | cv | 0.602 | | sampleLengths | | 0 | 18 | | 1 | 13 | | 2 | 18 | | 3 | 21 | | 4 | 21 | | 5 | 27 | | 6 | 28 | | 7 | 19 | | 8 | 13 | | 9 | 22 | | 10 | 32 | | 11 | 33 | | 12 | 22 | | 13 | 7 | | 14 | 6 | | 15 | 19 | | 16 | 25 | | 17 | 16 | | 18 | 12 | | 19 | 23 | | 20 | 19 | | 21 | 10 | | 22 | 49 | | 23 | 7 | | 24 | 18 | | 25 | 20 | | 26 | 8 | | 27 | 23 | | 28 | 10 | | 29 | 37 | | 30 | 16 | | 31 | 6 | | 32 | 6 | | 33 | 10 | | 34 | 43 | | 35 | 27 | | 36 | 12 | | 37 | 6 | | 38 | 13 | | 39 | 17 | | 40 | 8 | | 41 | 6 | | 42 | 6 | | 43 | 22 | | 44 | 17 | | 45 | 5 | | 46 | 8 | | 47 | 11 | | 48 | 11 | | 49 | 18 |
| |
| 85.56% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.5333333333333333 | | totalSentences | 60 | | uniqueOpeners | 32 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 43 | | matches | (empty) | | ratio | 0 | |
| 99.07% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 13 | | totalSentences | 43 | | matches | | 0 | "Her sharp eyes, accustomed to" | | 1 | "Her sharp jaw clenched as" | | 2 | "She hadn't heard him approach," | | 3 | "He was a good cop," | | 4 | "she replied, standing up to" | | 5 | "She was as tall as" | | 6 | "She shook her head, her" | | 7 | "Her years as a detective" | | 8 | "His voice was filled with" | | 9 | "He nodded vigorously, sending his" | | 10 | "His voice cracked, and his" | | 11 | "She pulled out the compass," | | 12 | "She left no clue unturned," |
| | ratio | 0.302 | |
| 18.14% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 38 | | totalSentences | 43 | | matches | | 0 | "The Veil Market, with its" | | 1 | "The ancient platform, usually deserted," | | 2 | "The air crackled with whispers," | | 3 | "Detective Harlow Quinn made her" | | 4 | "Her sharp eyes, accustomed to" | | 5 | "The victim was a young" | | 6 | "Quinn knelt down, pulling on" | | 7 | "The man's eyes were open," | | 8 | "A thin line of drool" | | 9 | "Harlow gingerly checked his pockets," | | 10 | "Her sharp jaw clenched as" | | 11 | "This was no simple mugging" | | 12 | "She hadn't heard him approach," | | 13 | "Sinclair, a burly man with" | | 14 | "He was a good cop," | | 15 | "she replied, standing up to" | | 16 | "She was as tall as" | | 17 | "Sinclair huffed, his breath clouding" | | 18 | "She shook her head, her" | | 19 | "Her years as a detective" |
| | ratio | 0.884 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 43 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 5 | | matches | | 0 | "The victim was a young man, no older than thirty, his body contorted in an unnatural position, as if some unseen force had wrenched him from his core." | | 1 | "Stuffing the evidence bags into the pocket of her coat, she pulled out her phone, taking care not to disturb any latent prints, and snapped a few photos of the …" | | 2 | "She was as tall as many men, and her military bearing and cropped salt-and-pepper hair gave her a no-nonsense air that commanded respect." | | 3 | "He nodded vigorously, sending his glasses sliding down his nose." | | 4 | "His voice cracked, and his words trailed off as he shoved his hands into his pockets, his eyes darting around as if he were reliving the horror." |
| |
| 25.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 1 | | matches | | 0 | "She pulled out, its verdigris patina gleaming in the low light" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.045 | | leniency | 0.091 | | rawRatio | 0 | | effectiveRatio | 0 | |