| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 21 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0.111 | | effectiveRatio | 0.095 | |
| 93.82% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1618 | | totalAiIsmAdverbs | 2 | | found | | | highlights | | |
| 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) | |
| 66.01% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1618 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "glint" | | 1 | "flicked" | | 2 | "etched" | | 3 | "spectral" | | 4 | "charm" | | 5 | "weight" | | 6 | "warmth" | | 7 | "aligned" | | 8 | "silence" | | 9 | "measured" |
| |
| 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 | 93 | | matches | (empty) | |
| 81.41% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 93 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 105 | | 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 | 1608 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 25 | | wordCount | 1091 | | uniqueNames | 7 | | maxNameDensity | 0.92 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 2 | | Quinn | 10 | | Met | 1 | | Bridges | 8 | | Morris | 2 | | Bridge | 1 | | Camden | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Bridges" | | 3 | "Morris" | | 4 | "Bridge" |
| | places | (empty) | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 1 | | matches | | 0 | "e token he had apparently worn, and Bridge’s" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1608 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 105 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 28 | | mean | 57.43 | | std | 29.31 | | cv | 0.51 | | sampleLengths | | 0 | 79 | | 1 | 77 | | 2 | 40 | | 3 | 56 | | 4 | 101 | | 5 | 6 | | 6 | 66 | | 7 | 9 | | 8 | 121 | | 9 | 40 | | 10 | 20 | | 11 | 75 | | 12 | 15 | | 13 | 83 | | 14 | 30 | | 15 | 61 | | 16 | 75 | | 17 | 80 | | 18 | 61 | | 19 | 10 | | 20 | 77 | | 21 | 54 | | 22 | 74 | | 23 | 17 | | 24 | 68 | | 25 | 70 | | 26 | 54 | | 27 | 89 |
| |
| 86.40% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 93 | | matches | | 0 | "been dragged" | | 1 | "been wiped" | | 2 | "been unbuttoned" | | 3 | "been made" | | 4 | "been etched" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 160 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 2 | | flaggedSentences | 7 | | totalSentences | 105 | | ratio | 0.067 | | matches | | 0 | "Salt-and-pepper stubble caught the light when she turned her head; her sharp jaw did not soften." | | 1 | "Eighteen years on the Met and she still hated the way an underground crime scene smelt—copper, mildew, and something sweeter underneath that she could not yet name." | | 2 | "The coat had been unbuttoned carefully after death; the shirt beneath showed three neat slashes along the left clavicle that had barely bled." | | 3 | "Protective sigils had been etched into the face—circles within circles, a language she had never studied and yet half recognized from photographs in Morris’s last unfinished file." | | 4 | "Forced gate upstairs that the explorers claimed for themselves—yet no soot transfer on the victim’s low-profile boots, which meant he hadn’t walked the same filthy approach." | | 5 | "“Someone who belongs here opened it for him, or he carried the right key. Then he was killed after he was already dead to medical convention. And this—” she indicated the compass with the beam and let it rest on the twitching needle—“was either dropped by him or left for us to find.”" | | 6 | "Up close the verdigris was uneven, thickest along the hinge—old, deliberate aging, not neglect." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 877 | | adjectiveStacks | 1 | | stackExamples | | 0 | "sweet-ozone under-smell" |
| | adverbCount | 35 | | adverbRatio | 0.039908779931584946 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.009122006841505131 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 105 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 105 | | mean | 15.31 | | std | 13.11 | | cv | 0.856 | | sampleLengths | | 0 | 8 | | 1 | 24 | | 2 | 31 | | 3 | 13 | | 4 | 3 | | 5 | 15 | | 6 | 1 | | 7 | 18 | | 8 | 16 | | 9 | 27 | | 10 | 22 | | 11 | 18 | | 12 | 27 | | 13 | 29 | | 14 | 14 | | 15 | 7 | | 16 | 5 | | 17 | 10 | | 18 | 29 | | 19 | 12 | | 20 | 10 | | 21 | 14 | | 22 | 6 | | 23 | 13 | | 24 | 53 | | 25 | 9 | | 26 | 19 | | 27 | 3 | | 28 | 5 | | 29 | 23 | | 30 | 5 | | 31 | 11 | | 32 | 17 | | 33 | 16 | | 34 | 6 | | 35 | 9 | | 36 | 7 | | 37 | 4 | | 38 | 36 | | 39 | 5 | | 40 | 5 | | 41 | 10 | | 42 | 16 | | 43 | 15 | | 44 | 14 | | 45 | 30 | | 46 | 15 | | 47 | 12 | | 48 | 9 | | 49 | 27 |
| |
| 79.49% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.5288461538461539 | | totalSentences | 104 | | uniqueOpeners | 55 | |
| 40.16% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 83 | | matches | | 0 | "Instead the blood had puddled" |
| | ratio | 0.012 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 83 | | matches | | 0 | "She checked the worn leather" | | 1 | "He was younger than her," | | 2 | "He gestured with the end" | | 3 | "She crouched without invitation and" | | 4 | "He lay on his side" | | 5 | "She knelt again, leather watch" | | 6 | "She did not look up." | | 7 | "She rose and walked a" | | 8 | "It shivered in minute arcs," | | 9 | "She did not touch it." | | 10 | "She pressed her gloved palm" | | 11 | "Her mind ran the sequence" | | 12 | "she said quietly" | | 13 | "she indicated the compass with" | | 14 | "She recalled, unbidden, the rain-slick" | | 15 | "She had put that file" | | 16 | "She would not make the" | | 17 | "She turned the full force" | | 18 | "She crouched once more, this" | | 19 | "She checked her leather watch" |
| | ratio | 0.241 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 58 | | totalSentences | 83 | | matches | | 0 | "The floodlights had been dragged" | | 1 | "Detective Harlow Quinn noticed it" | | 2 | "The beams carved hard white" | | 3 | "Quinn did not." | | 4 | "She checked the worn leather" | | 5 | "Military bearing held her shoulders" | | 6 | "Salt-and-pepper stubble caught the light" | | 7 | "DS Bridges waited beside the" | | 8 | "He was younger than her," | | 9 | "He gestured with the end" | | 10 | "Quinn let her gaze rest" | | 11 | "Victorian tile in cracked cream" | | 12 | "Water stains like old bruises." | | 13 | "Bullet-scarred wiring trays that hadn’t" | | 14 | "She crouched without invitation and" | | 15 | "That ash was not on" | | 16 | "Bridges nearly smiled at his" | | 17 | "Quinn stood and finally looked" | | 18 | "He lay on his side" | | 19 | "Italian wool coat, no label." |
| | ratio | 0.699 | |
| 60.24% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 83 | | matches | | 0 | "Whoever had set them had" |
| | ratio | 0.012 | |
| 63.49% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 5 | | matches | | 0 | "DS Bridges waited beside the body with the easy impatience of a man who had already decided what he was looking at." | | 1 | "Bullet-scarred wiring trays that hadn’t carried current since the war." | | 2 | "The coat had been unbuttoned carefully after death; the shirt beneath showed three neat slashes along the left clavicle that had barely bled." | | 3 | "Cold, then a residual warmth that shouldn’t have lived in brick this deep." | | 4 | "Forced gate upstairs that the explorers claimed for themselves—yet no soot transfer on the victim’s low-profile boots, which meant he hadn’t walked the same fil…" |
| |
| 69.44% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 1 | | matches | | 0 | "She turned, the years of decorated service heavy behind them" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 21 | | tagDensity | 0.238 | | leniency | 0.476 | | rawRatio | 0 | | effectiveRatio | 0 | |