| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 3 | | adverbTags | | 0 | "Quinn said flatly [flatly]" | | 1 | "Eva replied carefully [carefully]" | | 2 | "Quinn said quietly [quietly]" |
| | dialogueSentences | 22 | | tagDensity | 0.636 | | leniency | 1 | | rawRatio | 0.214 | | effectiveRatio | 0.214 | |
| 82.47% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1141 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "really" | | 1 | "carefully" | | 2 | "slowly" | | 3 | "suddenly" |
| |
| 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) | |
| 43.03% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1141 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "tangible" | | 1 | "perfect" | | 2 | "chaotic" | | 3 | "methodical" | | 4 | "echoed" | | 5 | "reminder" | | 6 | "etched" | | 7 | "silence" | | 8 | "trembled" | | 9 | "echoing" | | 10 | "jaw clenched" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "jaw/fists clenched" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 71 | | matches | (empty) | |
| 82.49% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 71 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 79 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1131 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 24.34% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 42 | | wordCount | 756 | | uniqueNames | 10 | | maxNameDensity | 2.51 | | worstName | "Quinn" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 3 | | Harlow | 1 | | Quinn | 19 | | Kowalski | 2 | | Metropolitan | 1 | | Police | 1 | | Eva | 12 | | Morris | 1 | | Latin | 1 | | Ms | 1 |
| | persons | | 0 | "Tube" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Kowalski" | | 4 | "Eva" | | 5 | "Morris" | | 6 | "Ms" |
| | places | | | globalScore | 0.243 | | windowScore | 0.5 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 50 | | glossingSentenceCount | 3 | | matches | | 0 | "seemed almost tangible" | | 1 | "not quite touching the pale skin" | | 2 | "not quite Latin, not quite anything she'd seen before" | | 3 | "not quite anything she'd seen before" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.884 | | wordCount | 1131 | | matches | | 0 | "not an accusation, but Eva flinched regardless" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 79 | | matches | | |
| 86.54% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 25 | | mean | 45.24 | | std | 20.49 | | cv | 0.453 | | sampleLengths | | 0 | 65 | | 1 | 29 | | 2 | 84 | | 3 | 20 | | 4 | 62 | | 5 | 58 | | 6 | 38 | | 7 | 65 | | 8 | 4 | | 9 | 70 | | 10 | 48 | | 11 | 18 | | 12 | 63 | | 13 | 59 | | 14 | 52 | | 15 | 44 | | 16 | 23 | | 17 | 27 | | 18 | 74 | | 19 | 39 | | 20 | 51 | | 21 | 27 | | 22 | 43 | | 23 | 55 | | 24 | 13 |
| |
| 75.61% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 71 | | matches | | 0 | "been found" | | 1 | "been called" | | 2 | "was propped" | | 3 | "been closed" | | 4 | "was etched" | | 5 | "been maintained" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 137 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 79 | | ratio | 0.063 | | matches | | 0 | "Her left wrist caught the faint luminescence as she checked her watch—2:47 a.m." | | 1 | "She'd been called in as a consultant—a favor, really, from someone Quinn preferred not to think about—and she looked profoundly out of place in this concrete tomb." | | 2 | "A sound echoed through the station—the distant hum of the Tube lines that still ran in the tunnels above, a reminder of the living world beyond this tomb." | | 3 | "The face was etched with symbols Quinn didn't recognize—not quite Latin, not quite anything she'd seen before." | | 4 | "\"The question,\" Quinn continued, \"isn't what killed him. The question is why. You came to me because you know something. You came to me because this\"—she held up the compass, watching its needle swing—\"means something specific to you and your research. So I'm asking you directly, Ms. Kowalski: what is this?\"" |
| |
| 98.99% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 719 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 29 | | adverbRatio | 0.04033379694019471 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.02086230876216968 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 79 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 79 | | mean | 14.32 | | std | 10.99 | | cv | 0.767 | | sampleLengths | | 0 | 10 | | 1 | 23 | | 2 | 13 | | 3 | 19 | | 4 | 11 | | 5 | 7 | | 6 | 5 | | 7 | 6 | | 8 | 16 | | 9 | 27 | | 10 | 16 | | 11 | 25 | | 12 | 5 | | 13 | 15 | | 14 | 6 | | 15 | 17 | | 16 | 18 | | 17 | 12 | | 18 | 4 | | 19 | 5 | | 20 | 14 | | 21 | 28 | | 22 | 16 | | 23 | 16 | | 24 | 7 | | 25 | 15 | | 26 | 3 | | 27 | 16 | | 28 | 2 | | 29 | 2 | | 30 | 22 | | 31 | 8 | | 32 | 12 | | 33 | 4 | | 34 | 10 | | 35 | 50 | | 36 | 10 | | 37 | 10 | | 38 | 19 | | 39 | 5 | | 40 | 8 | | 41 | 6 | | 42 | 14 | | 43 | 4 | | 44 | 16 | | 45 | 47 | | 46 | 9 | | 47 | 3 | | 48 | 3 | | 49 | 6 |
| |
| 45.57% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.34177215189873417 | | totalSentences | 79 | | uniqueOpeners | 27 | |
| 51.28% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 65 | | matches | | | ratio | 0.015 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 15 | | totalSentences | 65 | | matches | | 0 | "Her left wrist caught the" | | 1 | "She'd been called in as" | | 2 | "Her worn leather satchel was" | | 3 | "She tucked a curly red" | | 4 | "She pointed to the victim's" | | 5 | "Her jeans caught against the" | | 6 | "She'd lost her partner, DS" | | 7 | "It wasn't supposed to be" | | 8 | "It wasn't a question." | | 9 | "She'd worked enough homicides to" | | 10 | "She rose and walked toward" | | 11 | "It was a compass." | | 12 | "It swung slowly in lazy" | | 13 | "It was a statement, not" | | 14 | "She turned to face Eva" |
| | ratio | 0.231 | |
| 21.54% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 57 | | totalSentences | 65 | | matches | | 0 | "The abandoned Tube station reeked" | | 1 | "Detective Harlow Quinn descended the" | | 2 | "Her left wrist caught the" | | 3 | "The leather band felt warm" | | 4 | "The body had been found" | | 5 | "That was the official story," | | 6 | "The truth was considerably more" | | 7 | "Eva Kowalski stood near the" | | 8 | "She'd been called in as" | | 9 | "Her worn leather satchel was" | | 10 | "She tucked a curly red" | | 11 | "Eva said, straightening" | | 12 | "Quinn approached the body without" | | 13 | "Patience was a tool she'd" | | 14 | "A young man, early twenties," | | 15 | "The emergency lights painted everything" | | 16 | "That was the first problem." | | 17 | "Quinn said, crouching beside the" | | 18 | "She pointed to the victim's" | | 19 | "Eva said, kneeling down with" |
| | ratio | 0.877 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 65 | | matches | (empty) | | ratio | 0 | |
| 71.43% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 3 | | matches | | 0 | "The leather band felt warm against her skin, a small anchor point in the wrongness that permeated this place." | | 1 | "She'd lost her partner, DS Morris, three years ago under circumstances that had never made sense." | | 2 | "Quinn stood, her military bearing rigid against the creeping damp." |
| |
| 53.57% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 2 | | matches | | 0 | "She pointed, not quite touching the pale skin" | | 1 | "Quinn interrupted, her tone cutting through the darkness like her torch beam" |
| |
| 25.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 3 | | fancyTags | | 0 | "Eva whispered (whisper)" | | 1 | "Quinn interrupted (interrupt)" | | 2 | "Quinn continued (continue)" |
| | dialogueSentences | 22 | | tagDensity | 0.545 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |