| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 17 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 35 | | tagDensity | 0.486 | | leniency | 0.971 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.12% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1263 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "sharply" | | 1 | "perfectly" | | 2 | "quickly" |
| |
| 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) | |
| 60.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1263 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "shattered" | | 1 | "measured" | | 2 | "weight" | | 3 | "traced" | | 4 | "silk" | | 5 | "glistening" | | 6 | "pulse" | | 7 | "chill" | | 8 | "etched" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 2 |
|
| | highlights | | 0 | "eyes narrowed" | | 1 | "eyes widened" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 69 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 69 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 87 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 40 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1262 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 29.86% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 874 | | uniqueNames | 12 | | maxNameDensity | 2.4 | | worstName | "Quinn" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | High | 1 | | Street | 1 | | Victorian | 1 | | Northern | 1 | | Harlow | 1 | | Quinn | 21 | | Constable | 1 | | Miller | 7 | | Morris | 1 | | Eva | 8 | | Highgate | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Constable" | | 3 | "Miller" | | 4 | "Morris" | | 5 | "Eva" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Highgate" |
| | globalScore | 0.299 | | windowScore | 0.5 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 60 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.792 | | wordCount | 1262 | | matches | | 0 | "not by flame, but by extreme cold" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 87 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 27.43 | | std | 15.05 | | cv | 0.548 | | sampleLengths | | 0 | 47 | | 1 | 39 | | 2 | 25 | | 3 | 24 | | 4 | 53 | | 5 | 23 | | 6 | 7 | | 7 | 26 | | 8 | 27 | | 9 | 51 | | 10 | 18 | | 11 | 8 | | 12 | 15 | | 13 | 13 | | 14 | 33 | | 15 | 40 | | 16 | 10 | | 17 | 17 | | 18 | 62 | | 19 | 59 | | 20 | 7 | | 21 | 2 | | 22 | 22 | | 23 | 58 | | 24 | 21 | | 25 | 14 | | 26 | 32 | | 27 | 18 | | 28 | 37 | | 29 | 31 | | 30 | 30 | | 31 | 47 | | 32 | 25 | | 33 | 11 | | 34 | 35 | | 35 | 5 | | 36 | 40 | | 37 | 29 | | 38 | 24 | | 39 | 21 | | 40 | 37 | | 41 | 27 | | 42 | 10 | | 43 | 34 | | 44 | 13 | | 45 | 35 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 69 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 145 | | matches | (empty) | |
| 77.18% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 87 | | ratio | 0.023 | | matches | | 0 | "Cold air pushed up the shaft, thick with the stench of stagnant sewer damp, iron filings, and something sharply chemical—like ozone after a lightning strike." | | 1 | "Her pulse hitched against her collar—the same phantom chill she had pulled off Morris's jacket in the warehouse three years ago, before the brass buried the report and classified the file." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 882 | | adjectiveStacks | 1 | | stackExamples | | 0 | "harsh, clinical white, casting" |
| | adverbCount | 15 | | adverbRatio | 0.017006802721088437 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.009070294784580499 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 87 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 87 | | mean | 14.51 | | std | 7.65 | | cv | 0.527 | | sampleLengths | | 0 | 22 | | 1 | 25 | | 2 | 12 | | 3 | 6 | | 4 | 21 | | 5 | 6 | | 6 | 19 | | 7 | 24 | | 8 | 17 | | 9 | 36 | | 10 | 18 | | 11 | 5 | | 12 | 7 | | 13 | 12 | | 14 | 14 | | 15 | 11 | | 16 | 16 | | 17 | 11 | | 18 | 23 | | 19 | 4 | | 20 | 13 | | 21 | 18 | | 22 | 8 | | 23 | 15 | | 24 | 10 | | 25 | 3 | | 26 | 12 | | 27 | 21 | | 28 | 32 | | 29 | 8 | | 30 | 4 | | 31 | 6 | | 32 | 17 | | 33 | 21 | | 34 | 16 | | 35 | 25 | | 36 | 12 | | 37 | 13 | | 38 | 3 | | 39 | 31 | | 40 | 7 | | 41 | 2 | | 42 | 22 | | 43 | 19 | | 44 | 12 | | 45 | 7 | | 46 | 20 | | 47 | 6 | | 48 | 15 | | 49 | 14 |
| |
| 72.03% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.45977011494252873 | | totalSentences | 87 | | uniqueOpeners | 40 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 67 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 67 | | matches | | 0 | "She adjusted her collar, stepped" | | 1 | "Her boots crunched over shattered" | | 2 | "She stopped beside the body." | | 3 | "Her brown eyes narrowed as" | | 4 | "His woollen duster was indeed" | | 5 | "His hands rested palm-up." | | 6 | "Her jaw tightened." | | 7 | "Her pulse hitched against her" | | 8 | "She clutched a battered leather" | | 9 | "Her right hand darted up," | | 10 | "Her knuckles remained bloodless white" | | 11 | "Her fingers twitched against her" | | 12 | "She pulled an object free." | | 13 | "It was a pocket compass," | | 14 | "It spun in wild, erratic" | | 15 | "She walked back to Eva," |
| | ratio | 0.239 | |
| 19.70% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 67 | | matches | | 0 | "The iron spiral staircase dropped" | | 1 | "Detective Harlow Quinn checked the" | | 2 | "Midnight had passed twenty minutes" | | 3 | "She adjusted her collar, stepped" | | 4 | "Her boots crunched over shattered" | | 5 | "Detective Constable Miller stood twenty" | | 6 | "Miller tossed a thumb over" | | 7 | "Quinn kept her stride measured," | | 8 | "She stopped beside the body." | | 9 | "Quinn looked down at the" | | 10 | "Miller pointed with his coffee" | | 11 | "Quinn crouched, balancing her weight" | | 12 | "Her brown eyes narrowed as" | | 13 | "The victim lay sprawled on" | | 14 | "His woollen duster was indeed" | | 15 | "His hands rested palm-up." | | 16 | "The skin across his fingers" | | 17 | "Quinn directed the light onto" | | 18 | "Miller leaned in, chewing on" | | 19 | "Quinn pointed the beam along" |
| | ratio | 0.881 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 67 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 2 | | matches | | 0 | "The dark crimson stains formed sharp, radial spokes, radiating outward from the chest cavity in six perfectly equidistant lines, cutting straight across the une…" | | 1 | "The glass face was intact, etched from underneath with microscopic glyphs that spiraled toward the center." |
| |
| 66.18% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 2 | | matches | | 0 | "Eva said, her voice thin, competing with the hum of the generator" | | 1 | "Quinn said, her voice dropping into the quiet of the tunnel" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "Quinn called out (call out)" |
| | dialogueSentences | 35 | | tagDensity | 0.171 | | leniency | 0.343 | | rawRatio | 0.167 | | effectiveRatio | 0.057 | |