| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 2 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 0 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 87.49% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1199 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slightly" | | 1 | "slowly" | | 2 | "truly" |
| |
| 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) | |
| 16.60% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1199 | | totalAiIsms | 20 | | found | | | highlights | | 0 | "navigating" | | 1 | "shattered" | | 2 | "gloom" | | 3 | "chaotic" | | 4 | "fluttered" | | 5 | "weight" | | 6 | "flickered" | | 7 | "silence" | | 8 | "etched" | | 9 | "pulse" | | 10 | "standard" | | 11 | "perfect" | | 12 | "unreadable" | | 13 | "resolve" | | 14 | "tracing" | | 15 | "rhythmic" |
| |
| 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 | 91 | | matches | (empty) | |
| 17.27% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 6 | | hedgeCount | 2 | | narrationSentences | 91 | | filterMatches | | 0 | "watch" | | 1 | "feel" | | 2 | "see see see" |
| | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 91 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 37 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1195 | | ratio | 0 | | matches | (empty) | |
| 79.55% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 2 | | matches | | 0 | "It was a breach, Eva whispered, her nervous habit taking over as she frantically twisted a button on her cardigan." | | 1 | "If it were a simple structural collapse, the debris would be distributed by gravity, Quinn muttered, more to herself tha…" |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 59 | | wordCount | 1178 | | uniqueNames | 17 | | maxNameDensity | 1.27 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | Tube | 1 | | Detective | 6 | | Harlow | 1 | | Quinn | 15 | | Veil | 3 | | Market | 3 | | Eva | 14 | | Kowalski | 1 | | Metropolitan | 1 | | Police | 1 | | Compass | 1 | | Morris | 1 | | Tell | 2 | | Archive | 1 | | Names | 1 | | You | 6 |
| | persons | | 0 | "Detective" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Eva" | | 4 | "Kowalski" | | 5 | "Police" | | 6 | "Compass" | | 7 | "Morris" | | 8 | "You" |
| | places | | | globalScore | 0.863 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 77 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.837 | | wordCount | 1195 | | matches | | 0 | "Not just for the sake of the badge, but because things" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 91 | | matches | (empty) | |
| 93.78% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 22 | | mean | 54.32 | | std | 25.98 | | cv | 0.478 | | sampleLengths | | 0 | 80 | | 1 | 50 | | 2 | 74 | | 3 | 51 | | 4 | 25 | | 5 | 30 | | 6 | 95 | | 7 | 21 | | 8 | 82 | | 9 | 25 | | 10 | 35 | | 11 | 62 | | 12 | 60 | | 13 | 78 | | 14 | 29 | | 15 | 25 | | 16 | 15 | | 17 | 58 | | 18 | 82 | | 19 | 61 | | 20 | 48 | | 21 | 109 |
| |
| 82.13% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 91 | | matches | | 0 | "were called" | | 1 | "were throttled" | | 2 | "is attuned" | | 3 | "was concentrated" | | 4 | "been contained" | | 5 | "been folded" |
| |
| 69.28% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 204 | | matches | | 0 | "was rummaging" | | 1 | "was spinning" | | 2 | "were coming" | | 3 | "were holding" |
| |
| 17.27% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 91 | | ratio | 0.044 | | matches | | 0 | "I was just—I heard the rumors about the disturbance." | | 1 | "But these crates—they’ve been folded into themselves." | | 2 | "She looked past the flickering lights and the shattered history of the station, seeing for the first time the faint, shimmering distortions in the air—the jagged edges of reality that no one else had noticed." | | 3 | "The city was changing, and for the first time in three years, the detective didn't just feel the weight of the law—she felt the friction of the unknown." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 356 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 7 | | adverbRatio | 0.019662921348314606 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.014044943820224719 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 91 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 91 | | mean | 13.13 | | std | 8.37 | | cv | 0.637 | | sampleLengths | | 0 | 25 | | 1 | 27 | | 2 | 28 | | 3 | 14 | | 4 | 15 | | 5 | 21 | | 6 | 25 | | 7 | 18 | | 8 | 31 | | 9 | 11 | | 10 | 16 | | 11 | 24 | | 12 | 11 | | 13 | 14 | | 14 | 6 | | 15 | 2 | | 16 | 9 | | 17 | 7 | | 18 | 6 | | 19 | 16 | | 20 | 8 | | 21 | 27 | | 22 | 15 | | 23 | 6 | | 24 | 7 | | 25 | 10 | | 26 | 3 | | 27 | 3 | | 28 | 6 | | 29 | 6 | | 30 | 3 | | 31 | 6 | | 32 | 10 | | 33 | 14 | | 34 | 12 | | 35 | 3 | | 36 | 25 | | 37 | 18 | | 38 | 15 | | 39 | 6 | | 40 | 4 | | 41 | 7 | | 42 | 8 | | 43 | 12 | | 44 | 8 | | 45 | 22 | | 46 | 33 | | 47 | 7 | | 48 | 4 | | 49 | 20 |
| |
| 39.93% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.31868131868131866 | | totalSentences | 91 | | uniqueOpeners | 29 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 89 | | matches | (empty) | | ratio | 0 | |
| 35.73% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 89 | | matches | | 0 | "She moved with the silent," | | 1 | "She rounded the bend of" | | 2 | "She froze as the beam" | | 3 | "She stood at five-foot-nine, her" | | 4 | "Her closely cropped salt-and-pepper hair" | | 5 | "You’re a long way from" | | 6 | "Her voice was steady, anchored" | | 7 | "I was just—I heard the" | | 8 | "I’m doing independent research on" | | 9 | "Her sharp jaw set in" | | 10 | "She stepped closer, her military" | | 11 | "I’m looking at the way" | | 12 | "They didn’t snap." | | 13 | "They were throttled." | | 14 | "It was a structural failure," | | 15 | "It lingered on a small," | | 16 | "She knelt, her joints popping" | | 17 | "You shouldn't be handling it" | | 18 | "I lost my partner to" | | 19 | "It wasn't a fire." |
| | ratio | 0.461 | |
| 72.36% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 89 | | matches | | 0 | "The air in the abandoned" | | 1 | "She moved with the silent," | | 2 | "She rounded the bend of" | | 3 | "The Veil Market, usually a" | | 4 | "The girl was rummaging through" | | 5 | "She froze as the beam" | | 6 | "Detective Quinn didn’t stop walking" | | 7 | "She stood at five-foot-nine, her" | | 8 | "Her closely cropped salt-and-pepper hair" | | 9 | "You’re a long way from" | | 10 | "Her voice was steady, anchored" | | 11 | "Eva flinched, pulling her satchel" | | 12 | "I was just—I heard the" | | 13 | "I’m doing independent research on" | | 14 | "This station is of academic" | | 15 | "Quinn glanced at the worn" | | 16 | "Her sharp jaw set in" | | 17 | "She stepped closer, her military" | | 18 | "I’m looking at the way" | | 19 | "They didn’t snap." |
| | ratio | 0.775 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 4 | | totalSentences | 89 | | matches | | 0 | "If that compass is active," | | 1 | "If it were a simple" | | 2 | "If you track the direction" | | 3 | "If you’re telling the truth," |
| | ratio | 0.045 | |
| 85.71% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 4 | | matches | | 0 | "The air in the abandoned Camden Tube station smelled of ozone and wet rot, a cocktail of decay that made Detective Harlow Quinn’s sinuses ache." | | 1 | "She moved with the silent, practiced economy of a woman who had spent nearly two decades navigating urban ruins, her boots clicking rhythmically against the gri…" | | 2 | "Above her, the shattered remains of a platform clock dangled by a single copper wire, ticking in a jagged, erratic rhythm that had nothing to do with time." | | 3 | "Empty wooden crates lay splintered across the tracks, and stray scraps of parchment fluttered in a draft that shouldn't have existed." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 2 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | 0 | "Every time I see (see)" |
| | dialogueSentences | 0 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |