| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 2 | | adverbTags | | 0 | "Hartley stood very [very]" | | 1 | "Quinn looked once [once]" |
| | dialogueSentences | 44 | | tagDensity | 0.341 | | leniency | 0.682 | | rawRatio | 0.133 | | effectiveRatio | 0.091 | |
| 91.03% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1673 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "very" | | 1 | "slightly" | | 2 | "slowly" |
| |
| 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.14% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1673 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "chaotic" | | 1 | "pristine" | | 2 | "scanning" | | 3 | "glint" | | 4 | "processed" | | 5 | "etched" | | 6 | "warmth" | | 7 | "weight" | | 8 | "echoing" | | 9 | "silence" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "clenched jaw/fists" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 106 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 106 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 133 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 11 | | totalWords | 1673 | | ratio | 0.007 | | matches | | 0 | "You will find the next one at the place that moves." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1192 | | uniqueNames | 7 | | maxNameDensity | 1.76 | | worstName | "Quinn" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Quinn" | | discoveredNames | | Victorian | 1 | | Amelia | 1 | | Hartley | 10 | | Quinn | 21 | | Morris | 2 | | Thames | 1 | | Daniel | 2 |
| | persons | | 0 | "Victorian" | | 1 | "Amelia" | | 2 | "Hartley" | | 3 | "Quinn" | | 4 | "Morris" | | 5 | "Daniel" |
| | places | | | globalScore | 0.619 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed thicker than the others" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.598 | | wordCount | 1673 | | matches | | 0 | "not with the wet shine of fresh blood but with something drier, something" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 133 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 50 | | mean | 33.46 | | std | 23.76 | | cv | 0.71 | | sampleLengths | | 0 | 67 | | 1 | 39 | | 2 | 63 | | 3 | 11 | | 4 | 43 | | 5 | 77 | | 6 | 6 | | 7 | 36 | | 8 | 63 | | 9 | 11 | | 10 | 31 | | 11 | 2 | | 12 | 13 | | 13 | 59 | | 14 | 12 | | 15 | 9 | | 16 | 28 | | 17 | 92 | | 18 | 9 | | 19 | 54 | | 20 | 3 | | 21 | 14 | | 22 | 93 | | 23 | 8 | | 24 | 24 | | 25 | 69 | | 26 | 25 | | 27 | 13 | | 28 | 28 | | 29 | 17 | | 30 | 38 | | 31 | 39 | | 32 | 4 | | 33 | 43 | | 34 | 14 | | 35 | 23 | | 36 | 49 | | 37 | 26 | | 38 | 43 | | 39 | 47 | | 40 | 10 | | 41 | 76 | | 42 | 9 | | 43 | 6 | | 44 | 50 | | 45 | 45 | | 46 | 33 | | 47 | 32 | | 48 | 25 | | 49 | 42 |
| |
| 85.40% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 106 | | matches | | 0 | "been told" | | 1 | "was etched" | | 2 | "got shouted" | | 3 | "been made" | | 4 | "been written" | | 5 | "been left" |
| |
| 92.47% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 186 | | matches | | 0 | "was taking" | | 1 | "was already running" | | 2 | "were going" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 133 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1195 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 36 | | adverbRatio | 0.0301255230125523 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.0041841004184100415 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 133 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 133 | | mean | 12.58 | | std | 9.55 | | cv | 0.759 | | sampleLengths | | 0 | 22 | | 1 | 14 | | 2 | 8 | | 3 | 23 | | 4 | 39 | | 5 | 3 | | 6 | 17 | | 7 | 14 | | 8 | 11 | | 9 | 18 | | 10 | 7 | | 11 | 4 | | 12 | 43 | | 13 | 5 | | 14 | 5 | | 15 | 37 | | 16 | 30 | | 17 | 6 | | 18 | 15 | | 19 | 21 | | 20 | 4 | | 21 | 9 | | 22 | 17 | | 23 | 17 | | 24 | 2 | | 25 | 4 | | 26 | 10 | | 27 | 11 | | 28 | 4 | | 29 | 27 | | 30 | 2 | | 31 | 13 | | 32 | 3 | | 33 | 6 | | 34 | 17 | | 35 | 2 | | 36 | 3 | | 37 | 14 | | 38 | 14 | | 39 | 5 | | 40 | 7 | | 41 | 9 | | 42 | 28 | | 43 | 7 | | 44 | 12 | | 45 | 24 | | 46 | 15 | | 47 | 13 | | 48 | 21 | | 49 | 5 |
| |
| 62.66% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.44360902255639095 | | totalSentences | 133 | | uniqueOpeners | 59 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 95 | | matches | | 0 | "Only her shoes betrayed her," | | 1 | "Just a closed file and" | | 2 | "Then the needle stirred." | | 3 | "Then she looked at the" | | 4 | "Somewhere ahead, something waited." |
| | ratio | 0.053 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 95 | | matches | | 0 | "Her white coveralls were immaculate," | | 1 | "She gestured at the symbols" | | 2 | "She stood, scanning the wider" | | 3 | "They moved together, boots crunching" | | 4 | "She turned back to the" | | 5 | "She had been chasing that" | | 6 | "She pried the fingers apart" | | 7 | "Its casing had gone green" | | 8 | "It swung, hesitated, swung again," | | 9 | "It pointed past the dead" | | 10 | "It did not waver." | | 11 | "She turned to the uniformed" | | 12 | "He had seen the needle" | | 13 | "He had decided, in the" | | 14 | "She moved into the tunnel," | | 15 | "She did not look back." | | 16 | "She did not need to." | | 17 | "He had been a messenger." | | 18 | "She followed it without slowing." |
| | ratio | 0.2 | |
| 54.74% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 77 | | totalSentences | 95 | | matches | | 0 | "The body lay twenty feet" | | 1 | "Quinn counted three breaths as" | | 2 | "Each one tasted of copper" | | 3 | "Coal dust, perhaps, or the" | | 4 | "The forensic team had strung" | | 5 | "Amelia Hartley, the forensic pathologist," | | 6 | "Her white coveralls were immaculate," | | 7 | "Quinn ducked under the tape" | | 8 | "Quinn crouched beside the body." | | 9 | "The wound was a problem." | | 10 | "A deep, ragged gash ran" | | 11 | "The edges of the wound" | | 12 | "Hartley knelt opposite her, careful" | | 13 | "Quinn studied the floor." | | 14 | "The constable had been right" | | 15 | "The blood had been black" | | 16 | "A star within it." | | 17 | "Symbols at the cardinal points" | | 18 | "She gestured at the symbols" | | 19 | "Hartley leaned closer, frowning." |
| | ratio | 0.811 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 95 | | matches | (empty) | | ratio | 0 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 7 | | matches | | 0 | "The forensic team had strung their tape between rusted support columns, and beyond it, a uniformed constable stood guard with the glazed expression of a man who…" | | 1 | "A deep, ragged gash ran from the victim's left shoulder to his right hip, but it was too clean in places and too chaotic in others, as if something had cut him …" | | 2 | "The edges of the wound glistened black in her torchlight, not with the wet shine of fresh blood but with something drier, something that looked more like ash th…" | | 3 | "One contained something that moved of its own accord, a slow swirl of luminous green." | | 4 | "Its casing had gone green with age, a patina of verdigris that spoke of decades in some forgotten drawer." | | 5 | "It pointed past the dead man's shoulder, into the deeper darkness of the abandoned tunnel, toward a shadow that seemed thicker than the others." | | 6 | "Behind her, in the silence of the abandoned station, the dead man's hand, which had been empty a moment before, closed slowly around nothing at all, and the smi…" |
| |
| 91.67% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 1 | | matches | | 0 | "Hartley knelt, careful to keep her pristine knees out of the grime" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 44 | | tagDensity | 0.023 | | leniency | 0.045 | | rawRatio | 1 | | effectiveRatio | 0.045 | |