| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 82.37% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1418 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "quickly" | | 1 | "nervously" | | 2 | "perfectly" | | 3 | "slightly" | | 4 | "slowly" |
| |
| 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) | |
| 47.11% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1418 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "electric" | | 1 | "gloom" | | 2 | "measured" | | 3 | "shimmered" | | 4 | "weight" | | 5 | "chill" | | 6 | "methodical" | | 7 | "etched" | | 8 | "crystal" | | 9 | "magnetic" | | 10 | "trembled" | | 11 | "firmly" | | 12 | "standard" | | 13 | "could feel" |
| |
| 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 | 106 | | matches | (empty) | |
| 75.47% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 1 | | narrationSentences | 106 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 47 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1414 | | ratio | 0 | | matches | (empty) | |
| 0.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 9 | | matches | | 0 | "You took your time, Detective, Eva said, immediately reaching up with a gloved hand to tuck a stray coil of curly red ha…" | | 1 | "Give me the preliminary, Quinn said, her voice dry and low." | | 2 | "And the theatrics, she added, gesturing broadly toward the wall, are just that." | | 3 | "Look at the inscriptions, Eva said, following closely behind." | | 4 | "Not across unbroken, sealed glazed tile, Quinn said." | | 5 | "A bone token, Quinn muttered, rolling it between her latex-covered fingertips." | | 6 | "The compass, Eva whispered, the word slipping out before she could catch it." | | 7 | "Forensics will tell me he died of sudden cardiovascular collapse and that the trauma to his neck occurred post-mortem, Q…" | | 8 | "Tell me about the market, Kowalski, Quinn said." |
| |
| 79.28% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 58 | | wordCount | 1414 | | uniqueNames | 19 | | maxNameDensity | 1.41 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Detective | 3 | | Harlow | 1 | | Quinn | 20 | | Camden | 1 | | Tube | 1 | | Kowalski | 3 | | British | 1 | | Museum | 1 | | Eva | 15 | | Metropolitan | 1 | | Police | 1 | | Northern | 1 | | Line | 1 | | Yard | 1 | | August | 1 | | London | 1 | | Rotherhithe | 1 | | Morris | 2 | | Victorian | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Kowalski" | | 3 | "Eva" | | 4 | "Police" | | 5 | "Morris" |
| | places | | 0 | "Metropolitan" | | 1 | "London" | | 2 | "Rotherhithe" |
| | globalScore | 0.793 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 84 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.707 | | wordCount | 1414 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 106 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 38.22 | | std | 23.27 | | cv | 0.609 | | sampleLengths | | 0 | 74 | | 1 | 48 | | 2 | 65 | | 3 | 42 | | 4 | 76 | | 5 | 11 | | 6 | 71 | | 7 | 14 | | 8 | 63 | | 9 | 21 | | 10 | 63 | | 11 | 20 | | 12 | 11 | | 13 | 7 | | 14 | 6 | | 15 | 57 | | 16 | 38 | | 17 | 24 | | 18 | 79 | | 19 | 75 | | 20 | 33 | | 21 | 29 | | 22 | 11 | | 23 | 35 | | 24 | 27 | | 25 | 70 | | 26 | 41 | | 27 | 13 | | 28 | 18 | | 29 | 39 | | 30 | 59 | | 31 | 13 | | 32 | 58 | | 33 | 36 | | 34 | 43 | | 35 | 11 | | 36 | 13 |
| |
| 78.78% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 8 | | totalSentences | 106 | | matches | | 0 | "was pinched" | | 1 | "been ordered" | | 2 | "was dressed" | | 3 | "was turned" | | 4 | "was etched" | | 5 | "were etched" | | 6 | "was recorded" | | 7 | "been wiped" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 224 | | matches | | |
| 35.04% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 1 | | flaggedSentences | 4 | | totalSentences | 106 | | ratio | 0.038 | | matches | | 0 | "She took in the perimeter with a single sweep of her brown eyes: the yellow incident tape strung between rusted support girders, the absence of any auxiliary officers—they had been ordered to hold the upper grating—and the body slumped ten yards down the narrow passage." | | 1 | "He was dressed well—far too well for an urban explorer or an itinerant vagrant." | | 2 | "There was blood, certainly; it stained his collar and pooled along the collarbone." | | 3 | "Not ice from the street—frost." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1439 | | adjectiveStacks | 2 | | stackExamples | | 0 | "behind thick round glasses." | | 1 | "heavy, crescent-shaped blade" |
| | adverbCount | 38 | | adverbRatio | 0.02640722724113968 | | lyAdverbCount | 19 | | lyAdverbRatio | 0.01320361362056984 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 13.34 | | std | 8.53 | | cv | 0.639 | | sampleLengths | | 0 | 24 | | 1 | 26 | | 2 | 19 | | 3 | 5 | | 4 | 18 | | 5 | 14 | | 6 | 16 | | 7 | 19 | | 8 | 21 | | 9 | 15 | | 10 | 10 | | 11 | 27 | | 12 | 15 | | 13 | 6 | | 14 | 25 | | 15 | 45 | | 16 | 11 | | 17 | 18 | | 18 | 3 | | 19 | 20 | | 20 | 6 | | 21 | 10 | | 22 | 13 | | 23 | 1 | | 24 | 10 | | 25 | 4 | | 26 | 9 | | 27 | 12 | | 28 | 2 | | 29 | 15 | | 30 | 6 | | 31 | 19 | | 32 | 9 | | 33 | 12 | | 34 | 14 | | 35 | 14 | | 36 | 22 | | 37 | 13 | | 38 | 15 | | 39 | 5 | | 40 | 7 | | 41 | 4 | | 42 | 5 | | 43 | 2 | | 44 | 2 | | 45 | 4 | | 46 | 4 | | 47 | 29 | | 48 | 24 | | 49 | 28 |
| |
| 64.47% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.41509433962264153 | | totalSentences | 106 | | uniqueOpeners | 44 | |
| 66.01% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 101 | | matches | | 0 | "Usually sixteenth-century gaming pieces." | | 1 | "Just like they told me" |
| | ratio | 0.02 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 101 | | matches | | 0 | "She reached the bottom landing," | | 1 | "Her beam cut through the" | | 2 | "She glanced up as Quinn’s" | | 3 | "You took your time, Detective," | | 4 | "Her freckled face was pinched" | | 5 | "Her stride remained measured, carrying" | | 6 | "She took in the perimeter" | | 7 | "She pulled a small notebook" | | 8 | "It’s an amateur trying to" | | 9 | "He was dressed well—far too" | | 10 | "His head was turned at" | | 11 | "It traveled a foot and" | | 12 | "Her voice carried the cold" | | 13 | "She swept the lantern low" | | 14 | "It had a hollow, sucking" | | 15 | "It was a cold she" | | 16 | "She leaned over the victim’s" | | 17 | "I’ve seen those in private" | | 18 | "It doesn’t prove anything." | | 19 | "She reached into the victim’s" |
| | ratio | 0.287 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 101 | | matches | | 0 | "The iron spiral staircase rattled" | | 1 | "She reached the bottom landing," | | 2 | "Midnight was fifteen minutes past." | | 3 | "Her beam cut through the" | | 4 | "Decades of soot clung to" | | 5 | "Eva Kowalski was already crouching" | | 6 | "A heavy leather satchel, crammed" | | 7 | "She glanced up as Quinn’s" | | 8 | "You took your time, Detective," | | 9 | "Her freckled face was pinched" | | 10 | "Quinn did not offer an" | | 11 | "Her stride remained measured, carrying" | | 12 | "She took in the perimeter" | | 13 | "Eva pushed her glasses up" | | 14 | "A turf war." | | 15 | "Squatters, or more likely an" | | 16 | "The victim is male, late" | | 17 | "Cause of death appears to" | | 18 | "Quinn stepped past her, clicking" | | 19 | "She pulled a small notebook" |
| | ratio | 0.673 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 101 | | matches | (empty) | | ratio | 0 | |
| 68.23% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 67 | | technicalSentenceCount | 7 | | matches | | 0 | "Down here, the air was dead and tasted of ancient brake dust, damp lime, and an electric tang that made the fillings in her molars ache." | | 1 | "Squatters, or more likely an offshoot of the illegal raves that break into the subterranean shafts off the Northern Line." | | 2 | "Fluid dynamics in subterranean damp can be deceptive, Eva countered quickly, her fingers nervously seeking her left ear again, tucking the fiery curl that had a…" | | 3 | "There were distinct, curved arcs cleared in the filth, perfectly symmetrical, as though someone had dragged a heavy, crescent-shaped blade through the air an in…" | | 4 | "It had a hollow, sucking quality that raised the hairs on Quinn’s arms." | | 5 | "Not since DS Morris had walked into a shadow beneath an iron fire escape and simply ceased to exist, leaving behind only his service weapon and an impossible ch…" | | 6 | "She leaned over the victim’s stiffening frame, her hands moving with methodical precision through his pockets." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 0 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | |