| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 95.43% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1095 | | 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) | |
| 81.74% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1095 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "footsteps" | | 1 | "echoed" | | 2 | "pulsed" | | 3 | "trembled" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "eyes widened" | | 1 | "the air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 96 | | matches | | |
| 98.21% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 96 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 96 | | 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 | 1095 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 40 | | wordCount | 1095 | | uniqueNames | 18 | | maxNameDensity | 0.91 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 10 | | Raven | 1 | | Nest | 1 | | Herrera | 8 | | Saint | 1 | | Christopher | 1 | | Morris | 4 | | Wardour | 1 | | Street | 1 | | West | 1 | | End | 1 | | Camden | 3 | | Shoreditch | 1 | | Market | 2 | | Tube | 1 | | Veil | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" |
| | places | | 0 | "Soho" | | 1 | "Wardour" | | 2 | "Street" | | 3 | "West" | | 4 | "End" | | 5 | "Camden" | | 6 | "Shoreditch" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.913 | | wordCount | 1095 | | matches | | 0 | "not with surprise but with resignation" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 96 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 40.56 | | std | 28.19 | | cv | 0.695 | | sampleLengths | | 0 | 12 | | 1 | 90 | | 2 | 5 | | 3 | 87 | | 4 | 47 | | 5 | 84 | | 6 | 60 | | 7 | 51 | | 8 | 35 | | 9 | 56 | | 10 | 4 | | 11 | 51 | | 12 | 6 | | 13 | 3 | | 14 | 88 | | 15 | 4 | | 16 | 56 | | 17 | 35 | | 18 | 32 | | 19 | 28 | | 20 | 60 | | 21 | 62 | | 22 | 1 | | 23 | 28 | | 24 | 27 | | 25 | 17 | | 26 | 66 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 96 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 194 | | matches | | 0 | "was leading" | | 1 | "was buying" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 0 | | flaggedSentences | 0 | | totalSentences | 96 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1101 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.029064486830154404 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007266121707538601 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 96 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 96 | | mean | 11.41 | | std | 8.96 | | cv | 0.785 | | sampleLengths | | 0 | 12 | | 1 | 27 | | 2 | 25 | | 3 | 38 | | 4 | 5 | | 5 | 40 | | 6 | 23 | | 7 | 15 | | 8 | 9 | | 9 | 12 | | 10 | 23 | | 11 | 4 | | 12 | 8 | | 13 | 4 | | 14 | 12 | | 15 | 25 | | 16 | 38 | | 17 | 5 | | 18 | 13 | | 19 | 13 | | 20 | 29 | | 21 | 5 | | 22 | 7 | | 23 | 17 | | 24 | 5 | | 25 | 9 | | 26 | 6 | | 27 | 7 | | 28 | 11 | | 29 | 11 | | 30 | 3 | | 31 | 6 | | 32 | 4 | | 33 | 11 | | 34 | 6 | | 35 | 22 | | 36 | 2 | | 37 | 14 | | 38 | 1 | | 39 | 4 | | 40 | 10 | | 41 | 9 | | 42 | 13 | | 43 | 2 | | 44 | 10 | | 45 | 7 | | 46 | 6 | | 47 | 3 | | 48 | 15 | | 49 | 5 |
| |
| 40.63% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 16 | | diversityRatio | 0.34375 | | totalSentences | 96 | | uniqueOpeners | 33 | |
| 74.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 89 | | matches | | 0 | "Somewhere a vendor shouted in" | | 1 | "Then he turned back to" |
| | ratio | 0.022 | |
| 67.19% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 89 | | matches | | 0 | "She knew him by the" | | 1 | "He was 29, former paramedic," | | 2 | "She didn't know what they" | | 3 | "She suspected criminal activity." | | 4 | "She was not wrong, she" | | 5 | "He slipped into the rain" | | 6 | "She never took it off." | | 7 | "He moved fast for a" | | 8 | "He was leading her somewhere." | | 9 | "It ran in rivulets down" | | 10 | "Her sharp jaw was set." | | 11 | "She didn't want a collar" | | 12 | "She wanted to see where" | | 13 | "He turned north, away from" | | 14 | "She could call it in," | | 15 | "She crossed the alley before" | | 16 | "She paused at the top" | | 17 | "She had read about it" | | 18 | "It moved locations every full" | | 19 | "She had no token." |
| | ratio | 0.382 | |
| 21.80% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 78 | | totalSentences | 89 | | matches | | 0 | "Rain came down hard enough" | | 1 | "Detective Harlow Quinn kept her" | | 2 | "The distinctive green neon sign" | | 3 | "The bar was dim inside," | | 4 | "Tomás Herrera came out last." | | 5 | "She knew him by the" | | 6 | "He was 29, former paramedic," | | 7 | "Quinn had been building a" | | 8 | "She didn't know what they" | | 9 | "She suspected criminal activity." | | 10 | "She was not wrong, she" | | 11 | "Herrera didn't look back." | | 12 | "He slipped into the rain" | | 13 | "Quinn fell in half a" | | 14 | "The watch was old, a" | | 15 | "She never took it off." | | 16 | "He moved fast for a" | | 17 | "Quinn matched him without running," | | 18 | "He was leading her somewhere." | | 19 | "The rain was cold enough" |
| | ratio | 0.876 | |
| 56.18% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 89 | | matches | | 0 | "Now he provided off-the-books medical" |
| | ratio | 0.011 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 2 | | matches | | 0 | "She knew him by the file photos from the hospital board review, by the police sketch artist's notes, by the way he held his left arm close to his body as if the…" | | 1 | "A hidden supernatural black market that sold enchanted goods, banned alchemical substances, and information." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |