| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 1 | | adverbTags | | 0 | "Harlow froze then [then]" |
| | dialogueSentences | 4 | | tagDensity | 0.75 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1587 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 87.40% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1587 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "glint" | | 1 | "flickered" | | 2 | "charm" | | 3 | "scanning" |
| |
| 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 | 48 | | matches | (empty) | |
| 53.57% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 0 | | narrationSentences | 48 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 49 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 69 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1584 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 6 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 65 | | wordCount | 1457 | | uniqueNames | 24 | | maxNameDensity | 0.89 | | worstName | "Harlow" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | London | 3 | | Soho | 2 | | Harlow | 13 | | Quinn | 1 | | Raven | 1 | | Nest | 2 | | Morris | 7 | | Tomás | 7 | | Herrera | 2 | | Saint | 1 | | Christopher | 1 | | Ford | 1 | | Oxford | 1 | | Street | 2 | | Camden | 4 | | Underground | 1 | | Glock | 3 | | Veil | 4 | | Market | 4 | | Tube | 1 | | Northern | 1 | | Ireland | 1 | | Town | 1 | | High | 1 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Nest" | | 3 | "Morris" | | 4 | "Tomás" | | 5 | "Herrera" | | 6 | "Saint" | | 7 | "Christopher" | | 8 | "Market" |
| | places | | 0 | "London" | | 1 | "Soho" | | 2 | "Raven" | | 3 | "Oxford" | | 4 | "Street" | | 5 | "Camden" | | 6 | "Northern" | | 7 | "Ireland" | | 8 | "Town" | | 9 | "High" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 3 | | matches | | 0 | "looked like human finger bone from his po" | | 1 | "smelled like mold and rain and something e" | | 2 | "felt like a dream, like she’d stepped i" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1584 | | matches | (empty) | |
| 30.61% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 49 | | matches | | 0 | "hidden that night" | | 1 | "out that the" |
| |
| 30.70% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 11 | | mean | 144 | | std | 37.07 | | cv | 0.257 | | sampleLengths | | 0 | 248 | | 1 | 132 | | 2 | 149 | | 3 | 150 | | 4 | 129 | | 5 | 131 | | 6 | 155 | | 7 | 151 | | 8 | 128 | | 9 | 118 | | 10 | 93 |
| |
| 97.95% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 48 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 233 | | matches | | |
| 26.24% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 49 | | ratio | 0.041 | | matches | | 0 | "The rain that soaked London’s Soho that night wasn’t the soft mist tourists wrote home about—it was a needle-sharp, bone-deep cold that seeped through Harlow Quinn’s waterproof coat collar and plastered her closely cropped salt-and-pepper hair to her sharp jaw." | | 1 | "The worn leather watch on her left wrist—Morris’s, stolen from his locker the day they wheeled his body out of the morgue—ticked off the seconds, each one a quiet push to keep going, even when her captain had called her obsessed, even when every other detective in her unit had written off her leads about the clique as the ramblings of a grieving partner." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1470 | | adjectiveStacks | 2 | | stackExamples | | 0 | "short curly dark hair" | | 1 | "old leather-bound grimoires," |
| | adverbCount | 24 | | adverbRatio | 0.0163265306122449 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.006122448979591836 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 49 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 49 | | mean | 32.33 | | std | 14.54 | | cv | 0.45 | | sampleLengths | | 0 | 40 | | 1 | 40 | | 2 | 64 | | 3 | 52 | | 4 | 23 | | 5 | 29 | | 6 | 41 | | 7 | 36 | | 8 | 38 | | 9 | 17 | | 10 | 38 | | 11 | 25 | | 12 | 33 | | 13 | 53 | | 14 | 21 | | 15 | 56 | | 16 | 24 | | 17 | 37 | | 18 | 12 | | 19 | 18 | | 20 | 18 | | 21 | 29 | | 22 | 14 | | 23 | 20 | | 24 | 30 | | 25 | 40 | | 26 | 20 | | 27 | 23 | | 28 | 48 | | 29 | 40 | | 30 | 32 | | 31 | 14 | | 32 | 24 | | 33 | 45 | | 34 | 17 | | 35 | 29 | | 36 | 6 | | 37 | 38 | | 38 | 26 | | 39 | 35 | | 40 | 22 | | 41 | 49 | | 42 | 57 | | 43 | 10 | | 44 | 39 | | 45 | 69 | | 46 | 14 | | 47 | 28 | | 48 | 51 |
| |
| 62.59% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.3877551020408163 | | totalSentences | 49 | | uniqueOpeners | 19 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 48 | | matches | (empty) | | ratio | 0 | |
| 86.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 16 | | totalSentences | 48 | | matches | | 0 | "She’d been crouched across the" | | 1 | "She’d spent three years chasing" | | 2 | "She’d spent three weeks building" | | 3 | "He spotted her before she" | | 4 | "He was fast, but Harlow" | | 5 | "She almost lost him when" | | 6 | "She’d heard the rumors, the" | | 7 | "She watched Tomás yank a" | | 8 | "She was a cop, trained" | | 9 | "She could call it in," | | 10 | "Her captain would call her" | | 11 | "She fumbled in her pocket" | | 12 | "She slipped down the stairs," | | 13 | "She’d spent three years suspecting" | | 14 | "She spotted him twenty feet" | | 15 | "He spotted her a second" |
| | ratio | 0.333 | |
| 1.67% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 44 | | totalSentences | 48 | | matches | | 0 | "The rain that soaked London’s" | | 1 | "She’d been crouched across the" | | 2 | "The worn leather watch on" | | 3 | "The coroner had listed his" | | 4 | "She’d spent three years chasing" | | 5 | "Tomás stepped out of the" | | 6 | "Harlow moved before she thought," | | 7 | "She’d spent three weeks building" | | 8 | "He spotted her before she" | | 9 | "The chase wound west from" | | 10 | "He was fast, but Harlow" | | 11 | "She almost lost him when" | | 12 | "Harlow skidded to a stop" | | 13 | "She’d heard the rumors, the" | | 14 | "Tonight was the full moon," | | 15 | "She watched Tomás yank a" | | 16 | "The door clicked open, and" | | 17 | "Harlow hesitated, her fingers twisting" | | 18 | "She was a cop, trained" | | 19 | "She could call it in," |
| | ratio | 0.917 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 48 | | matches | | 0 | "By the time they crossed" |
| | ratio | 0.021 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 12 | | matches | | 0 | "She’d been crouched across the street from the Raven’s Nest for four hours, its green neon sign bleeding into the black asphalt, her boots planted in a puddle t…" | | 1 | "Three years prior, her partner DS Morris had died mid-case, his throat torn open in an abandoned building that reeked of burnt ozone, no weapon, no trace of a s…" | | 2 | "She’d spent three weeks building a file on Herrera, the former NHS paramedic who’d lost his license two years prior for administering unapproved treatments, who…" | | 3 | "The chase wound west from Soho, weaving through crowds of drunk clubgoers that spilled onto Oxford Street, past food carts locked up for the night, Harlow’s boo…" | | 4 | "By the time they crossed into Camden, the streets thinned, the neon of market stalls and rock clubs replaced by the dim glow of streetlights that flickered in t…" | | 5 | "She’d heard the rumors, the ones her CI had mumbled over a plastic cup of gin in a pub toilet a month prior: the Veil Market, a supernatural black market that m…" | | 6 | "Tonight was the full moon, the sky glowing silver behind the roiling clouds, the same moon that had hung over the night Morris died." | | 7 | "The Veil Market stretched as far as she could see, stalls lining both walls, crowds of figures haggling in languages she didn’t recognize, some with horns curli…" | | 8 | "That was the unapproved treatment he’d lost his license for, the stuff he used to patch up the clique’s wounded, the stuff that had killed three people who’d go…" | | 9 | "He spotted her a second later, his head snapping up, and he ran again, vanishing into the crowd before she could yell." | | 10 | "Harlow chased him, weaving around a minotaur who blocked her path, almost knocking over a stack of cursed dolls that snapped their jaws at her as she passed, th…" | | 11 | "For the first time in three years, she had to choose: shoot the suspect she’d spent months chasing, or trust the man in front of her, step into a world she bare…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 1 | | matches | | 0 | "Harlow ducked, her gaze scanning the crowd for Tomás’s dark curls" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 2 | | fancyTags | | 0 | "Harlow ducked (duck)" | | 1 | "Tomás laughed (laugh)" |
| | dialogueSentences | 4 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 1 | | effectiveRatio | 1 | |