| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 30 | | adverbTagCount | 2 | | adverbTags | | 0 | "She peeled back [back]" | | 1 | "She sniffed hard [hard]" |
| | dialogueSentences | 67 | | tagDensity | 0.448 | | leniency | 0.896 | | rawRatio | 0.067 | | effectiveRatio | 0.06 | |
| 96.08% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1277 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1277 | | totalAiIsms | 0 | | found | (empty) | | highlights | (empty) | |
| 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 | 55 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 55 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 92 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 70 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1279 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 0.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 658 | | uniqueNames | 10 | | maxNameDensity | 3.04 | | worstName | "Nia" | | maxWindowNameDensity | 6.5 | | worstWindowName | "Nia" | | discoveredNames | | Frith | 1 | | Street | 2 | | Yu-Fei | 1 | | Tuesday | 2 | | Silas | 4 | | Rory | 12 | | Prydderch | 1 | | Soho | 1 | | Nia | 20 | | Greek | 1 |
| | persons | | 0 | "Yu-Fei" | | 1 | "Silas" | | 2 | "Rory" | | 3 | "Prydderch" | | 4 | "Nia" |
| | places | | 0 | "Frith" | | 1 | "Street" | | 2 | "Soho" | | 3 | "Greek" |
| | globalScore | 0 | | windowScore | 0 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 31 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1279 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 92 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 52 | | mean | 24.6 | | std | 25.39 | | cv | 1.032 | | sampleLengths | | 0 | 49 | | 1 | 39 | | 2 | 31 | | 3 | 15 | | 4 | 9 | | 5 | 4 | | 6 | 90 | | 7 | 7 | | 8 | 9 | | 9 | 29 | | 10 | 15 | | 11 | 21 | | 12 | 2 | | 13 | 38 | | 14 | 2 | | 15 | 17 | | 16 | 7 | | 17 | 69 | | 18 | 8 | | 19 | 6 | | 20 | 73 | | 21 | 5 | | 22 | 9 | | 23 | 3 | | 24 | 62 | | 25 | 4 | | 26 | 67 | | 27 | 3 | | 28 | 13 | | 29 | 30 | | 30 | 29 | | 31 | 4 | | 32 | 60 | | 33 | 3 | | 34 | 88 | | 35 | 1 | | 36 | 10 | | 37 | 42 | | 38 | 4 | | 39 | 1 | | 40 | 5 | | 41 | 1 | | 42 | 21 | | 43 | 51 | | 44 | 3 | | 45 | 7 | | 46 | 6 | | 47 | 43 | | 48 | 38 | | 49 | 77 |
| |
| 98.88% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 55 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 111 | | matches | (empty) | |
| 49.69% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 1 | | flaggedSentences | 3 | | totalSentences | 92 | | ratio | 0.033 | | matches | | 0 | "That was the first thing — the black rope she used to wear over one shoulder in the law library was gone, replaced by something blunt and expensive that ended at the jaw." | | 1 | "She looked at Rory the way she used to look at case law she suspected of lying to her — front to back, twice." | | 2 | "Sixteen forty for a delivery to Greek Street; the man had tipped in twenty-pence pieces and she'd carried them up the stairs in her fist." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 550 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 13 | | adverbRatio | 0.023636363636363636 | | lyAdverbCount | 3 | | lyAdverbRatio | 0.005454545454545455 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 92 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 92 | | mean | 13.9 | | std | 13.72 | | cv | 0.987 | | sampleLengths | | 0 | 20 | | 1 | 24 | | 2 | 5 | | 3 | 8 | | 4 | 31 | | 5 | 22 | | 6 | 9 | | 7 | 7 | | 8 | 8 | | 9 | 9 | | 10 | 4 | | 11 | 6 | | 12 | 33 | | 13 | 29 | | 14 | 22 | | 15 | 3 | | 16 | 4 | | 17 | 9 | | 18 | 8 | | 19 | 9 | | 20 | 12 | | 21 | 15 | | 22 | 5 | | 23 | 16 | | 24 | 2 | | 25 | 6 | | 26 | 24 | | 27 | 8 | | 28 | 2 | | 29 | 5 | | 30 | 8 | | 31 | 4 | | 32 | 7 | | 33 | 2 | | 34 | 24 | | 35 | 3 | | 36 | 40 | | 37 | 8 | | 38 | 6 | | 39 | 29 | | 40 | 44 | | 41 | 5 | | 42 | 7 | | 43 | 2 | | 44 | 3 | | 45 | 30 | | 46 | 32 | | 47 | 4 | | 48 | 11 | | 49 | 52 |
| |
| 63.41% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.44565217391304346 | | totalSentences | 92 | | uniqueOpeners | 41 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 47 | | matches | | 0 | "Then one of them stopped." | | 1 | "Then the glass went down" |
| | ratio | 0.043 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 47 | | matches | | 0 | "She was at the end" | | 1 | "She peeled back her hood" | | 2 | "She'd got taller somehow, or" | | 3 | "She set a leather bag" | | 4 | "She had got very good," | | 5 | "She crossed the four feet" | | 6 | "She laughed, one flat note" | | 7 | "She looked at Rory the" | | 8 | "She was aware, in a" | | 9 | "She picked up her wine," | | 10 | "Her voice climbed and she" | | 11 | "She reached out, then, and" | | 12 | "She looked up" | | 13 | "She sniffed hard" |
| | ratio | 0.298 | |
| 2.55% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 47 | | matches | | 0 | "Rain had been coming down" | | 1 | "The green neon over the" | | 2 | "Rory heard the door before" | | 3 | "She was at the end" | | 4 | "A woman shook her umbrella" | | 5 | "Silas said, from under the" | | 6 | "She peeled back her hood" | | 7 | "Rory's pencil stopped moving." | | 8 | "Nia Prydderch had cut her" | | 9 | "That was the first thing" | | 10 | "She'd got taller somehow, or" | | 11 | "She set a leather bag" | | 12 | "Silas said, and poured her" | | 13 | "Rory considered the door to" | | 14 | "She had got very good," | | 15 | "Nia turned her head to" | | 16 | "Nothing happened for a second." | | 17 | "Nia was off the stool" | | 18 | "She crossed the four feet" | | 19 | "Nia's arms dropped" |
| | ratio | 0.915 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 47 | | matches | (empty) | | ratio | 0 | |
| 40.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 14 | | technicalSentenceCount | 2 | | matches | | 0 | "She was at the end of the bar with a shoebox of receipts and a chewed pencil, splitting Yu-Fei's Tuesday takings into two piles that refused to agree with each …" | | 1 | "Silas set two glasses upside down on the towel and left through the door beside the bookshelf without a word, which was, Rory understood, his version of a hand …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 30 | | uselessAdditionCount | 1 | | matches | | 0 | "Nia said, and her eyes were wet, and she hated it, Rory could see, the way she pressed the back of her wrist under one and then the other, briskly, like sorting post" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 3 | | fancyTags | | 0 | "She laughed (laugh)" | | 1 | "She sniffed hard (sniff)" | | 2 | "Nia laughed (laugh)" |
| | dialogueSentences | 67 | | tagDensity | 0.179 | | leniency | 0.358 | | rawRatio | 0.25 | | effectiveRatio | 0.09 | |