| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 4 | | adverbTagCount | 1 | | adverbTags | | 0 | "Quinn said aloud [aloud]" |
| | dialogueSentences | 8 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.25 | | effectiveRatio | 0.25 | |
| 95.12% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1024 | | totalAiIsmAdverbs | 1 | | 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) | |
| 85.35% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1024 | | totalAiIsms | 3 | | found | | | highlights | | |
| 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 | 72 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 72 | | filterMatches | (empty) | | hedgeMatches | | |
| 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 | 57 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1035 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 37 | | wordCount | 979 | | uniqueNames | 15 | | maxNameDensity | 0.92 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Morris" | | discoveredNames | | Camden | 1 | | High | 1 | | Street | 1 | | Tomás | 4 | | Herrera | 2 | | Kentish | 2 | | Town | 2 | | Road | 2 | | Limehouse | 1 | | Morris | 6 | | Saint | 1 | | Christopher | 1 | | Whitechapel | 1 | | Quinn | 9 | | Training | 3 |
| | persons | | 0 | "Tomás" | | 1 | "Herrera" | | 2 | "Morris" | | 3 | "Saint" | | 4 | "Christopher" | | 5 | "Quinn" | | 6 | "Training" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Kentish" | | 4 | "Town" | | 5 | "Road" | | 6 | "Limehouse" | | 7 | "Whitechapel" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 46 | | glossingSentenceCount | 3 | | matches | | 0 | "as if checking the sky" | | 1 | "not quite belong to the wall" | | 2 | "not quite read it, the letters somehow wrong" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1035 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 76 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 23 | | mean | 45 | | std | 31.76 | | cv | 0.706 | | sampleLengths | | 0 | 57 | | 1 | 64 | | 2 | 90 | | 3 | 6 | | 4 | 12 | | 5 | 77 | | 6 | 79 | | 7 | 68 | | 8 | 3 | | 9 | 12 | | 10 | 82 | | 11 | 5 | | 12 | 67 | | 13 | 100 | | 14 | 58 | | 15 | 21 | | 16 | 9 | | 17 | 33 | | 18 | 64 | | 19 | 23 | | 20 | 3 | | 21 | 75 | | 22 | 27 |
| |
| 90.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 72 | | matches | | 0 | "was hidden" | | 1 | "been killed" | | 2 | "was gone" | | 3 | "been allowed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 145 | | matches | | 0 | "was turning" | | 1 | "were drinking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 76 | | ratio | 0.053 | | matches | | 0 | "She kept her eyes on the back of his jacket — dark canvas, the hood torn at the seam — and forced her breath into a rhythm." | | 1 | "The moon was hidden behind cloud but she knew it was full tonight — she'd noted it that morning, because Morris had been killed on a full moon, and she noted full moons now the way other people noted birthdays." | | 2 | "He looked once, directly, over his shoulder at her — and she saw his face clearly for the first time, the scar on his forearm briefly visible where his sleeve had ridden up, his Saint Christopher medal caught on the outside of his shirt — and he stepped sideways, into what she had taken to be a brick wall." | | 3 | "Only her boots on the stone and, from somewhere below, the distant, unmistakable hum of a crowd — voices, laughter, the ring of coin on metal, a woman singing in a language Quinn did not know." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 975 | | adjectiveStacks | 1 | | stackExamples | | 0 | "great many sensible things," |
| | adverbCount | 36 | | adverbRatio | 0.036923076923076927 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.012307692307692308 | |
| 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 | 13.62 | | std | 12.52 | | cv | 0.919 | | sampleLengths | | 0 | 19 | | 1 | 38 | | 2 | 3 | | 3 | 5 | | 4 | 16 | | 5 | 40 | | 6 | 3 | | 7 | 25 | | 8 | 15 | | 9 | 27 | | 10 | 4 | | 11 | 16 | | 12 | 3 | | 13 | 3 | | 14 | 5 | | 15 | 7 | | 16 | 13 | | 17 | 16 | | 18 | 18 | | 19 | 3 | | 20 | 15 | | 21 | 1 | | 22 | 2 | | 23 | 9 | | 24 | 8 | | 25 | 19 | | 26 | 2 | | 27 | 10 | | 28 | 40 | | 29 | 7 | | 30 | 1 | | 31 | 1 | | 32 | 59 | | 33 | 3 | | 34 | 9 | | 35 | 3 | | 36 | 18 | | 37 | 3 | | 38 | 3 | | 39 | 31 | | 40 | 2 | | 41 | 9 | | 42 | 16 | | 43 | 5 | | 44 | 24 | | 45 | 4 | | 46 | 25 | | 47 | 14 | | 48 | 25 | | 49 | 11 |
| |
| 57.02% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.42105263157894735 | | totalSentences | 76 | | uniqueOpeners | 32 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 62 | | matches | | 0 | "Then Tomás pulled something from" | | 1 | "Then, faintly, very far away," | | 2 | "Only her boots on the" |
| | ratio | 0.048 | |
| 52.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 62 | | matches | | 0 | "He was fast." | | 1 | "She would give him that." | | 2 | "He'd slipped past the drunks" | | 3 | "Her left wrist ached where" | | 4 | "She kept her eyes on" | | 5 | "He didn't even glance back." | | 6 | "He'd heard her the first" | | 7 | "Her radio crackled under her" | | 8 | "He was turning." | | 9 | "She turned the corner and" | | 10 | "He was thirty yards ahead," | | 11 | "He looked up, and around," | | 12 | "He looked once, directly, over" | | 13 | "He was gone." | | 14 | "She closed the distance at" | | 15 | "It was wet." | | 16 | "It was solid." | | 17 | "She ran her hand along" | | 18 | "She had to look at" | | 19 | "She pressed the button on" |
| | ratio | 0.419 | |
| 40.65% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 62 | | matches | | 0 | "Rain came down in sheets" | | 1 | "Quinn ran through it with" | | 2 | "He was fast." | | 3 | "She would give him that." | | 4 | "A paramedic's body, lean and" | | 5 | "He'd slipped past the drunks" | | 6 | "Quinn's lungs burned." | | 7 | "Her left wrist ached where" | | 8 | "She kept her eyes on" | | 9 | "Morris had taught her that," | | 10 | "He didn't even glance back." | | 11 | "He'd heard her the first" | | 12 | "A black cab laid on" | | 13 | "Quinn skidded around the back" | | 14 | "Her radio crackled under her" | | 15 | "He was turning." | | 16 | "The kind of street where" | | 17 | "She turned the corner and" | | 18 | "He was thirty yards ahead," | | 19 | "He looked up, and around," |
| | ratio | 0.839 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 62 | | matches | (empty) | | ratio | 0 | |
| 75.89% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 3 | | matches | | 0 | "Quinn ran through it with her coat flapping open and her boots throwing up arcs of oily water, and ahead of her Tomás Herrera ran like a man who had been expect…" | | 1 | "He'd slipped past the drunks outside the kebab shop, vaulted a bike chained to a railing, and was now cutting across the traffic on Kentish Town Road with the e…" | | 2 | "He was thirty yards ahead, silhouetted against a streetlamp that guttered and flickered, and then he did something strange." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 4 | | uselessAdditionCount | 1 | | matches | | 0 | "She looked, the letters somehow wrong" |
| |
| 25.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 8 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0.5 | | effectiveRatio | 0.25 | |