| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | |
| 87.58% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1208 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "completely" | | 1 | "slowly" | | 2 | "carefully" |
| |
| 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) | |
| 71.03% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1208 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "footsteps" | | 1 | "navigate" | | 2 | "flickered" | | 3 | "familiar" | | 4 | "constructed" | | 5 | "pulsed" |
| |
| 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 | 60 | | matches | (empty) | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 6 | | narrationSentences | 60 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 60 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1202 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 87.60% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 41 | | wordCount | 1202 | | uniqueNames | 16 | | maxNameDensity | 1.25 | | worstName | "Quinn" | | maxWindowNameDensity | 2 | | worstWindowName | "Quinn" | | discoveredNames | | Camden | 2 | | Harlow | 1 | | Quinn | 15 | | Herrera | 7 | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Saint | 1 | | Christopher | 1 | | Morris | 5 | | Victorian | 1 | | English | 1 | | Tube | 1 | | London | 1 | | Veil | 1 | | Market | 1 |
| | persons | | 0 | "Camden" | | 1 | "Harlow" | | 2 | "Quinn" | | 3 | "Herrera" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Morris" | | 7 | "English" |
| | places | | | globalScore | 0.876 | | windowScore | 1 | |
| 13.64% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 3 | | matches | | 0 | "darkness that seemed to swallow the light before it could penetrate more than a few feet" | | 1 | "looked like bone" | | 2 | "felt like falling" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.832 | | wordCount | 1202 | | matches | | 0 | "not just this investigation, but her entire understanding of the world she'd sworn to protect" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 60 | | matches | | |
| 93.13% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 24 | | mean | 50.08 | | std | 23.84 | | cv | 0.476 | | sampleLengths | | 0 | 82 | | 1 | 96 | | 2 | 30 | | 3 | 55 | | 4 | 73 | | 5 | 64 | | 6 | 51 | | 7 | 15 | | 8 | 82 | | 9 | 75 | | 10 | 59 | | 11 | 51 | | 12 | 56 | | 13 | 13 | | 14 | 64 | | 15 | 48 | | 16 | 37 | | 17 | 50 | | 18 | 53 | | 19 | 23 | | 20 | 59 | | 21 | 53 | | 22 | 8 | | 23 | 5 |
| |
| 81.87% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 60 | | matches | | 0 | "been painted" | | 1 | "been prepared" | | 2 | "was gone" | | 3 | "was left" | | 4 | "been carved" | | 5 | "were equipped" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 201 | | matches | | 0 | "was beginning" | | 1 | "was playing" | | 2 | "was pursuing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 0 | | flaggedSentences | 6 | | totalSentences | 60 | | ratio | 0.1 | | matches | | 0 | "Quinn had been tracking him for weeks—the former paramedic who'd lost his license under circumstances that the NHS refused to discuss in detail, who now seemed to appear at the periphery of every case that defied conventional explanation." | | 1 | "She caught a glimpse of movement near the mouth of an alley that shouldn't exist—a narrow gap between two Victorian buildings that her mental map of the area insisted was solid wall." | | 2 | "Symbols had been carved into the mortar at irregular intervals—geometric patterns that hurt to look at directly, as if they existed in more dimensions than her eyes were equipped to process." | | 3 | "The sound of voices drifted up from below—Herrera's accented English mixing with others she couldn't identify." | | 4 | "Vendors hawked their wares from behind tables laden with objects that Quinn's rational mind refused to categorize—bottles filled with liquids that moved against gravity, mirrors that reflected spaces other than the one she occupied, books bound in materials that definitely weren't leather but might once have been skin." | | 5 | "Around her, other transactions proceeded with the casual efficiency of any marketplace—if any legitimate marketplace dealt in the sort of merchandise that made her weapon feel inadequate and her badge seem like a quaint anachronism." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1210 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 40 | | adverbRatio | 0.03305785123966942 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.010743801652892562 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 60 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 60 | | mean | 20.03 | | std | 8.93 | | cv | 0.446 | | sampleLengths | | 0 | 25 | | 1 | 32 | | 2 | 25 | | 3 | 30 | | 4 | 28 | | 5 | 38 | | 6 | 30 | | 7 | 16 | | 8 | 18 | | 9 | 21 | | 10 | 32 | | 11 | 26 | | 12 | 15 | | 13 | 13 | | 14 | 5 | | 15 | 14 | | 16 | 15 | | 17 | 17 | | 18 | 4 | | 19 | 25 | | 20 | 22 | | 21 | 6 | | 22 | 9 | | 23 | 28 | | 24 | 23 | | 25 | 31 | | 26 | 25 | | 27 | 22 | | 28 | 28 | | 29 | 16 | | 30 | 17 | | 31 | 26 | | 32 | 19 | | 33 | 16 | | 34 | 16 | | 35 | 13 | | 36 | 24 | | 37 | 19 | | 38 | 13 | | 39 | 16 | | 40 | 48 | | 41 | 24 | | 42 | 16 | | 43 | 8 | | 44 | 14 | | 45 | 23 | | 46 | 15 | | 47 | 35 | | 48 | 5 | | 49 | 4 |
| |
| 75.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.5 | | totalSentences | 60 | | uniqueOpeners | 30 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 60 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 6 | | totalSentences | 60 | | matches | | 0 | "His Saint Christopher medallion had" | | 1 | "She caught a glimpse of" | | 2 | "She'd heard rumors of squatter" | | 3 | "She pressed herself against the" | | 4 | "It had to be." | | 5 | "She could retreat, climb back" |
| | ratio | 0.1 | |
| 43.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 60 | | matches | | 0 | "Detective Harlow Quinn pressed herself" | | 1 | "Water dripped from the brim" | | 2 | "Tomás Herrera had been three" | | 3 | "His Saint Christopher medallion had" | | 4 | "Quinn had been tracking him" | | 5 | "The kind of case that" | | 6 | "Thunder rolled overhead, masking the" | | 7 | "The rain had driven most" | | 8 | "Quinn belonged to neither category," | | 9 | "She caught a glimpse of" | | 10 | "Herrera's silhouette flickered at its" | | 11 | "A gate, perhaps, or a" | | 12 | "Quinn's hand moved instinctively to" | | 13 | "That she was pursuing a" | | 14 | "That the former paramedic she'd" | | 15 | "The thought of explaining another" | | 16 | "Morris would have understood." | | 17 | "Morris had been with her" | | 18 | "The alley swallowed Herrera's form" | | 19 | "Quinn waited thirty seconds, counting" |
| | ratio | 0.833 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 60 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 51 | | technicalSentenceCount | 15 | | matches | | 0 | "Quinn had been tracking him for weeks—the former paramedic who'd lost his license under circumstances that the NHS refused to discuss in detail, who now seemed …" | | 1 | "The kind of case that reminded her of DS Morris and the night three years ago when everything she thought she understood about police work had crumbled like wet…" | | 2 | "She caught a glimpse of movement near the mouth of an alley that shouldn't exist—a narrow gap between two Victorian buildings that her mental map of the area in…" | | 3 | "The brick was old, older than the buildings it connected, and covered with a film of moisture that felt too warm for rainwater." | | 4 | "Symbols had been carved into the mortar at irregular intervals—geometric patterns that hurt to look at directly, as if they existed in more dimensions than her …" | | 5 | "The alley terminated at a metal grate set into the ground, its bars bent outward as if something had forced its way through from below." | | 6 | "Quinn crouched beside it, her flashlight beam revealing a ladder descending into darkness that seemed to swallow the light before it could penetrate more than a…" | | 7 | "But it was the market itself that stopped Quinn's breath in her throat." | | 8 | "Vendors hawked their wares from behind tables laden with objects that Quinn's rational mind refused to categorize—bottles filled with liquids that moved against…" | | 9 | "A bone token, Quinn realized with the cold certainty that accompanies nightmares made manifest." | | 10 | "The kind of currency that didn't exist in any official records, traded in markets that operated beyond the reach of conventional law enforcement." | | 11 | "Around her, other transactions proceeded with the casual efficiency of any marketplace—if any legitimate marketplace dealt in the sort of merchandise that made …" | | 12 | "Quinn had encountered references to it in case files that never seemed to lead anywhere, testimonies from witnesses who recanted their statements, evidence that…" | | 13 | "File a report that would carefully omit the supernatural elements, stick to the facts that wouldn't destroy her credibility or her sanity." | | 14 | "Or she could step forward into a marketplace that operated by rules she didn't understand, where her authority meant nothing and her weapon might prove worse th…" |
| |
| 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 | |