| 33.33% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said quietly [quietly]" |
| | dialogueSentences | 9 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.167 | | effectiveRatio | 0.167 | |
| 91.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1197 | | totalAiIsmAdverbs | 2 | | found | | 0 | | | 1 | | 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) | |
| 79.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1197 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "fractured" | | 1 | "weight" | | 2 | "streaming" | | 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 | 81 | | matches | (empty) | |
| 89.95% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 2 | | narrationSentences | 81 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 84 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 3 | | markdownWords | 6 | | totalWords | 1192 | | ratio | 0.005 | | matches | | 0 | "unexplained circumstances" | | 1 | "Go back." | | 2 | "unexplained circumstances" |
| |
| 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 | 23 | | wordCount | 1120 | | uniqueNames | 11 | | maxNameDensity | 0.63 | | worstName | "Quinn" | | maxWindowNameDensity | 1 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 1 | | Quinn | 7 | | Morris | 3 | | Herrera | 3 | | Soho | 1 | | Silas | 1 | | Vane | 1 | | Tube | 3 | | Saint | 1 | | Christopher | 1 | | Harlow | 1 |
| | persons | | 0 | "Quinn" | | 1 | "Morris" | | 2 | "Herrera" | | 3 | "Silas" | | 4 | "Vane" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Harlow" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like dried plants and the small wh" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.839 | | wordCount | 1192 | | matches | | 0 | "not in surrender, but in a small, urgent gesture" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 84 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 29 | | mean | 41.1 | | std | 29.65 | | cv | 0.721 | | sampleLengths | | 0 | 82 | | 1 | 19 | | 2 | 18 | | 3 | 63 | | 4 | 60 | | 5 | 75 | | 6 | 77 | | 7 | 5 | | 8 | 83 | | 9 | 21 | | 10 | 12 | | 11 | 102 | | 12 | 25 | | 13 | 82 | | 14 | 28 | | 15 | 3 | | 16 | 32 | | 17 | 76 | | 18 | 7 | | 19 | 78 | | 20 | 14 | | 21 | 29 | | 22 | 55 | | 23 | 56 | | 24 | 15 | | 25 | 27 | | 26 | 11 | | 27 | 15 | | 28 | 22 |
| |
| 87.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 81 | | matches | | 0 | "been bricked" | | 1 | "been open" | | 2 | "were hung" | | 3 | "was gone" |
| |
| 85.06% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 174 | | matches | | 0 | "was seeing" | | 1 | "was selling" | | 2 | "was paying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 84 | | ratio | 0.06 | | matches | | 0 | "The man in the dark jacket cut left around a shuttered kebab shop, and the green wash of a traffic light slid across his face for half a second—olive skin, a flash of something silver swinging at his throat." | | 1 | "The fluorescent buzz of the street gave way to something warmer and stranger—lanterns, she realized, actual flame in glass, throwing amber light across walls that should have been bare concrete but instead were hung with woven cloth and pinned with what looked like dried plants and the small white shapes of bones." | | 2 | "Beyond her, a hunched figure in a leather apron weighed something on a brass scale—teeth, Quinn thought, and refused to think it again." | | 3 | "And his face—that was the thing that snagged her, that stayed with her afterward." | | 4 | "He lifted one hand—not in surrender, but in a small, urgent gesture." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1131 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 32 | | adverbRatio | 0.028293545534924844 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.0035366931918656055 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 84 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 84 | | mean | 14.19 | | std | 10.55 | | cv | 0.743 | | sampleLengths | | 0 | 19 | | 1 | 24 | | 2 | 39 | | 3 | 2 | | 4 | 6 | | 5 | 11 | | 6 | 13 | | 7 | 5 | | 8 | 14 | | 9 | 30 | | 10 | 5 | | 11 | 14 | | 12 | 27 | | 13 | 3 | | 14 | 23 | | 15 | 3 | | 16 | 4 | | 17 | 7 | | 18 | 6 | | 19 | 35 | | 20 | 10 | | 21 | 2 | | 22 | 2 | | 23 | 2 | | 24 | 11 | | 25 | 17 | | 26 | 13 | | 27 | 23 | | 28 | 18 | | 29 | 6 | | 30 | 5 | | 31 | 9 | | 32 | 17 | | 33 | 26 | | 34 | 31 | | 35 | 7 | | 36 | 2 | | 37 | 12 | | 38 | 12 | | 39 | 11 | | 40 | 52 | | 41 | 39 | | 42 | 6 | | 43 | 19 | | 44 | 27 | | 45 | 23 | | 46 | 20 | | 47 | 12 | | 48 | 7 | | 49 | 21 |
| |
| 75.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 7 | | diversityRatio | 0.5 | | totalSentences | 84 | | uniqueOpeners | 42 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 73 | | matches | | 0 | "Just a closed casket, a" | | 1 | "Instead he looked at her" | | 2 | "Then the crowd folded around" |
| | ratio | 0.041 | |
| 93.97% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 73 | | matches | | 0 | "She ran low and hard," | | 1 | "She'd know that face anywhere" | | 2 | "Her voice tore through the" | | 3 | "He didn't even glance back." | | 4 | "She wasn't about to start" | | 5 | "He vaulted a low railing" | | 6 | "She hit the railing, swung" | | 7 | "She ignored it." | | 8 | "She slowed at the threshold," | | 9 | "You did not follow a" | | 10 | "She'd promised herself, standing at" | | 11 | "She stopped on the last" | | 12 | "Her cop's brain tried to" | | 13 | "he said, His gaze flicked" | | 14 | "He'd stopped maybe forty feet" | | 15 | "She'd expected the wide-eyed fear" | | 16 | "He lifted one hand—not in" | | 17 | "She thought of the closed" | | 18 | "She was certain of it" | | 19 | "She slid the warrant card" |
| | ratio | 0.315 | |
| 96.99% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 53 | | totalSentences | 73 | | matches | | 0 | "The rain came down in" | | 1 | "She ran low and hard," | | 2 | "The man in the dark" | | 3 | "She'd know that face anywhere" | | 4 | "Her voice tore through the" | | 5 | "He didn't even glance back." | | 6 | "She wasn't about to start" | | 7 | "Herrera was the loose stitch." | | 8 | "He vaulted a low railing" | | 9 | "Quinn's lungs burned." | | 10 | "She hit the railing, swung" | | 11 | "She ignored it." | | 12 | "Pain was just information." | | 13 | "The station entrance shouldn't have" | | 14 | "That was the first wrong" | | 15 | "The corrugated hoarding the council" | | 16 | "A sweetness underneath that made" | | 17 | "She slowed at the threshold," | | 18 | "Every instinct she'd built across" | | 19 | "You did not follow a" |
| | ratio | 0.726 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 73 | | matches | | 0 | "To stand at the top" | | 1 | "As though she were the" | | 2 | "As though he wanted to" |
| | ratio | 0.041 | |
| 45.45% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 6 | | matches | | 0 | "The corrugated hoarding the council had bolted across it stood peeled back like the lid of a tin, and beyond it a stairwell descended into a darkness that didn'…" | | 1 | "The fluorescent buzz of the street gave way to something warmer and stranger—lanterns, she realized, actual flame in glass, throwing amber light across walls th…" | | 2 | "At the bottom, where a Tube platform should have stretched, the space opened into something vast and impossible, a cavern of stalls and canvas and shifting bodi…" | | 3 | "A woman at the nearest stall was selling vials that glowed faintly blue, the liquid inside moving against the tilt of the glass instead of with it." | | 4 | "Nobody except the broad-shouldered man at the entry post, who looked up from his ledger and held out one flat palm." | | 5 | "The man looked at the card, then at her, and something in his expression curdled from boredom into a cold, narrow attention that made her grip tighten on the gu…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 9 | | tagDensity | 0.444 | | leniency | 0.889 | | rawRatio | 0 | | effectiveRatio | 0 | |