| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 2 | | adverbTags | | 0 | "Quinn finally asked [finally]" | | 1 | "A second investigator said simply [simply]" |
| | dialogueSentences | 28 | | tagDensity | 0.643 | | leniency | 1 | | rawRatio | 0.111 | | effectiveRatio | 0.111 | |
| 94.53% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 914 | | 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) | |
| 67.18% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 914 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "standard" | | 1 | "transfixed" | | 2 | "whisper" | | 3 | "traced" | | 4 | "flicked" | | 5 | "complex" |
| |
| 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 | 1 | | narrationSentences | 52 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 52 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 59 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 913 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 30.42% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 669 | | uniqueNames | 13 | | maxNameDensity | 2.39 | | worstName | "Quinn" | | maxWindowNameDensity | 4 | | worstWindowName | "Quinn" | | discoveredNames | | Harlow | 1 | | Quinn | 16 | | Tube | 2 | | Camden | 1 | | Town | 1 | | Wright | 10 | | Detailed | 1 | | Veil | 2 | | Market | 2 | | Morris | 1 | | Thankfully | 1 | | Students | 2 | | Pointed | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Wright" | | 3 | "Market" | | 4 | "Morris" |
| | places | | | globalScore | 0.304 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 39 | | 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 | 913 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 59 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 25 | | mean | 36.52 | | std | 22.62 | | cv | 0.619 | | sampleLengths | | 0 | 51 | | 1 | 94 | | 2 | 19 | | 3 | 29 | | 4 | 2 | | 5 | 43 | | 6 | 60 | | 7 | 8 | | 8 | 46 | | 9 | 40 | | 10 | 14 | | 11 | 23 | | 12 | 21 | | 13 | 45 | | 14 | 16 | | 15 | 59 | | 16 | 36 | | 17 | 25 | | 18 | 52 | | 19 | 18 | | 20 | 20 | | 21 | 38 | | 22 | 18 | | 23 | 90 | | 24 | 46 |
| |
| 98.52% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 52 | | matches | | |
| 80.95% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 112 | | matches | | 0 | "was already moving" | | 1 | "was proving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 1 | | semicolonCount | 2 | | flaggedSentences | 3 | | totalSentences | 59 | | ratio | 0.051 | | matches | | 0 | "This particular station had a third element—a sharp, almost metallic tang that made her nostrils flare with the memory of blood on old paperwork." | | 1 | "Her military training kicked in; stay alert, stay detached, and see beyond obvious explanations." | | 2 | "She was already moving, the worn leather of her jacket whispering against ancient concrete as Quinn melted into the underbelly darkness, where answers lie waiting along spiderways and below normal sights. The Veil Market's compass needle Pointed into darkness; Quinn was proving its worth at last." |
| |
| 98.82% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 467 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 18 | | adverbRatio | 0.03854389721627409 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.021413276231263382 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 59 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 59 | | mean | 15.47 | | std | 11.19 | | cv | 0.723 | | sampleLengths | | 0 | 15 | | 1 | 4 | | 2 | 1 | | 3 | 2 | | 4 | 6 | | 5 | 22 | | 6 | 1 | | 7 | 21 | | 8 | 19 | | 9 | 24 | | 10 | 30 | | 11 | 8 | | 12 | 11 | | 13 | 23 | | 14 | 6 | | 15 | 2 | | 16 | 10 | | 17 | 22 | | 18 | 11 | | 19 | 7 | | 20 | 21 | | 21 | 18 | | 22 | 14 | | 23 | 8 | | 24 | 17 | | 25 | 29 | | 26 | 7 | | 27 | 11 | | 28 | 10 | | 29 | 11 | | 30 | 1 | | 31 | 14 | | 32 | 23 | | 33 | 14 | | 34 | 7 | | 35 | 12 | | 36 | 16 | | 37 | 17 | | 38 | 13 | | 39 | 3 | | 40 | 11 | | 41 | 29 | | 42 | 19 | | 43 | 36 | | 44 | 20 | | 45 | 5 | | 46 | 52 | | 47 | 18 | | 48 | 10 | | 49 | 10 |
| |
| 98.31% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.711864406779661 | | totalSentences | 59 | | uniqueOpeners | 42 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 46 | | matches | | 0 | "Almost as if they were" | | 1 | "Thankfully, Quinn was immune to" | | 2 | "Somewhere in this has been" |
| | ratio | 0.065 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 8 | | totalSentences | 46 | | matches | | 0 | "Her fingers flexed, remembering the" | | 1 | "He pointed to a curious" | | 2 | "Her military training kicked in;" | | 3 | "she asked, voice dry as" | | 4 | "She knelt beside the compass," | | 5 | "You'll want to see" | | 6 | "They didn't die of drugs." | | 7 | "She was already moving, the" |
| | ratio | 0.174 | |
| 46.96% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 38 | | totalSentences | 46 | | matches | | 0 | "Detective Harlow Quinn's worn leather" | | 1 | "An abandoned Tube station." | | 2 | "That's all the dispatcher had" | | 3 | "Her fingers flexed, remembering the" | | 4 | "The moment she descended into" | | 5 | "Tube stations have a particular" | | 6 | "This particular station had a" | | 7 | "The scene looked amateurish to" | | 8 | "Quinn asked without preamble" | | 9 | "The figure didn't turn immediately," | | 10 | "Wright straightened, revealing a wiry" | | 11 | "Wright gestured to the nearest" | | 12 | "He pointed to a curious" | | 13 | "Quinn's eyes, however, zeroed in" | | 14 | "Her military training kicked in;" | | 15 | "she asked, voice dry as" | | 16 | "Wright kept pace as Quinn" | | 17 | "The edge of a torn" | | 18 | "Chalk dust mixing inconsistently with" | | 19 | "Quinn finally asked, circling back" |
| | ratio | 0.826 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 46 | | matches | (empty) | | ratio | 0 | |
| 67.67% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 19 | | technicalSentenceCount | 2 | | matches | | 0 | "This particular station had a third element—a sharp, almost metallic tang that made her nostrils flare with the memory of blood on old paperwork." | | 1 | "Thankfully, Quinn was immune to period drama. Her eyes swept the walls looking for scratch marks. Mostly metal engravings faded, oxidized over decades. There. N…" |
| |
| 66.18% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 17 | | uselessAdditionCount | 2 | | matches | | 0 | "she asked, voice dry as old bread" | | 1 | "Quinn finished, her voice tight" |
| |
| 78.57% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 2 | | fancyTags | | 0 | "Wright commented (comment)" | | 1 | "Wright breathed (breathe)" |
| | dialogueSentences | 28 | | tagDensity | 0.214 | | leniency | 0.429 | | rawRatio | 0.333 | | effectiveRatio | 0.143 | |