| 82.35% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 6 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said quietly [quietly]" |
| | dialogueSentences | 17 | | tagDensity | 0.353 | | leniency | 0.706 | | rawRatio | 0.167 | | effectiveRatio | 0.118 | |
| 96.74% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1533 | | 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) | |
| 86.95% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1533 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "chill" | | 1 | "predictable" | | 2 | "echoing" | | 3 | "pumping" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 2 | | maxInWindow | 2 | | found | | 0 | | label | "blood ran cold" | | count | 1 |
| | 1 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | 0 | "blood went cold" | | 1 | "eyes narrowed" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 130 | | matches | (empty) | |
| 98.90% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 0 | | narrationSentences | 130 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 140 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 72 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1537 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 73 | | wordCount | 1420 | | uniqueNames | 28 | | maxNameDensity | 1.34 | | worstName | "Quinn" | | maxWindowNameDensity | 3 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 19 | | Raven | 1 | | Nest | 4 | | Old | 2 | | Compton | 1 | | Met | 1 | | Herrera | 12 | | Saint | 2 | | Christopher | 2 | | Peckham | 1 | | Shaftesbury | 1 | | Avenue | 1 | | Seville-born | 1 | | London-tired | 1 | | Market | 2 | | Camden | 4 | | Berwick | 1 | | Street | 2 | | High | 1 | | Morris | 2 | | Tube | 3 | | Tomás | 2 | | Transport | 1 | | London | 2 | | Veil | 1 | | Town | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Nest" | | 4 | "Herrera" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Market" | | 8 | "Morris" | | 9 | "Tomás" |
| | places | | 0 | "Soho" | | 1 | "Old" | | 2 | "Compton" | | 3 | "Peckham" | | 4 | "Shaftesbury" | | 5 | "Avenue" | | 6 | "Seville-born" | | 7 | "London-tired" | | 8 | "Camden" | | 9 | "Berwick" | | 10 | "Street" | | 11 | "High" | | 12 | "London" | | 13 | "Town" |
| | globalScore | 0.831 | | windowScore | 0.667 | |
| 58.54% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 82 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like inside if you were a tourist" | | 1 | "looked like a cut-out" | | 2 | "not quite a woman — her eyes reflected too much when Quinn's torch hit them" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1537 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 140 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 26.96 | | std | 22.06 | | cv | 0.818 | | sampleLengths | | 0 | 15 | | 1 | 72 | | 2 | 8 | | 3 | 74 | | 4 | 5 | | 5 | 88 | | 6 | 7 | | 7 | 62 | | 8 | 14 | | 9 | 41 | | 10 | 32 | | 11 | 37 | | 12 | 11 | | 13 | 9 | | 14 | 37 | | 15 | 7 | | 16 | 46 | | 17 | 4 | | 18 | 5 | | 19 | 60 | | 20 | 6 | | 21 | 63 | | 22 | 59 | | 23 | 41 | | 24 | 36 | | 25 | 3 | | 26 | 54 | | 27 | 15 | | 28 | 5 | | 29 | 16 | | 30 | 10 | | 31 | 38 | | 32 | 5 | | 33 | 44 | | 34 | 18 | | 35 | 44 | | 36 | 30 | | 37 | 5 | | 38 | 16 | | 39 | 9 | | 40 | 33 | | 41 | 15 | | 42 | 30 | | 43 | 11 | | 44 | 21 | | 45 | 8 | | 46 | 53 | | 47 | 14 | | 48 | 4 | | 49 | 20 |
| |
| 91.77% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 130 | | matches | | 0 | "been stitched" | | 1 | "been struck" | | 2 | "were gone" | | 3 | "get rained" | | 4 | "being traded" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 260 | | matches | | 0 | "was pretending" | | 1 | "was screaming" | | 2 | "was underselling" |
| |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 2 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 140 | | ratio | 0.014 | | matches | | 0 | "Guarding the curtain was a woman in a high-vis vest who was not quite a woman — her eyes reflected too much when Quinn's torch hit them." | | 1 | "Beyond it, The Veil Market spread out across the old platforms, impossible and loud and teeming — stalls lit by jars of light that had no wick, tables piled with enchanted goods and banned alchemical substances in stoppered vials, information being traded in whispers over paper cups of something steaming black, the whole abandoned station repurposed and alive, right under Camden Town, moving locations every full moon so it could never be mapped." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 495 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 14 | | adverbRatio | 0.028282828282828285 | | lyAdverbCount | 2 | | lyAdverbRatio | 0.00404040404040404 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 140 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 140 | | mean | 10.98 | | std | 10.41 | | cv | 0.949 | | sampleLengths | | 0 | 8 | | 1 | 7 | | 2 | 21 | | 3 | 27 | | 4 | 24 | | 5 | 8 | | 6 | 8 | | 7 | 12 | | 8 | 21 | | 9 | 17 | | 10 | 5 | | 11 | 11 | | 12 | 5 | | 13 | 2 | | 14 | 24 | | 15 | 12 | | 16 | 36 | | 17 | 14 | | 18 | 7 | | 19 | 10 | | 20 | 25 | | 21 | 9 | | 22 | 18 | | 23 | 4 | | 24 | 6 | | 25 | 4 | | 26 | 15 | | 27 | 4 | | 28 | 2 | | 29 | 1 | | 30 | 12 | | 31 | 7 | | 32 | 9 | | 33 | 23 | | 34 | 16 | | 35 | 3 | | 36 | 18 | | 37 | 11 | | 38 | 2 | | 39 | 7 | | 40 | 14 | | 41 | 17 | | 42 | 3 | | 43 | 3 | | 44 | 7 | | 45 | 7 | | 46 | 14 | | 47 | 11 | | 48 | 8 | | 49 | 6 |
| |
| 66.19% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.4357142857142857 | | totalSentences | 140 | | uniqueOpeners | 61 | |
| 84.75% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 118 | | matches | | 0 | "Then his phone buzzed loud" | | 1 | "Potentially dangerous was underselling it." | | 2 | "Instead, he reached out and" |
| | ratio | 0.025 | |
| 84.41% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 40 | | totalSentences | 118 | | matches | | 0 | "It hammered Soho in cold" | | 1 | "She'd been watching the Nest" | | 2 | "She'd logged six of them." | | 3 | "He moved like a man" | | 4 | "He cut south, toward Shaftesbury" | | 5 | "She pushed off the doorway" | | 6 | "Her left wrist itched under" | | 7 | "It made them predictable." | | 8 | "He turned into a side" | | 9 | "Her breath fogged for half" | | 10 | "Her brown eyes never left" | | 11 | "He stopped under a fire" | | 12 | "His voice was low, accented," | | 13 | "He broke into a jog," | | 14 | "He heard her on the" | | 15 | "His head snapped around and" | | 16 | "He knew a cop when" | | 17 | "He didn't stop." | | 18 | "It was a lie." | | 19 | "She wanted him to sit" |
| | ratio | 0.339 | |
| 82.88% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 89 | | totalSentences | 118 | | matches | | 0 | "The rain had been falling" | | 1 | "It hammered Soho in cold" | | 2 | "Detective Harlow Quinn watched it" | | 3 | "She'd been watching the Nest" | | 4 | "That was what it looked" | | 5 | "A place where people came" | | 6 | "She'd logged six of them." | | 7 | "Tonight, one had come out." | | 8 | "Quinn knew his face from" | | 9 | "He moved like a man" | | 10 | "Quinn let him get half" | | 11 | "He cut south, toward Shaftesbury" | | 12 | "She pushed off the doorway" | | 13 | "Rain ran down her sharp" | | 14 | "Her left wrist itched under" | | 15 | "Herrera didn't look back." | | 16 | "Amateurs thought that made them" | | 17 | "It made them predictable." | | 18 | "He turned into a side" | | 19 | "Quinn shortened the distance." |
| | ratio | 0.754 | |
| 42.37% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 118 | | matches | | 0 | "If you were Quinn, with" |
| | ratio | 0.008 | |
| 35.04% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 53 | | technicalSentenceCount | 8 | | matches | | 0 | "He moved like a man who was late, checking his phone, checking the street." | | 1 | "A missed step, her boot slipping on a manhole cover, the sharp clap echoing." | | 2 | "The chase went loud then, past kebab shops still open, past couples huddled under umbrellas who jumped out of the way." | | 3 | "Herrera was younger, faster, but Quinn had military precision in her bones and rage in her lungs and she cut corners he didn't, vaulting a low wall where he wen…" | | 4 | "Quinn got to the gate and stopped, her chest heaving, rain pouring off her chin." | | 5 | "Guarding the curtain was a woman in a high-vis vest who was not quite a woman — her eyes reflected too much when Quinn's torch hit them." | | 6 | "Beyond it, The Veil Market spread out across the old platforms, impossible and loud and teeming — stalls lit by jars of light that had no wick, tables piled wit…" | | 7 | "She followed Herrera down into the light, her boots hitting tile that was no longer tile, her watch ticking loudly against her left wrist, counting down." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 6 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 91.18% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | 0 | "he whispered (whisper)" |
| | dialogueSentences | 17 | | tagDensity | 0.294 | | leniency | 0.588 | | rawRatio | 0.2 | | effectiveRatio | 0.118 | |