| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 90.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1510 | | totalAiIsmAdverbs | 3 | | 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) | |
| 70.20% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1510 | | totalAiIsms | 9 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | word | "practiced ease" | | count | 1 |
| | 6 | | | 7 | |
| | highlights | | 0 | "fractured" | | 1 | "gleaming" | | 2 | "measured" | | 3 | "echoed" | | 4 | "pulse" | | 5 | "practiced ease" | | 6 | "etched" | | 7 | "weight" |
| |
| 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 | 121 | | matches | (empty) | |
| 95.63% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 2 | | narrationSentences | 121 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 121 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1503 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 3 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 1503 | | uniqueNames | 21 | | maxNameDensity | 0.8 | | worstName | "Quinn" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Quinn" | | discoveredNames | | Soho | 1 | | Harlow | 1 | | Quinn | 12 | | Herrera | 7 | | Raven | 1 | | Nest | 1 | | Berwick | 1 | | Street | 1 | | West | 1 | | End | 1 | | Glock | 2 | | Maglite | 2 | | Tube | 2 | | Camden | 2 | | Morris | 4 | | Terry | 1 | | February | 1 | | Aldershot | 1 | | Road | 1 | | Veil | 1 | | Market | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Herrera" | | 3 | "Raven" | | 4 | "Maglite" | | 5 | "Morris" | | 6 | "Terry" |
| | places | | 0 | "Soho" | | 1 | "Berwick" | | 2 | "Street" | | 3 | "West" | | 4 | "End" | | 5 | "Glock" | | 6 | "Camden" | | 7 | "Aldershot" | | 8 | "Road" | | 9 | "Market" |
| | globalScore | 1 | | windowScore | 1 | |
| 66.67% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 90 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like cured skin" | | 1 | "symbols that seemed to crawl even when the insects did not" | | 2 | "as if kneeling" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1503 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 121 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 21 | | mean | 71.57 | | std | 45.59 | | cv | 0.637 | | sampleLengths | | 0 | 126 | | 1 | 124 | | 2 | 102 | | 3 | 98 | | 4 | 64 | | 5 | 2 | | 6 | 156 | | 7 | 35 | | 8 | 123 | | 9 | 3 | | 10 | 74 | | 11 | 92 | | 12 | 57 | | 13 | 4 | | 14 | 90 | | 15 | 108 | | 16 | 75 | | 17 | 15 | | 18 | 97 | | 19 | 54 | | 20 | 4 |
| |
| 96.56% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 121 | | matches | | 0 | "was plastered" | | 1 | "being unwrapped" | | 2 | "being flashed" |
| |
| 86.52% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 235 | | matches | | 0 | "was burning" | | 1 | "was still moving" | | 2 | "were angling" | | 3 | "was not browsing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 2 | | flaggedSentences | 9 | | totalSentences | 121 | | ratio | 0.074 | | matches | | 0 | "Quinn had been sitting on his dossier for three weeks—unauthorized treatments, unexplained recoveries, patients who vanished from hospital records as if the blue lights of an ambulance had simply swallowed them." | | 1 | "The military precision she had drilled into her bones during the early years never left; hips low, center of gravity tight, breathing measured even as the cold knifed her lungs." | | 2 | "Cold air breathed out of it—real night air, different from the warm metallic stink of the building above." | | 3 | "She thought of Morris—DS Terry Morris, partner for nine years, dead three years last February under circumstances that still refused to fit any report she had written." | | 4 | "Smell followed—ozone and dried blood and something sweet that made the fillings in her teeth ache." | | 5 | "Quinn watched him produce a disc of yellowed bone from his jacket—exactly the size and shape of the tokens she now saw being flashed by every other buyer." | | 6 | "The crowd parted for her out of habit rather than respect; something in the setup of her spine, the way the coat fell open just enough to show the badge clipped inside, told them she was not browsing." | | 7 | "The grey-haired woman pressed a small paper-wrapped package into his hands and pressed a second token into his palm—change, perhaps, or a receipt the market’s rules required." | | 8 | "A single bone token lay discarded on the cracked tiles just inside the arch—dropped or left as invitation." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1525 | | adjectiveStacks | 1 | | stackExamples | | 0 | "former paramedic turned something" |
| | adverbCount | 60 | | adverbRatio | 0.03934426229508197 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.009180327868852459 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 121 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 121 | | mean | 12.42 | | std | 8.79 | | cv | 0.707 | | sampleLengths | | 0 | 21 | | 1 | 17 | | 2 | 11 | | 3 | 9 | | 4 | 16 | | 5 | 46 | | 6 | 6 | | 7 | 14 | | 8 | 24 | | 9 | 14 | | 10 | 31 | | 11 | 13 | | 12 | 28 | | 13 | 20 | | 14 | 5 | | 15 | 30 | | 16 | 20 | | 17 | 27 | | 18 | 8 | | 19 | 8 | | 20 | 12 | | 21 | 19 | | 22 | 6 | | 23 | 18 | | 24 | 8 | | 25 | 8 | | 26 | 3 | | 27 | 2 | | 28 | 6 | | 29 | 13 | | 30 | 10 | | 31 | 20 | | 32 | 7 | | 33 | 10 | | 34 | 4 | | 35 | 2 | | 36 | 20 | | 37 | 16 | | 38 | 1 | | 39 | 6 | | 40 | 6 | | 41 | 8 | | 42 | 27 | | 43 | 5 | | 44 | 20 | | 45 | 14 | | 46 | 5 | | 47 | 6 | | 48 | 22 | | 49 | 21 |
| |
| 65.01% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4297520661157025 | | totalSentences | 121 | | uniqueOpeners | 52 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 115 | | matches | | 0 | "Dark curly hair, olive skin" | | 1 | "Everywhere the gleam of bone" | | 2 | "Somewhere to her left a" | | 3 | "Still climb back into the" | | 4 | "Then she stepped through." |
| | ratio | 0.043 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 115 | | matches | | 0 | "Her closely cropped salt-and-pepper hair" | | 1 | "She had followed him from" | | 2 | "He cut left onto Berwick" | | 3 | "She almost had him at" | | 4 | "She took the steps three" | | 5 | "She didn’t draw." | | 6 | "She dropped, boots ringing on" | | 7 | "Her Maglite carved a clean" | | 8 | "They were angling hard toward" | | 9 | "Her breath fogged in the" | | 10 | "She thought of Morris—DS Terry" | | 11 | "She had never spoken of" | | 12 | "She had heard the name" | | 13 | "She had dismissed it as" | | 14 | "He paused at a low" | | 15 | "He pressed it into the" | | 16 | "She could still turn around." | | 17 | "She stepped fully onto the" | | 18 | "She moved along the wall," | | 19 | "He had finished his transaction." |
| | ratio | 0.252 | |
| 64.35% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 91 | | totalSentences | 115 | | matches | | 0 | "Detective Harlow Quinn ran hard," | | 1 | "Her closely cropped salt-and-pepper hair" | | 2 | "Water streamed from the sharp" | | 3 | "The worn leather watch on" | | 4 | "This one had all of" | | 5 | "Tomás Herrera moved like a" | | 6 | "Quinn had been sitting on" | | 7 | "The clique’s name kept rising" | | 8 | "She had followed him from" | | 9 | "He cut left onto Berwick" | | 10 | "Quinn followed without breaking stride." | | 11 | "The military precision she had" | | 12 | "She almost had him at" | | 13 | "Herrera used the half-second of" | | 14 | "She took the steps three" | | 15 | "The stairwell stank of damp" | | 16 | "Graffiti tags screamed from the" | | 17 | "The hatch hung open an" | | 18 | "Quinn’s hand found the Glock" | | 19 | "Fingers flexed once around the" |
| | ratio | 0.791 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 115 | | matches | (empty) | | ratio | 0 | |
| 52.15% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 63 | | technicalSentenceCount | 8 | | matches | | 0 | "Quinn had been sitting on his dossier for three weeks—unauthorized treatments, unexplained recoveries, patients who vanished from hospital records as if the blu…" | | 1 | "Herrera used the half-second of chaos to shoulder through a fire door and vanish into the labyrinth of stairwells that stitched the West End to the underworld." | | 2 | "The ladder descended into blackness that smelled of wet brick and old electricity." | | 3 | "But the same wrongness that had clung to that crime scene clung now to the air currents rising from the deeper dark." | | 4 | "A tall woman with too many joints sold stoppered vials that glowed faint amber." | | 5 | "Wait for backup that would arrive too late, armored and noisy and completely unprepared for whatever this place actually was." | | 6 | "The play that kept her breathing long enough to reach forty-two." | | 7 | "She thought again of Morris on the floor of that empty warehouse, the wet sound his lungs had made, the way the shadows had bent toward him as if kneeling." |
| |
| 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 | |