| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 83.79% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1542 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "quickly" | | 1 | "slightly" | | 2 | "perfectly" | | 3 | "suddenly" |
| |
| 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) | |
| 80.54% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1542 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "fractured" | | 1 | "footsteps" | | 2 | "echoed" | | 3 | "silence" | | 4 | "flicker" |
| |
| 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 | 93 | | matches | (empty) | |
| 66.05% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 2 | | narrationSentences | 93 | | 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 | | maxSentenceWordsSeen | 41 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1530 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 1500 | | uniqueNames | 20 | | maxNameDensity | 0.67 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | London | 2 | | Harlow | 1 | | Quinn | 10 | | Soho | 1 | | Tomás | 1 | | Herrera | 9 | | Raven | 1 | | Nest | 1 | | Saint | 1 | | Christopher | 1 | | Morris | 5 | | Frith | 1 | | Street | 1 | | Underground | 1 | | Tube | 1 | | Camden | 2 | | Glock | 1 | | Metropolitan | 1 | | Police | 1 | | Three | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" |
| | places | | 0 | "London" | | 1 | "Soho" | | 2 | "Raven" | | 3 | "Frith" | | 4 | "Street" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 82 | | glossingSentenceCount | 5 | | matches | | 0 | "looked like carved bone, a token of some" | | 1 | "quite place" | | 2 | "looked like they were crawling across the" | | 3 | "looked like regular denizens of London's" | | 4 | "something like this" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1530 | | matches | (empty) | |
| 95.74% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 94 | | matches | | 0 | "down that line" | | 1 | "learned that the" |
| |
| 70.54% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 56.67 | | std | 22.49 | | cv | 0.397 | | sampleLengths | | 0 | 84 | | 1 | 79 | | 2 | 76 | | 3 | 36 | | 4 | 52 | | 5 | 57 | | 6 | 19 | | 7 | 77 | | 8 | 65 | | 9 | 72 | | 10 | 6 | | 11 | 49 | | 12 | 74 | | 13 | 41 | | 14 | 58 | | 15 | 83 | | 16 | 83 | | 17 | 70 | | 18 | 81 | | 19 | 70 | | 20 | 54 | | 21 | 48 | | 22 | 53 | | 23 | 54 | | 24 | 7 | | 25 | 62 | | 26 | 20 |
| |
| 90.17% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 93 | | matches | | 0 | "been closed" | | 1 | "been covered" | | 2 | "been transformed" | | 3 | "been filed" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 11 | | totalVerbs | 260 | | matches | | 0 | "was holding" | | 1 | "was carrying" | | 2 | "wasn't running" | | 3 | "was walking" | | 4 | "was working" | | 5 | "was trying" | | 6 | "was standing" | | 7 | "were crawling" | | 8 | "was seeing" | | 9 | "was reaching" | | 10 | "was starting" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 94 | | ratio | 0.128 | | matches | | 0 | "Three years of chasing shadows through this city, and she'd learned to read the rhythm of pursuit—the way footsteps echoed differently on wet cobblestones, the particular quality of silence that meant someone was holding their breath around the next corner." | | 1 | "She caught sight of him fifty meters ahead—a darker shadow against the dark, moving with purpose but not panic." | | 2 | "Back when she'd had a partner who watched her six and laughed at her coffee addiction and—" | | 3 | "She could see the scar on his left forearm as his jacket sleeve rode up—thin and pale, the kind of mark a knife left when someone was trying not to cut deep." | | 4 | "But then she caught the movement—a flicker of motion near the mouth of an old Underground entrance, one of those abandoned stations that had been closed since before she was born." | | 5 | "He pulled something from his pocket—a pale disc that caught the streetlight for just an instant before he pressed it against something at the base of the stairs." | | 6 | "The air changed as she went—warmer, thick with scents she couldn't quite place." | | 7 | "She'd checked the weapon twice before starting the pursuit, the same way she always did—magazine, safety, round in the chamber." | | 8 | "She caught fragments as she moved deeper into the crowd—vials of liquid that glowed faintly in the darkness, bundles of dried plants she didn't recognize, books with titles in languages that looked like they were crawling across the leather covers." | | 9 | "Not all of them—some looked like regular denizens of London's underground economy, the kind of faces she'd seen in a hundred raids and busts." | | 10 | "The case that had killed him—or taken him, or done whatever it had done—had involved something like this." | | 11 | "The same thing that had happened with Morris's case—files sealed, questions deflected, career trajectory subtly altered until she found herself moved sideways into positions where she couldn't cause trouble." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1516 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 45 | | adverbRatio | 0.029683377308707123 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.008575197889182058 | |
| 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.28 | | std | 8.92 | | cv | 0.548 | | sampleLengths | | 0 | 18 | | 1 | 26 | | 2 | 40 | | 3 | 4 | | 4 | 14 | | 5 | 2 | | 6 | 22 | | 7 | 15 | | 8 | 22 | | 9 | 33 | | 10 | 25 | | 11 | 3 | | 12 | 15 | | 13 | 16 | | 14 | 13 | | 15 | 7 | | 16 | 19 | | 17 | 3 | | 18 | 3 | | 19 | 8 | | 20 | 19 | | 21 | 7 | | 22 | 6 | | 23 | 15 | | 24 | 12 | | 25 | 17 | | 26 | 19 | | 27 | 16 | | 28 | 11 | | 29 | 18 | | 30 | 32 | | 31 | 16 | | 32 | 31 | | 33 | 18 | | 34 | 12 | | 35 | 28 | | 36 | 1 | | 37 | 10 | | 38 | 21 | | 39 | 6 | | 40 | 12 | | 41 | 12 | | 42 | 13 | | 43 | 1 | | 44 | 1 | | 45 | 10 | | 46 | 25 | | 47 | 31 | | 48 | 18 | | 49 | 19 |
| |
| 43.62% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3191489361702128 | | totalSentences | 94 | | uniqueOpeners | 30 | |
| 38.31% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 87 | | matches | | 0 | "Then she started moving toward" |
| | ratio | 0.011 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 23 | | totalSentences | 87 | | matches | | 0 | "She checked her watch." | | 1 | "She'd first spotted him outside" | | 2 | "She caught sight of him" | | 3 | "He wasn't running." | | 4 | "She let him get a" | | 5 | "She shut down that line" | | 6 | "She could see the scar" | | 7 | "She watched Herrera approach the" | | 8 | "He pulled something from his" | | 9 | "It looked like carved bone," | | 10 | "She pulled out her phone," | | 11 | "She could hear voices now," | | 12 | "She'd checked the weapon twice" | | 13 | "She caught fragments as she" | | 14 | "She'd learned that the world" | | 15 | "She spotted Herrera through a" | | 16 | "He was moving toward the" | | 17 | "She tracked him with her" | | 18 | "She thought again of her" | | 19 | "She didn't have time for" |
| | ratio | 0.264 | |
| 63.45% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 69 | | totalSentences | 87 | | matches | | 0 | "The rain came down in" | | 1 | "Detective Harlow Quinn pressed her" | | 2 | "She checked her watch." | | 3 | "The worn leather band was" | | 4 | "The suspect had a two-minute" | | 5 | "She'd first spotted him outside" | | 6 | "Herrera had emerged from a" | | 7 | "A nervous gesture." | | 8 | "The kind of thing a" | | 9 | "Quinn rounded the corner, her" | | 10 | "The cold was a distant" | | 11 | "She caught sight of him" | | 12 | "He wasn't running." | | 13 | "That was interesting." | | 14 | "A man with something to" | | 15 | "She let him get a" | | 16 | "The mistake most people made" | | 17 | "Quinn had learned patience from" | | 18 | "Back when she'd had a" | | 19 | "She shut down that line" |
| | ratio | 0.793 | |
| 57.47% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 87 | | matches | | 0 | "Before the case that had" |
| | ratio | 0.011 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 70 | | technicalSentenceCount | 17 | | matches | | 0 | "Three years of chasing shadows through this city, and she'd learned to read the rhythm of pursuit—the way footsteps echoed differently on wet cobblestones, the …" | | 1 | "Knew he favored the routes with multiple exits, the paths that skirted the main roads but never quite crossed into open territory." | | 2 | "She'd first spotted him outside The Raven's Nest, that dim little bar with the distinctive green neon sign that had popped up on her radar half a dozen times in…" | | 3 | "But Herrera was walking quickly, with intention, his head turning every few seconds to check the angles behind him." | | 4 | "But then she caught the movement—a flicker of motion near the mouth of an old Underground entrance, one of those abandoned stations that had been closed since b…" | | 5 | "He pulled something from his pocket—a pale disc that caught the streetlight for just an instant before he pressed it against something at the base of the stairs…" | | 6 | "The old tilework was still visible in places, cream and navy blue, though most of it had been covered over with tapestries and cloths that moved slightly in an …" | | 7 | "She could hear voices now, distant and layered, the particular quality of sound that meant a large enclosed space." | | 8 | "The station platform had been transformed into rows of stalls and tables, awnings strung between columns, vendors hawking goods that made her eyes refuse to foc…" | | 9 | "She caught fragments as she moved deeper into the crowd—vials of liquid that glowed faintly in the darkness, bundles of dried plants she didn't recognize, books…" | | 10 | "But others moved strangely, their limbs too long, their shadows falling in directions that didn't match the light sources." | | 11 | "A man pushing past her had a tattoo that moved, a snake coiling and uncoiling across his neck." | | 12 | "Before the case that had taken him, the one that had ended with her partner vanished and every official explanation ringing hollow." | | 13 | "Three years trying to find out what had happened to him, three years hitting walls and dead ends and cryptic warnings from people who knew better than to talk." | | 14 | "A vendor stepped into her path, a young man with too-wide eyes and a smile that showed teeth that had been filed to points." | | 15 | "The same thing that had happened with Morris's case—files sealed, questions deflected, career trajectory subtly altered until she found herself moved sideways i…" | | 16 | "Then she started moving toward the door, her hand still on her weapon, her senses straining against the unfamiliar darkness." |
| |
| 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 | |