| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 8 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.364 | | leniency | 0.727 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.45% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1100 | | 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) | |
| 27.27% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1100 | | totalAiIsms | 16 | | found | | 0 | | word | "the last thing" | | count | 1 |
| | 1 | | | 2 | | | 3 | | word | "down her spine" | | count | 1 |
| | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | |
| | highlights | | 0 | "the last thing" | | 1 | "loomed" | | 2 | "chill" | | 3 | "down her spine" | | 4 | "gloom" | | 5 | "glint" | | 6 | "stomach" | | 7 | "tracing" | | 8 | "jaw clenched" | | 9 | "glinting" | | 10 | "etched" | | 11 | "navigate" | | 12 | "raced" | | 13 | "could feel" | | 14 | "familiar" | | 15 | "weight" |
| |
| 33.33% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 3 | | maxInWindow | 3 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
| | 1 | | label | "jaw/fists clenched" | | count | 1 |
| | 2 | | label | "sent a shiver through" | | count | 1 |
|
| | highlights | | 0 | "eyes widened" | | 1 | "jaw clenched" | | 2 | "sent a chill down" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 88 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 88 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 101 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 8 | | totalWords | 1090 | | ratio | 0.007 | | matches | | 0 | "Camden Town Station" | | 1 | "noticed" | | 2 | "market" | | 3 | "lack" | | 4 | "people" | | 5 | "them" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.18% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 51 | | wordCount | 856 | | uniqueNames | 13 | | maxNameDensity | 2.34 | | worstName | "Quinn" | | maxWindowNameDensity | 4 | | worstWindowName | "Quinn" | | discoveredNames | | Tube | 1 | | Camden | 2 | | Detective | 1 | | Harlow | 1 | | Quinn | 20 | | Town | 1 | | Kowalski | 1 | | Ancient | 1 | | History | 1 | | Veil | 3 | | Market | 3 | | London | 1 | | Eva | 15 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Kowalski" | | 3 | "History" | | 4 | "Market" | | 5 | "Eva" |
| | places | | 0 | "Camden" | | 1 | "Town" | | 2 | "Ancient" | | 3 | "London" |
| | globalScore | 0.332 | | windowScore | 0.333 | |
| 16.07% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 3 | | matches | | 0 | "as if trying to disappear" | | 1 | "as if reaching for something just out of reach" | | 2 | "eyes that seemed to see right through you" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1090 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 101 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 36 | | mean | 30.28 | | std | 24.52 | | cv | 0.81 | | sampleLengths | | 0 | 80 | | 1 | 76 | | 2 | 46 | | 3 | 73 | | 4 | 67 | | 5 | 48 | | 6 | 23 | | 7 | 17 | | 8 | 4 | | 9 | 65 | | 10 | 8 | | 11 | 63 | | 12 | 5 | | 13 | 33 | | 14 | 10 | | 15 | 63 | | 16 | 8 | | 17 | 25 | | 18 | 13 | | 19 | 71 | | 20 | 5 | | 21 | 19 | | 22 | 13 | | 23 | 10 | | 24 | 24 | | 25 | 20 | | 26 | 20 | | 27 | 16 | | 28 | 38 | | 29 | 2 | | 30 | 38 | | 31 | 28 | | 32 | 45 | | 33 | 6 | | 34 | 4 | | 35 | 4 |
| |
| 97.29% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 88 | | matches | | 0 | "was supposed" | | 1 | "were splayed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 155 | | matches | | 0 | "wasn’t pointing" | | 1 | "wasn’t pointing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 9 | | totalSentences | 101 | | ratio | 0.089 | | matches | | 0 | "That was the word Detective Harlow Quinn had gotten from the precinct—no bodies, no signs of struggle, just a routine call about a disturbance in a restricted area." | | 1 | "The last thing she needed was a civilian—especially one with a master’s in Ancient History—complicating her case." | | 2 | "The station’s arched ceiling loomed above them, its ribs of concrete cracked and sagging, the air thick with the metallic tang of old blood and something else—something sharp, like ozone after a storm." | | 3 | "It wasn’t on any official map, but whispers of it had been creeping into the underbelly of London for years—a black market for the supernatural, where enchanted goods and forbidden knowledge changed hands under the cover of darkness." | | 4 | "The evidence was in the details—the way the shadows pooled unnaturally in the corners, the faint hum of energy that prickled the hairs on the back of her neck." | | 5 | "The tracks ran empty, the platforms littered with debris—broken crates, discarded bottles, the occasional glint of something metallic." | | 6 | "The flashlight caught something glinting at the victim’s throat—a thin silver chain, the end of it a small, oddly shaped pendant." | | 7 | "She could feel it—the presence of something else in this place." | | 8 | "She unfolded it carefully, revealing a sketch—crude, but clear." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 866 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 26 | | adverbRatio | 0.03002309468822171 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.009237875288683603 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 101 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 101 | | mean | 10.79 | | std | 8.39 | | cv | 0.777 | | sampleLengths | | 0 | 13 | | 1 | 28 | | 2 | 39 | | 3 | 23 | | 4 | 15 | | 5 | 9 | | 6 | 12 | | 7 | 17 | | 8 | 13 | | 9 | 33 | | 10 | 20 | | 11 | 29 | | 12 | 24 | | 13 | 9 | | 14 | 3 | | 15 | 9 | | 16 | 38 | | 17 | 5 | | 18 | 3 | | 19 | 19 | | 20 | 29 | | 21 | 6 | | 22 | 17 | | 23 | 7 | | 24 | 10 | | 25 | 3 | | 26 | 1 | | 27 | 14 | | 28 | 18 | | 29 | 10 | | 30 | 6 | | 31 | 5 | | 32 | 6 | | 33 | 6 | | 34 | 8 | | 35 | 17 | | 36 | 12 | | 37 | 6 | | 38 | 28 | | 39 | 5 | | 40 | 9 | | 41 | 8 | | 42 | 3 | | 43 | 4 | | 44 | 1 | | 45 | 1 | | 46 | 7 | | 47 | 10 | | 48 | 30 | | 49 | 9 |
| |
| 43.23% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.3069306930693069 | | totalSentences | 101 | | uniqueOpeners | 31 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 80 | | matches | | 0 | "She was the one who’d" | | 1 | "She held up a crumpled" | | 2 | "It wasn’t on any official" | | 3 | "It was the *lack* of" | | 4 | "She flipped it open, her" | | 5 | "She didn’t like the sound" | | 6 | "She stood, brushing the dust" | | 7 | "It was a compass, small" | | 8 | "It wasn’t pointing anywhere." | | 9 | "It was just…" | | 10 | "It didn’t add up." | | 11 | "She turned to Eva, her" | | 12 | "She stepped back, her flashlight" | | 13 | "She could feel it—the presence" | | 14 | "She had a case to" | | 15 | "She turned to Eva, her" | | 16 | "She unfolded it carefully, revealing" | | 17 | "She knew that face." | | 18 | "It was her own." |
| | ratio | 0.238 | |
| 47.50% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 66 | | totalSentences | 80 | | matches | | 0 | "The abandoned Tube station at" | | 1 | "That was the word Detective" | | 2 | "Eva Kowalski stood near the" | | 3 | "She was the one who’d" | | 4 | "Eva had a habit of" | | 5 | "That was why Quinn had" | | 6 | "The last thing she needed" | | 7 | "Quinn asked, her voice low," | | 8 | "The station’s arched ceiling loomed" | | 9 | "Eva tucked a strand of" | | 10 | "She held up a crumpled" | | 11 | "Quinn exhaled through her nose," | | 12 | "The Veil Market." | | 13 | "A name that sent a" | | 14 | "It wasn’t on any official" | | 15 | "Quinn asked, though she already" | | 16 | "The evidence was in the" | | 17 | "Eva shrugged, her freckled cheeks" | | 18 | "Quinn cut her off with" | | 19 | "Eva’s breath hitched." |
| | ratio | 0.825 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 47.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 30 | | technicalSentenceCount | 4 | | matches | | 0 | "But the moment she stepped beneath the rusted sign that read *Camden Town Station* in faded, peeling letters, her boots crunching over broken glass and the scen…" | | 1 | "The evidence was in the details—the way the shadows pooled unnaturally in the corners, the faint hum of energy that prickled the hairs on the back of her neck." | | 2 | "But it wasn’t the debris that made her stomach clench." | | 3 | "The flashlight beam caught the pale skin, the dark smudges under the eyes, the way the fingers were splayed as if reaching for something just out of reach." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 8 | | uselessAdditionCount | 3 | | matches | | 0 | "Quinn asked, her voice low, sharp" | | 1 | "She held up, the ink smudged as if from hurried fingers" | | 2 | "Eva whispered, her voice tight" |
| |
| 13.64% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 3 | | fancyTags | | 0 | "Eva whispered (whisper)" | | 1 | "Eva murmured (murmur)" | | 2 | "Quinn muttered (mutter)" |
| | dialogueSentences | 22 | | tagDensity | 0.273 | | leniency | 0.545 | | rawRatio | 0.5 | | effectiveRatio | 0.273 | |