| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1896 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 60.44% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1896 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "treacherous" | | 1 | "measured" | | 2 | "pulse" | | 3 | "fractured" | | 4 | "footsteps" | | 5 | "stomach" | | 6 | "echo" | | 7 | "weight" | | 8 | "glistening" | | 9 | "gloom" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "The air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 143 | | matches | (empty) | |
| 82.92% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 4 | | narrationSentences | 143 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 145 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 18 | | totalWords | 1879 | | ratio | 0.01 | | matches | | 0 | "Requesting armed response to an illegal supernatural market beneath Camden. Yes, I said supernatural. No, I’m not drunk." |
| |
| 83.33% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 1 | | matches | | 0 | "Yes, I said supernatural." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 63 | | wordCount | 1810 | | uniqueNames | 26 | | maxNameDensity | 0.99 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | London | 3 | | Harlow | 2 | | Quinn | 18 | | Soho | 1 | | Raven | 3 | | Nest | 3 | | Morris | 7 | | Charing | 1 | | Cross | 1 | | Road | 1 | | Camden | 4 | | High | 1 | | Street | 1 | | Spanish | 1 | | Tube | 1 | | Veil | 1 | | Market | 1 | | North | 1 | | Saint | 1 | | Christopher | 1 | | Herrera | 1 | | Seville | 1 | | English | 1 | | Tomás | 4 | | One | 1 | | Detective | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Nest" | | 4 | "Morris" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Herrera" | | 8 | "Tomás" |
| | places | | 0 | "London" | | 1 | "Soho" | | 2 | "Charing" | | 3 | "Cross" | | 4 | "Road" | | 5 | "Camden" | | 6 | "High" | | 7 | "Street" | | 8 | "Spanish" | | 9 | "North" | | 10 | "Seville" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 113 | | glossingSentenceCount | 7 | | matches | | 0 | "felt like something alive pressing agai" | | 1 | "lines that seemed to writhe when the light moved across them" | | 2 | "quite human" | | 3 | "sounded like both prayer and threat, the w" | | 4 | "something like this" | | 5 | "looked like an old maintenance tunnel" | | 6 | "glow that seemed to pulse like a heartbeat" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1879 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 145 | | matches | | 0 | "watching that place" | | 1 | "screamed that this" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 52.19 | | std | 33.23 | | cv | 0.637 | | sampleLengths | | 0 | 101 | | 1 | 126 | | 2 | 106 | | 3 | 91 | | 4 | 74 | | 5 | 4 | | 6 | 88 | | 7 | 26 | | 8 | 12 | | 9 | 88 | | 10 | 52 | | 11 | 3 | | 12 | 97 | | 13 | 43 | | 14 | 87 | | 15 | 100 | | 16 | 56 | | 17 | 66 | | 18 | 48 | | 19 | 4 | | 20 | 67 | | 21 | 65 | | 22 | 50 | | 23 | 58 | | 24 | 12 | | 25 | 47 | | 26 | 23 | | 27 | 31 | | 28 | 26 | | 29 | 34 | | 30 | 4 | | 31 | 35 | | 32 | 23 | | 33 | 52 | | 34 | 64 | | 35 | 16 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 143 | | matches | | 0 | "been open" | | 1 | "been sucked" | | 2 | "been erected" |
| |
| 69.28% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 306 | | matches | | 0 | "was running" | | 1 | "was heading" | | 2 | "was talking" | | 3 | "was seeing" | | 4 | "were discussing" | | 5 | "was hiding" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 17 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 145 | | ratio | 0.083 | | matches | | 0 | "Quinn had spent three cold nights watching that place—its walls lined with yellowing maps and black-and-white photographs of forgotten London, its hidden back room accessible through a false bookshelf." | | 1 | "Her mind flashed—unbidden—to the night they found Morris." | | 2 | "He was heading for the old Tube entrance near the market—long abandoned, boarded up, condemned." | | 3 | "The smell that rose to meet her was old stone, mildew, and something sharper—incense, ozone, wet copper." | | 4 | "The narrow beam caught brick walls tagged with symbols that hurt to look at directly—circles inside circles, lines that seemed to writhe when the light moved across them." | | 5 | "Figures moved between the stalls—some human, most not." | | 6 | "A man—no, something wearing a man’s shape—sold vials of liquid that swirled with living constellations." | | 7 | "He was talking urgently to a vendor, passing over a small bone token—the same kind she now saw several patrons wearing on cords around their necks." | | 8 | "She slipped between two stalls, ignoring the merchant who hissed at her—his teeth too sharp, his tongue forked—and kept the suspect’s back in sight." | | 9 | "Small lights—bioluminescent fungi clinging to the bricks—cast an eerie green glow that reminded her too much of the Raven’s Nest sign above ground." | | 10 | "One of the others—a woman with hair like smoke—answered, “Then we give her something else to chase. Or we bring her down here. The market has ways of changing people’s minds.”" | | 11 | "She didn’t know what waited at the end of this tunnel—more answers, more danger, or something that might swallow her the way it had swallowed Morris." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1839 | | adjectiveStacks | 1 | | stackExamples | | 0 | "alive pressing against her" |
| | adverbCount | 59 | | adverbRatio | 0.032082653616095705 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.009244154431756389 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 145 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 145 | | mean | 12.96 | | std | 8.1 | | cv | 0.625 | | sampleLengths | | 0 | 18 | | 1 | 28 | | 2 | 24 | | 3 | 31 | | 4 | 6 | | 5 | 26 | | 6 | 6 | | 7 | 24 | | 8 | 29 | | 9 | 17 | | 10 | 18 | | 11 | 14 | | 12 | 6 | | 13 | 8 | | 14 | 11 | | 15 | 32 | | 16 | 14 | | 17 | 10 | | 18 | 7 | | 19 | 4 | | 20 | 8 | | 21 | 2 | | 22 | 6 | | 23 | 19 | | 24 | 3 | | 25 | 6 | | 26 | 6 | | 27 | 20 | | 28 | 5 | | 29 | 16 | | 30 | 18 | | 31 | 4 | | 32 | 18 | | 33 | 15 | | 34 | 19 | | 35 | 4 | | 36 | 7 | | 37 | 9 | | 38 | 11 | | 39 | 9 | | 40 | 17 | | 41 | 3 | | 42 | 17 | | 43 | 3 | | 44 | 2 | | 45 | 10 | | 46 | 5 | | 47 | 11 | | 48 | 10 | | 49 | 12 |
| |
| 41.61% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.30344827586206896 | | totalSentences | 145 | | uniqueOpeners | 44 | |
| 24.33% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 137 | | matches | | 0 | "Instead, she watched and memorized" |
| | ratio | 0.007 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 137 | | matches | | 0 | "Her breath came sharp and" | | 1 | "He cut left into an" | | 2 | "She had seen enough to" | | 3 | "Her left wrist ached where" | | 4 | "She pushed harder, shoulders squared," | | 5 | "He was fast, but Quinn" | | 6 | "She always had endurance." | | 7 | "Her mind flashed—unbidden—to the night" | | 8 | "She would have answers tonight," | | 9 | "They crossed Camden High Street," | | 10 | "He was heading for the" | | 11 | "He dove for it." | | 12 | "She yanked it aside, the" | | 13 | "Her stomach tightened." | | 14 | "She thought of Morris again." | | 15 | "Her boots slipped twice before" | | 16 | "She pulled a small torch" | | 17 | "She killed the torch and" | | 18 | "She moved along the edge" | | 19 | "Her military bearing kept her" |
| | ratio | 0.277 | |
| 51.24% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 112 | | totalSentences | 137 | | matches | | 0 | "The rain lashed London like" | | 1 | "Detective Harlow Quinn’s boots pounded" | | 2 | "Her breath came sharp and" | | 3 | "The suspect was thirty yards" | | 4 | "The words cracked through the" | | 5 | "The man didn’t even glance" | | 6 | "He cut left into an" | | 7 | "Quinn had spent three cold" | | 8 | "She had seen enough to" | | 9 | "Whatever they were into, it" | | 10 | "Her left wrist ached where" | | 11 | "The second hand ticked onward," | | 12 | "Every second let the suspect" | | 13 | "She pushed harder, shoulders squared," | | 14 | "The alley spat them out" | | 15 | "Neon from shuttered tattoo parlors" | | 16 | "The suspect’s footsteps slapped ahead" | | 17 | "He was fast, but Quinn" | | 18 | "She always had endurance." | | 19 | "Her mind flashed—unbidden—to the night" |
| | ratio | 0.818 | |
| 72.99% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 137 | | matches | | 0 | "Now it was something else" | | 1 | "Now he provided off-the-books care" |
| | ratio | 0.015 | |
| 17.86% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 80 | | technicalSentenceCount | 14 | | matches | | 0 | "Detective Harlow Quinn’s boots pounded through puddles that exploded around her ankles, her closely cropped salt-and-pepper hair plastered to her skull beneath …" | | 1 | "The suspect was thirty yards ahead, a lean shadow in a black coat, bolting north out of Soho with the panic of someone who knew exactly what he was running from…" | | 2 | "The way his eyes had been open but empty, as if something essential had been sucked out of him." | | 3 | "A woman with silver eyes bartered over a tray of small bones that clicked and shifted on their own." | | 4 | "A man—no, something wearing a man’s shape—sold vials of liquid that swirled with living constellations." | | 5 | "Banned alchemical substances, enchanted goods, information that could ruin lives or end them." | | 6 | "In a recessed archway that had once housed a waiting bench, a man sat slumped against the wall while another knelt beside him, working on a vicious wound across…" | | 7 | "Now he provided off-the-books care for exactly the kind of people who frequented places like this." | | 8 | "The decision clawed at her: press on alone into this territory that operated by rules she didn’t understand, or pull back, call for reinforcements that would ne…" | | 9 | "Better to observe a moment longer, gather proof that would stand up when she dragged this entire operation into the light." | | 10 | "She slipped between two stalls, ignoring the merchant who hissed at her—his teeth too sharp, his tongue forked—and kept the suspect’s back in sight." | | 11 | "She passed a stall selling maps that rewrote themselves while you watched, then another offering information written on the wings of living moths." | | 12 | "Small lights—bioluminescent fungi clinging to the bricks—cast an eerie green glow that reminded her too much of the Raven’s Nest sign above ground." | | 13 | "She didn’t know what waited at the end of this tunnel—more answers, more danger, or something that might swallow her the way it had swallowed Morris." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 7.14% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 7 | | tagDensity | 0.286 | | leniency | 0.571 | | rawRatio | 0.5 | | effectiveRatio | 0.286 | |