| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "She looked once [once]" |
| | dialogueSentences | 32 | | tagDensity | 0.281 | | leniency | 0.563 | | rawRatio | 0.111 | | effectiveRatio | 0.063 | |
| 91.28% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1720 | | totalAiIsmAdverbs | 3 | | found | | 0 | | adverb | "deliberately" | | count | 2 |
| | 1 | |
| | highlights | | 0 | "deliberately" | | 1 | "completely" |
| |
| 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) | |
| 82.56% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1720 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "measured" | | 1 | "resolve" | | 2 | "glint" | | 3 | "echoing" | | 4 | "glinting" | | 5 | "vibrated" |
| |
| 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 | 104 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 0 | | narrationSentences | 104 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 126 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 65 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1708 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1117 | | uniqueNames | 12 | | maxNameDensity | 1.34 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 2 | | Harlow | 1 | | Quinn | 15 | | Underground | 1 | | Patel | 12 | | Met | 1 | | Northern | 1 | | Line | 1 | | Morris | 1 | | South | 1 | | Kensington | 1 | | Aldgate | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Patel" | | 3 | "Met" | | 4 | "Line" | | 5 | "Morris" |
| | places | | 0 | "Camden" | | 1 | "South" | | 2 | "Kensington" |
| | globalScore | 0.829 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 73 | | glossingSentenceCount | 1 | | matches | | 0 | "as though reaching for the token that had rolled away" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.585 | | wordCount | 1708 | | matches | | 0 | "not from blood but from condensation on the stone" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 126 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 47.44 | | std | 34.47 | | cv | 0.726 | | sampleLengths | | 0 | 91 | | 1 | 127 | | 2 | 115 | | 3 | 1 | | 4 | 59 | | 5 | 13 | | 6 | 59 | | 7 | 34 | | 8 | 57 | | 9 | 95 | | 10 | 7 | | 11 | 21 | | 12 | 2 | | 13 | 2 | | 14 | 33 | | 15 | 44 | | 16 | 70 | | 17 | 88 | | 18 | 10 | | 19 | 4 | | 20 | 66 | | 21 | 45 | | 22 | 44 | | 23 | 10 | | 24 | 60 | | 25 | 79 | | 26 | 10 | | 27 | 84 | | 28 | 62 | | 29 | 31 | | 30 | 71 | | 31 | 79 | | 32 | 68 | | 33 | 5 | | 34 | 6 | | 35 | 56 |
| |
| 85.02% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 104 | | matches | | 0 | "were covered" | | 1 | "been peeled" | | 2 | "been scratched" | | 3 | "been welded" | | 4 | "been removed" | | 5 | "was localized" | | 6 | "been altered" |
| |
| 87.64% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 178 | | matches | | 0 | "was thinking" | | 1 | "were glinting" | | 2 | "was watching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 3 | | flaggedSentences | 10 | | totalSentences | 126 | | ratio | 0.079 | | matches | | 0 | "She had taken the call at half-past two that morning—another body, another Underground location nobody wanted to admit existed—and by the time she reached the platform the uniformed officers had already strung tape across the disused ticket hall." | | 1 | "A faint sigil had been scratched into the metal—interlocking lines that refused to resolve into letters." | | 2 | "“Call came in from a night-shift worker on the Northern Line who heard shouting at one-thirty. He came down the maintenance stairs and saw the victim still breathing but fading fast. Uniforms arrived, secured scene, nobody else in or out. No cameras in this section for obvious reasons; it’s been shut for thirty years.”" | | 3 | "The weld showed recent tool marks—bright scratches on the rusted metal." | | 4 | "The beam found faint footprints in the soot and grime—two distinct sets." | | 5 | "One set belonged to the victim; the soles matched the victim’s shoes." | | 6 | "She pressed a fingertip there and smelled varnish and something acrid—burnt herbs, maybe." | | 7 | "A smear of something dark—not blood—marked the threshold." | | 8 | "No rigor yet; the man had died less than three hours ago." | | 9 | "Under the low light she could just make out a faint impression remaining on the stone—pressure marks where someone had pressed something heavy against the surface for several seconds." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1130 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 43 | | adverbRatio | 0.03805309734513274 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007079646017699115 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 126 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 126 | | mean | 13.56 | | std | 12.05 | | cv | 0.889 | | sampleLengths | | 0 | 28 | | 1 | 25 | | 2 | 38 | | 3 | 9 | | 4 | 21 | | 5 | 20 | | 6 | 16 | | 7 | 3 | | 8 | 4 | | 9 | 5 | | 10 | 35 | | 11 | 4 | | 12 | 10 | | 13 | 6 | | 14 | 18 | | 15 | 3 | | 16 | 12 | | 17 | 12 | | 18 | 13 | | 19 | 5 | | 20 | 26 | | 21 | 4 | | 22 | 16 | | 23 | 1 | | 24 | 18 | | 25 | 10 | | 26 | 31 | | 27 | 7 | | 28 | 6 | | 29 | 5 | | 30 | 54 | | 31 | 3 | | 32 | 31 | | 33 | 4 | | 34 | 8 | | 35 | 45 | | 36 | 8 | | 37 | 17 | | 38 | 11 | | 39 | 8 | | 40 | 32 | | 41 | 13 | | 42 | 6 | | 43 | 2 | | 44 | 5 | | 45 | 10 | | 46 | 11 | | 47 | 2 | | 48 | 2 | | 49 | 4 |
| |
| 54.23% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.373015873015873 | | totalSentences | 126 | | uniqueOpeners | 47 | |
| 35.09% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 95 | | matches | | 0 | "Then she walked back to" |
| | ratio | 0.011 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 95 | | matches | | 0 | "She had taken the call" | | 1 | "She stepped over the tape" | | 2 | "She crouched, examining the blood" | | 3 | "It started behind the body" | | 4 | "She pulled the lapel aside." | | 5 | "She turned it over." | | 6 | "He approached from the service" | | 7 | "He had the habit when" | | 8 | "She knelt, shining the beam" | | 9 | "She reached through the grate" | | 10 | "He looked around again." | | 11 | "She followed the second set" | | 12 | "She pressed a fingertip there" | | 13 | "She gestured to the open" | | 14 | "She crossed to the service" | | 15 | "She crouched, touched it, and" | | 16 | "It carried a metallic scent" | | 17 | "she said, more to herself" | | 18 | "She returned to the corpse." | | 19 | "She checked his coat lapels" |
| | ratio | 0.295 | |
| 54.74% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 95 | | matches | | 0 | "The stairs into the abandoned" | | 1 | "Detective Harlow Quinn set her" | | 2 | "She had taken the call" | | 3 | "She stepped over the tape" | | 4 | "The victim lay on his" | | 5 | "A single slash across the" | | 6 | "Quinn lifted her light higher." | | 7 | "The walls were covered in" | | 8 | "The edges were crisp." | | 9 | "Someone had taken the time" | | 10 | "She crouched, examining the blood" | | 11 | "It started behind the body" | | 12 | "The killer had stood over" | | 13 | "Quinn touched the edge of" | | 14 | "The fabric was damp, not" | | 15 | "She pulled the lapel aside." | | 16 | "She turned it over." | | 17 | "A faint sigil had been" | | 18 | "The voice belonged to DS" | | 19 | "He approached from the service" |
| | ratio | 0.811 | |
| 52.63% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 95 | | matches | | 0 | "Whoever killed him had chosen" |
| | ratio | 0.011 | |
| 80.75% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 46 | | technicalSentenceCount | 4 | | matches | | 0 | "The stairs into the abandoned Camden station smelled of wet concrete and decades-old piss, the kind of rank sweetness that clung to the throat long after you le…" | | 1 | "Mid-thirties, by the clothing: black coat, good leather but scuffed, jeans with a rip that looked more deliberate than accidental." | | 2 | "The walls were covered in faded posters for bands that stopped existing ten years ago, yet one rectangle stood out: a blank square about a meter square where th…" | | 3 | "Beyond that door, she knew from old maps, lay a sealed maintenance shaft that connected to several other disused platforms." |
| |
| 69.44% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, more to herself than Patel" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "Quinn corrected (correct)" |
| | dialogueSentences | 32 | | tagDensity | 0.125 | | leniency | 0.25 | | rawRatio | 0.25 | | effectiveRatio | 0.063 | |