| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.3 | | leniency | 0.6 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 93.31% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1495 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 80.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 59.87% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1495 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "chill" | | 1 | "familiar" | | 2 | "scanned" | | 3 | "echoing" | | 4 | "etched" | | 5 | "resolved" | | 6 | "magnetic" | | 7 | "standard" | | 8 | "navigate" | | 9 | "traced" |
| |
| 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 | 66 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 66 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 73 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 56 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1486 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 1293 | | uniqueNames | 6 | | maxNameDensity | 1.08 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Quinn | 14 | | Camden | 1 | | Patel | 8 | | Morris | 4 | | Eve | 1 | | Kowalski | 2 |
| | persons | | 0 | "Quinn" | | 1 | "Patel" | | 2 | "Morris" | | 3 | "Eve" | | 4 | "Kowalski" |
| | places | (empty) | | globalScore | 0.959 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | 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 | 1486 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 73 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 17 | | mean | 87.41 | | std | 50.8 | | cv | 0.581 | | sampleLengths | | 0 | 114 | | 1 | 97 | | 2 | 105 | | 3 | 34 | | 4 | 37 | | 5 | 99 | | 6 | 99 | | 7 | 16 | | 8 | 126 | | 9 | 21 | | 10 | 100 | | 11 | 136 | | 12 | 72 | | 13 | 28 | | 14 | 46 | | 15 | 149 | | 16 | 207 |
| |
| 84.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 66 | | matches | | 0 | "was unbuttoned" | | 1 | "been found" | | 2 | "was etched" | | 3 | "were tuned" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 205 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 3 | | flaggedSentences | 10 | | totalSentences | 73 | | ratio | 0.137 | | matches | | 0 | "Her bearing kept its usual economy—shoulders squared, chin lifted—as she scanned the vast, echoing space where work lamps on tripods threw long, trembling shadows across faded posters and graffiti-scrawled tiles." | | 1 | "The blood beneath him formed a small, dark patch rather than the expected arterial spread; it looked as though it had thickened too quickly." | | 2 | "No fresh scuffs marred the higher platforms, and the air here carried a sharper note than simple mold—a faint ozone bite that reminded her of the alley where DS Morris had been found three years earlier." | | 3 | "The glass face was etched with curling lines that resolved into protective sigils when she tilted it—symbols she recognized from the sealed folder on Morris’s case, the ones the coroner had called “decorative nonsense” before closing the file." | | 4 | "The needle inside refused magnetic north; instead it held steady, pointing directly toward a stretch of bricked-up archway where the mortar looked newer than the surrounding stone." | | 5 | "Graffiti covered the tiles nearby, but one patch near the floor had been hastily smeared; beneath the black spray paint the original marks formed concentric rings rather than random tags, their curves echoing the sigils on the compass face." | | 6 | "The wound itself had no beveling from a standard blade, and the minimal blood suggested an agent that sealed tissue on contact—an effect Quinn had never encountered in ordinary toxicology but had read about in confiscated occult texts." | | 7 | "The victim’s left ear bore a small scar, recent, and his shirt cuff carried a faded stain the color of rust—another alchemical remnant, perhaps from handling a substance sold only in the market’s stalls." | | 8 | "The evidence had never added up in the prior case either—too few witnesses, too few traces—until scraps like these sigils surfaced." | | 9 | "Quinn’s eye traced the remaining details the lights had not yet touched—the faint footprint in the alcove dust shaped by a heel too narrow for the victim’s shoe, the second set of drag marks leading nowhere, the way the compass pointing to the rift implied the victim had been searching for an entrance already sealed." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1308 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 39 | | adverbRatio | 0.02981651376146789 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.006880733944954129 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 73 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 73 | | mean | 20.36 | | std | 11.01 | | cv | 0.541 | | sampleLengths | | 0 | 22 | | 1 | 31 | | 2 | 31 | | 3 | 30 | | 4 | 23 | | 5 | 17 | | 6 | 8 | | 7 | 49 | | 8 | 11 | | 9 | 27 | | 10 | 19 | | 11 | 24 | | 12 | 24 | | 13 | 9 | | 14 | 25 | | 15 | 4 | | 16 | 33 | | 17 | 9 | | 18 | 38 | | 19 | 36 | | 20 | 16 | | 21 | 8 | | 22 | 18 | | 23 | 11 | | 24 | 12 | | 25 | 8 | | 26 | 16 | | 27 | 26 | | 28 | 9 | | 29 | 7 | | 30 | 5 | | 31 | 20 | | 32 | 13 | | 33 | 38 | | 34 | 27 | | 35 | 23 | | 36 | 8 | | 37 | 13 | | 38 | 10 | | 39 | 24 | | 40 | 39 | | 41 | 18 | | 42 | 9 | | 43 | 7 | | 44 | 16 | | 45 | 38 | | 46 | 24 | | 47 | 23 | | 48 | 28 | | 49 | 25 |
| |
| 55.71% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3835616438356164 | | totalSentences | 73 | | uniqueOpeners | 28 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 66 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 66 | | matches | | 0 | "She straightened her coat with" | | 1 | "Her bearing kept its usual" | | 2 | "He waved Quinn over with" | | 3 | "His polished oxfords showed minimal" | | 4 | "She crouched, noting the absence" | | 5 | "she said, glancing up at" | | 6 | "She paused beside the victim’s" | | 7 | "Its surface bore fine, deliberate" | | 8 | "She lifted it between gloved" | | 9 | "She picked it up, the" | | 10 | "She pressed her palm to" | | 11 | "She crouched again, scraping at" | | 12 | "She recalled the informants who" | | 13 | "She thought of Eve Kowalski" | | 14 | "He directed the constable to" | | 15 | "She checked the watch again," |
| | ratio | 0.242 | |
| 5.45% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 66 | | matches | | 0 | "Harlow Quinn lowered herself from" | | 1 | "The chill from the old" | | 2 | "She straightened her coat with" | | 3 | "Her bearing kept its usual" | | 4 | "The body lay at the" | | 5 | "He waved Quinn over with" | | 6 | "Quinn approached without hurry, her" | | 7 | "The man’s suit jacket was" | | 8 | "His polished oxfords showed minimal" | | 9 | "She crouched, noting the absence" | | 10 | "The blood beneath him formed" | | 11 | "she said, glancing up at" | | 12 | "Patel scratched his jaw." | | 13 | "Quinn rose and walked the" | | 14 | "The dust layer across the" | | 15 | "That scene had yielded the" | | 16 | "She paused beside the victim’s" | | 17 | "There, wedged in a hairline" | | 18 | "Its surface bore fine, deliberate" | | 19 | "She lifted it between gloved" |
| | ratio | 0.909 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 66 | | matches | | 0 | "If he had used this" | | 1 | "If the market had occupied" |
| | ratio | 0.03 | |
| 57.14% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 50 | | technicalSentenceCount | 6 | | matches | | 0 | "The blood beneath him formed a small, dark patch rather than the expected arterial spread; it looked as though it had thickened too quickly." | | 1 | "No fresh scuffs marred the higher platforms, and the air here carried a sharper note than simple mold—a faint ozone bite that reminded her of the alley where DS…" | | 2 | "A low vibration traveled through the brass, subtle but undeniable, as if the device were tuned to something beyond the station’s ordinary geometry." | | 3 | "She recalled the informants who spoke of a market that relocated every full moon, trading in substances that altered blood and perception alike." | | 4 | "Quinn saw the deliberate erasure: the missing token, the guided tool, the wound that mimicked natural causes while defying them." | | 5 | "Quinn slipped the bone fragment into an evidence bag and turned toward the ladder, already planning the next line of inquiry that would reach beyond Patel’s rep…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 1 | | matches | | 0 | "curling lines, the ones the coroner had called" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 10 | | tagDensity | 0.1 | | leniency | 0.2 | | rawRatio | 0 | | effectiveRatio | 0 | |