| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 7 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 14 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.80% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1564 | | 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) | |
| 48.85% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1564 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "chill" | | 1 | "mechanical" | | 2 | "shattered" | | 3 | "silence" | | 4 | "pumping" | | 5 | "maw" | | 6 | "stomach" | | 7 | "familiar" | | 8 | "rhythmic" | | 9 | "vibrated" | | 10 | "constructed" | | 11 | "velvet" | | 12 | "weight" | | 13 | "measured" | | 14 | "gleaming" |
| |
| 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 | 1 | | narrationSentences | 87 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 87 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 94 | | 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 | 4 | | markdownWords | 15 | | totalWords | 1557 | | ratio | 0.01 | | matches | | 0 | "Inconclusive" | | 1 | "This isn't an underground fight ring. This isn't an unlicensed distillery." | | 2 | "Turn back," | | 3 | "Silas." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 7 | | unquotedAttributions | 0 | | matches | (empty) | |
| 75.78% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 65 | | wordCount | 1482 | | uniqueNames | 23 | | maxNameDensity | 1.48 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 2 | | High | 1 | | Street | 1 | | Harlow | 1 | | Quinn | 22 | | Tomás | 1 | | Herrera | 13 | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Northern | 1 | | Saint | 2 | | Christopher | 2 | | London | 3 | | Morris | 3 | | Southwark | 1 | | Victorian | 1 | | Glock | 3 | | Tube | 1 | | Blitz | 1 | | Transport | 1 | | North | 1 | | Met | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Raven" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Morris" |
| | places | | 0 | "Camden" | | 1 | "High" | | 2 | "Street" | | 3 | "Soho" | | 4 | "London" | | 5 | "Southwark" | | 6 | "Victorian" | | 7 | "Transport" | | 8 | "North" |
| | globalScore | 0.758 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 77 | | glossingSentenceCount | 1 | | matches | | 0 | "something like burning camphor" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.642 | | wordCount | 1557 | | matches | | 0 | "not the sour, damp rot of the sewer, but the sweet, coppery reek of ozone" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 94 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 39.92 | | std | 25.73 | | cv | 0.645 | | sampleLengths | | 0 | 95 | | 1 | 16 | | 2 | 107 | | 3 | 12 | | 4 | 22 | | 5 | 6 | | 6 | 20 | | 7 | 84 | | 8 | 93 | | 9 | 32 | | 10 | 1 | | 11 | 51 | | 12 | 76 | | 13 | 37 | | 14 | 34 | | 15 | 10 | | 16 | 49 | | 17 | 66 | | 18 | 20 | | 19 | 16 | | 20 | 20 | | 21 | 75 | | 22 | 63 | | 23 | 24 | | 24 | 47 | | 25 | 38 | | 26 | 28 | | 27 | 24 | | 28 | 17 | | 29 | 55 | | 30 | 38 | | 31 | 42 | | 32 | 57 | | 33 | 35 | | 34 | 34 | | 35 | 24 | | 36 | 29 | | 37 | 37 | | 38 | 23 |
| |
| 93.16% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 87 | | matches | | 0 | "been swept" | | 1 | "was choked" | | 2 | "were arranged" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 229 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 1 | | flaggedSentences | 5 | | totalSentences | 94 | | ratio | 0.053 | | matches | | 0 | "Their eyes locked through the sheets of downpour—hers hard and flat brown, his wide with the raw instinct of a cornered animal." | | 1 | "And Herrera—a disgraced NHS paramedic who had vanished from the registry after pumping something ungodly into a dying man in an unlicensed basement clinic—was the closest she had ever come to a thread that pulled back." | | 2 | "People—or things that moved like people—drifted between the stalls in heavy coats and obscuring hoods." | | 3 | "They didn't reach for weapons; they simply stared, their silhouettes unnervingly still, scenting the damp wool of her coat and the distinct, unmistakable stink of the surface world she carried with her." | | 4 | "The rational part of her brain—the part that had filed three thousand incident reports and survived eighteen years in the Met—told her to retreat up the ladder, seal the hatch, and call for the tactical firearms unit." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1501 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 31 | | adverbRatio | 0.020652898067954697 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.009993337774816789 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 94 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 94 | | mean | 16.56 | | std | 9.76 | | cv | 0.589 | | sampleLengths | | 0 | 18 | | 1 | 27 | | 2 | 15 | | 3 | 16 | | 4 | 19 | | 5 | 16 | | 6 | 21 | | 7 | 39 | | 8 | 47 | | 9 | 12 | | 10 | 22 | | 11 | 6 | | 12 | 20 | | 13 | 3 | | 14 | 20 | | 15 | 16 | | 16 | 13 | | 17 | 32 | | 18 | 2 | | 19 | 42 | | 20 | 13 | | 21 | 36 | | 22 | 11 | | 23 | 21 | | 24 | 1 | | 25 | 3 | | 26 | 18 | | 27 | 25 | | 28 | 5 | | 29 | 14 | | 30 | 21 | | 31 | 41 | | 32 | 13 | | 33 | 5 | | 34 | 19 | | 35 | 10 | | 36 | 24 | | 37 | 10 | | 38 | 14 | | 39 | 21 | | 40 | 14 | | 41 | 17 | | 42 | 26 | | 43 | 6 | | 44 | 17 | | 45 | 6 | | 46 | 14 | | 47 | 16 | | 48 | 3 | | 49 | 17 |
| |
| 68.44% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.43617021276595747 | | totalSentences | 94 | | uniqueOpeners | 41 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 86 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 86 | | matches | | 0 | "She had picked up his" | | 1 | "He had slipped out through" | | 2 | "Their eyes locked through the" | | 3 | "He didn't freeze." | | 4 | "He cut sharp to the" | | 5 | "Her lungs burned with the" | | 6 | "She was forty-one, with bad" | | 7 | "She dropped down on the" | | 8 | "She checked the chamber by" | | 9 | "She stepped onto the first" | | 10 | "She recognized the architecture: an" | | 11 | "Her tactical training screamed for" | | 12 | "It stretched into the distance," | | 13 | "They didn't reach for weapons;" | | 14 | "It was three ounces of" | | 15 | "he whispered, loud enough to" | | 16 | "Her boots crunched on the" | | 17 | "She kept the Glock down" | | 18 | "She kept her brown eyes" |
| | ratio | 0.221 | |
| 76.28% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 66 | | totalSentences | 86 | | matches | | 0 | "The rain had turned Camden" | | 1 | "Detective Harlow Quinn adjusted the" | | 2 | "Water dripped from the brim" | | 3 | "Midnight had come and gone" | | 4 | "She had picked up his" | | 5 | "He had slipped out through" | | 6 | "Quinn had shadowed him onto" | | 7 | "Their eyes locked through the" | | 8 | "Herrera broke into a dead" | | 9 | "Quinn barked, the command ringing" | | 10 | "He didn't freeze." | | 11 | "He cut sharp to the" | | 12 | "Quinn lunged after him, her" | | 13 | "Her lungs burned with the" | | 14 | "She was forty-one, with bad" | | 15 | "Quinn had spent every waking" | | 16 | "Herrera took the corner into" | | 17 | "Quinn rounded the brick edge" | | 18 | "Metal rattled violently." | | 19 | "Quinn caught the top rail," |
| | ratio | 0.767 | |
| 58.14% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 86 | | matches | | 0 | "Now, on the pavement beneath" |
| | ratio | 0.012 | |
| 39.17% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 62 | | technicalSentenceCount | 9 | | matches | | 0 | "He had slipped out through an alley door she hadn’t seen on the borough’s architectural plans, a heavy canvas rucksack slung over his shoulder, walking with the…" | | 1 | "She was forty-one, with bad knees from a decade in uniform, but she ran with the cold, mechanical efficiency that had earned her commendations before the Morris…" | | 2 | "And Herrera—a disgraced NHS paramedic who had vanished from the registry after pumping something ungodly into a dying man in an unlicensed basement clinic—was t…" | | 3 | "From the black maw of the shaft rose a column of air that made Quinn’s stomach turn: not the sour, damp rot of the sewer, but the sweet, coppery reek of ozone a…" | | 4 | "She checked the chamber by feel, thumb finding the familiar notch, her breath steadying into a slow, controlled rhythm." | | 5 | "On a wooden trestle table ten paces from her, jars of thick, amber fluid were arranged in neat pyramids beside bundles of dried roots that twitched faintly agai…" | | 6 | "A few yards down the platform edge, near an arched corridor that led deeper into the subterranean sprawl, Herrera stood trapped against a heavy iron turnstile." | | 7 | "And Herrera would be gone, taking with him the only name she had heard in three years that connected to Morris’s last night alive: *Silas.*" | | 8 | "She kept her brown eyes locked on Herrera, on the tremor in his hands, on the Saint Christopher medallion that hung outside his collar, gleaming faintly in the …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 7 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 4 | | fancyTags | | 0 | "Quinn barked (bark)" | | 1 | "Herrera gasped (gasp)" | | 2 | "he whispered (whisper)" | | 3 | "the creature murmured (murmur)" |
| | dialogueSentences | 14 | | tagDensity | 0.429 | | leniency | 0.857 | | rawRatio | 0.667 | | effectiveRatio | 0.571 | |