| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 20 | | tagDensity | 0.35 | | leniency | 0.7 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.40% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1087 | | totalAiIsmAdverbs | 1 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
|
| | 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) | |
| 77.00% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1087 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "glint" | | 1 | "standard" | | 2 | "electric" | | 3 | "flicked" |
| |
| 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 | 83 | | matches | (empty) | |
| 91.22% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 83 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 95 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1081 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 20 | | wordCount | 943 | | uniqueNames | 12 | | maxNameDensity | 0.64 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | High | 1 | | Street | 2 | | Harlow | 1 | | Quinn | 6 | | Inverness | 1 | | Morris | 3 | | Underground | 1 | | Tube | 1 | | Herself | 1 | | Vauxhall | 1 | | Tomás | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Morris" | | 3 | "Tomás" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Inverness" | | 4 | "Herself" | | 5 | "Vauxhall" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 1 | | matches | | 0 | "city that seemed to fold away whenever she got close, like a card sliding back into a deck" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1081 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 95 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 24.02 | | std | 20.88 | | cv | 0.869 | | sampleLengths | | 0 | 36 | | 1 | 14 | | 2 | 5 | | 3 | 54 | | 4 | 31 | | 5 | 9 | | 6 | 33 | | 7 | 10 | | 8 | 10 | | 9 | 47 | | 10 | 31 | | 11 | 8 | | 12 | 11 | | 13 | 34 | | 14 | 49 | | 15 | 11 | | 16 | 7 | | 17 | 40 | | 18 | 66 | | 19 | 13 | | 20 | 4 | | 21 | 53 | | 22 | 6 | | 23 | 3 | | 24 | 93 | | 25 | 11 | | 26 | 33 | | 27 | 16 | | 28 | 6 | | 29 | 59 | | 30 | 13 | | 31 | 50 | | 32 | 28 | | 33 | 5 | | 34 | 4 | | 35 | 37 | | 36 | 37 | | 37 | 1 | | 38 | 20 | | 39 | 3 | | 40 | 4 | | 41 | 41 | | 42 | 2 | | 43 | 6 | | 44 | 27 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 83 | | matches | | |
| 36.40% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 163 | | matches | | 0 | "was watching" | | 1 | "was talking" | | 2 | "was never letting" | | 3 | "was already moving" |
| |
| 22.56% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 95 | | ratio | 0.042 | | matches | | 0 | "A hood, a long dark jacket, something clutched against the chest—she'd catalogued all of it in the first thirty seconds outside the pawnshop on Inverness Street, when she'd seen the exchange go wrong and the glint of something that wasn't money change hands." | | 1 | "This—right here, this oiled hinge and these voices underground—was the closest she'd come." | | 2 | "Figures moved between them—too many figures, packed into a space that should have been silent for sixty years." | | 3 | "For one suspended heartbeat the hood fell back and Quinn saw a face—and the face saw her, and recognition passed between them like a current." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 953 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.02833158447009444 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.0062959076600209865 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 95 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 95 | | mean | 11.38 | | std | 9.45 | | cv | 0.831 | | sampleLengths | | 0 | 17 | | 1 | 19 | | 2 | 14 | | 3 | 5 | | 4 | 7 | | 5 | 4 | | 6 | 43 | | 7 | 3 | | 8 | 28 | | 9 | 9 | | 10 | 7 | | 11 | 4 | | 12 | 22 | | 13 | 6 | | 14 | 4 | | 15 | 3 | | 16 | 7 | | 17 | 36 | | 18 | 11 | | 19 | 4 | | 20 | 27 | | 21 | 8 | | 22 | 9 | | 23 | 2 | | 24 | 2 | | 25 | 6 | | 26 | 26 | | 27 | 4 | | 28 | 26 | | 29 | 1 | | 30 | 5 | | 31 | 13 | | 32 | 3 | | 33 | 8 | | 34 | 3 | | 35 | 2 | | 36 | 2 | | 37 | 7 | | 38 | 23 | | 39 | 10 | | 40 | 34 | | 41 | 4 | | 42 | 5 | | 43 | 23 | | 44 | 13 | | 45 | 4 | | 46 | 22 | | 47 | 12 | | 48 | 3 | | 49 | 2 |
| |
| 76.49% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.5157894736842106 | | totalSentences | 95 | | uniqueOpeners | 49 | |
| 46.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 72 | | matches | | | ratio | 0.014 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 17 | | totalSentences | 72 | | matches | | 0 | "Her lungs burned." | | 1 | "Her quarry vaulted a low" | | 2 | "She wasn't sure who she" | | 3 | "Her radio crackled." | | 4 | "She thumbed it." | | 5 | "She'd written the manual into" | | 6 | "She killed the radio." | | 7 | "She kept her hand near" | | 8 | "She'd walked into rooms full" | | 9 | "Her runner was already three" | | 10 | "His eyes flicked to the" | | 11 | "She pulled her arm free" | | 12 | "He kept his voice low," | | 13 | "She watched the hooded figure" | | 14 | "He glanced at the medallion," | | 15 | "She knew that face." | | 16 | "She'd known it three years" |
| | ratio | 0.236 | |
| 71.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 72 | | matches | | 0 | "Detective Harlow Quinn ran with" | | 1 | "The words bounced off brick" | | 2 | "The runner didn't slow." | | 3 | "A hood, a long dark" | | 4 | "Her lungs burned." | | 5 | "The thought of Morris put" | | 6 | "The alley narrowed, walls weeping" | | 7 | "Bin bags split underfoot." | | 8 | "Her quarry vaulted a low" | | 9 | "The runner knew exactly where" | | 10 | "The alley dead-ended at a" | | 11 | "A faded sign hung sideways:" | | 12 | "The figure didn't hesitate." | | 13 | "A board that should have" | | 14 | "Quinn reached the barrier and" | | 15 | "She wasn't sure who she" | | 16 | "The board hung open." | | 17 | "Music with an off-kilter rhythm." | | 18 | "The clink of glass and" | | 19 | "Her radio crackled." |
| | ratio | 0.778 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 72 | | matches | (empty) | | ratio | 0 | |
| 20.41% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 6 | | matches | | 0 | "Detective Harlow Quinn ran with her coat snapping behind her, boots slamming through puddles that swallowed the streetlight whole." | | 1 | "A hood, a long dark jacket, something clutched against the chest—she'd catalogued all of it in the first thirty seconds outside the pawnshop on Inverness Street…" | | 2 | "The alley dead-ended at a chain-link barrier and beyond it the squat brick mouth of a disused Underground entrance, the kind boarded over decades ago and forgot…" | | 3 | "Behind it, a staircase descended into a throat of blackness, and from somewhere far below came a sound that had no business under a dead station." | | 4 | "Stalls crowded the tracks and the platform, jury-rigged from packing crates and old doors and lengths of tarp, each lit by lanterns that held no flame she recog…" | | 5 | "But she was already moving, shouldering past the man weighing teeth, past the bottled smoke, her hand leaving her holster because down here a gun meant nothing …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 3 | | fancyTags | | 0 | "she shouted (shout)" | | 1 | "he murmured (murmur)" | | 2 | "she breathed (breathe)" |
| | dialogueSentences | 20 | | tagDensity | 0.15 | | leniency | 0.3 | | rawRatio | 1 | | effectiveRatio | 0.3 | |