| 33.33% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 10 | | adverbTagCount | 2 | | adverbTags | | 0 | "Tom said slowly [slowly]" | | 1 | "she said quietly [quietly]" |
| | dialogueSentences | 24 | | tagDensity | 0.417 | | leniency | 0.833 | | rawRatio | 0.2 | | effectiveRatio | 0.167 | |
| 82.70% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 867 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "slowly" | | 1 | "very" | | 2 | "perfectly" |
| |
| 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) | |
| 76.93% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 867 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "reminder" | | 1 | "pulse" | | 2 | "mechanical" | | 3 | "etched" |
| |
| 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 | 61 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 61 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 76 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 867 | | ratio | 0 | | matches | (empty) | |
| 97.22% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 1 | | matches | | 0 | "The squatters had seen nothing, Tom said, because the squatters had been drunk." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 735 | | uniqueNames | 7 | | maxNameDensity | 0.82 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Tom" | | discoveredNames | | Camden | 1 | | Town | 1 | | Quinn | 6 | | Tom | 6 | | Halloran | 1 | | Morris | 1 | | Market | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Tom" | | 2 | "Halloran" | | 3 | "Morris" | | 4 | "Market" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 90.48% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 867 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 76 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 30 | | mean | 28.9 | | std | 29.62 | | cv | 1.025 | | sampleLengths | | 0 | 84 | | 1 | 39 | | 2 | 1 | | 3 | 24 | | 4 | 53 | | 5 | 33 | | 6 | 7 | | 7 | 12 | | 8 | 4 | | 9 | 74 | | 10 | 10 | | 11 | 2 | | 12 | 24 | | 13 | 15 | | 14 | 4 | | 15 | 89 | | 16 | 6 | | 17 | 6 | | 18 | 67 | | 19 | 5 | | 20 | 2 | | 21 | 90 | | 22 | 16 | | 23 | 8 | | 24 | 3 | | 25 | 55 | | 26 | 83 | | 27 | 16 | | 28 | 19 | | 29 | 16 |
| |
| 76.50% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 61 | | matches | | 0 | "was furred" | | 1 | "been chained" | | 2 | "was reddened" | | 3 | "been meant" | | 4 | "been lifted" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 117 | | matches | (empty) | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 76 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 276 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 2 | | adverbRatio | 0.007246376811594203 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 76 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 76 | | mean | 11.41 | | std | 8.86 | | cv | 0.776 | | sampleLengths | | 0 | 15 | | 1 | 24 | | 2 | 5 | | 3 | 14 | | 4 | 26 | | 5 | 15 | | 6 | 12 | | 7 | 12 | | 8 | 1 | | 9 | 21 | | 10 | 3 | | 11 | 3 | | 12 | 36 | | 13 | 7 | | 14 | 7 | | 15 | 2 | | 16 | 18 | | 17 | 8 | | 18 | 5 | | 19 | 7 | | 20 | 12 | | 21 | 4 | | 22 | 5 | | 23 | 17 | | 24 | 21 | | 25 | 31 | | 26 | 6 | | 27 | 4 | | 28 | 2 | | 29 | 6 | | 30 | 8 | | 31 | 5 | | 32 | 5 | | 33 | 9 | | 34 | 6 | | 35 | 4 | | 36 | 9 | | 37 | 31 | | 38 | 3 | | 39 | 3 | | 40 | 43 | | 41 | 6 | | 42 | 6 | | 43 | 16 | | 44 | 14 | | 45 | 8 | | 46 | 9 | | 47 | 9 | | 48 | 11 | | 49 | 3 |
| |
| 80.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.5394736842105263 | | totalSentences | 76 | | uniqueOpeners | 41 | |
| 62.89% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 53 | | matches | | 0 | "Then there was a fourth" |
| | ratio | 0.019 | |
| 99.25% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 53 | | matches | | 0 | "He was twenty-nine, eager, and" | | 1 | "She walked to the edge" | | 2 | "Her knees protested, a small" | | 3 | "She did not look at" | | 4 | "She looked at the floor." | | 5 | "He crouched beside her, squinting." | | 6 | "He followed them with his" | | 7 | "They ran straight to the" | | 8 | "She had seen tokens like" | | 9 | "She did not say that" | | 10 | "She reached for the man's" | | 11 | "Her worn leather strap was" | | 12 | "She had been on this" | | 13 | "She tilted her torch until" | | 14 | "she said quietly, and watched" | | 15 | "She had seen the sigils" |
| | ratio | 0.302 | |
| 44.91% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 44 | | totalSentences | 53 | | matches | | 0 | "The Camden Town platform had" | | 1 | "Harlow Quinn stood at the" | | 2 | "Mildew bloomed in the grout." | | 3 | "Someone had strung a line" | | 4 | "DC Tom Halloran came down" | | 5 | "He was twenty-nine, eager, and" | | 6 | "Quinn didn't answer." | | 7 | "She walked to the edge" | | 8 | "The coroner's van was not" | | 9 | "The scene was hers until" | | 10 | "Her knees protested, a small" | | 11 | "She did not look at" | | 12 | "She looked at the floor." | | 13 | "He crouched beside her, squinting." | | 14 | "The platform was furred with" | | 15 | "Tom said slowly" | | 16 | "He followed them with his" | | 17 | "They ran straight to the" | | 18 | "The man's right hand lay" | | 19 | "Quinn had already seen what" |
| | ratio | 0.83 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 53 | | matches | (empty) | | ratio | 0 | |
| 87.91% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 2 | | matches | | 0 | "She walked to the edge of the platform where the body lay against the tiled wall, knees drawn up, one arm flung over his face as if he had been shielding his ey…" | | 1 | "Then there was a fourth set, narrower, leading from the far end of the platform, where the tunnel mouth yawned black behind a rusted gate that should have been …" |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 1 | | matches | | 0 | "DC Tom Halloran came, his breath steaming" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 24 | | tagDensity | 0.208 | | leniency | 0.417 | | rawRatio | 0 | | effectiveRatio | 0 | |