| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 5 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.714 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 92.98% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1425 | | totalAiIsmAdverbs | 2 | | 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) | |
| 47.37% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1425 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "silence" | | 1 | "reminder" | | 2 | "clandestine" | | 3 | "pulse" | | 4 | "quickened" | | 5 | "determined" | | 6 | "familiar" | | 7 | "glinting" | | 8 | "charm" | | 9 | "raced" | | 10 | "otherworldly" | | 11 | "racing" | | 12 | "unraveling" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "knuckles turned white" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 58 | | matches | (empty) | |
| 68.97% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 58 | | 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 | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1394 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 96.52% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 61 | | wordCount | 1309 | | uniqueNames | 18 | | maxNameDensity | 1.07 | | worstName | "Harlow" | | maxWindowNameDensity | 2 | | worstWindowName | "Voss" | | discoveredNames | | Soho | 1 | | Raven | 2 | | Nest | 3 | | Morris | 9 | | Jake | 1 | | Voss | 8 | | Harlow | 14 | | Camden | 2 | | Tube | 2 | | Veil | 4 | | Market | 4 | | Tomás | 4 | | Herrera | 2 | | Seville | 1 | | Spain | 1 | | Saint | 1 | | Christopher | 1 | | Don | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Morris" | | 3 | "Jake" | | 4 | "Voss" | | 5 | "Harlow" | | 6 | "Camden" | | 7 | "Tomás" | | 8 | "Herrera" | | 9 | "Saint" | | 10 | "Christopher" |
| | places | | 0 | "Soho" | | 1 | "Veil" | | 2 | "Market" | | 3 | "Seville" | | 4 | "Spain" |
| | globalScore | 0.965 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1394 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 60 | | matches | (empty) | |
| 48.80% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 15 | | mean | 92.93 | | std | 29.81 | | cv | 0.321 | | sampleLengths | | 0 | 157 | | 1 | 93 | | 2 | 118 | | 3 | 120 | | 4 | 80 | | 5 | 108 | | 6 | 75 | | 7 | 75 | | 8 | 63 | | 9 | 34 | | 10 | 97 | | 11 | 83 | | 12 | 75 | | 13 | 80 | | 14 | 136 |
| |
| 93.16% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 58 | | matches | | 0 | "were rumored" | | 1 | "was found" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 212 | | matches | | 0 | "was using" | | 1 | "were patrolling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 18 | | semicolonCount | 1 | | flaggedSentences | 15 | | totalSentences | 60 | | ratio | 0.25 | | matches | | 0 | "The rain had plastered her closely cropped salt-and-pepper hair to her sharp jaw, and she wiped a bead of water from her brown eyes before checking the worn leather watch on her left wrist—1:17 a.m." | | 1 | "She’d staked out the Nest for three nights straight, her intel linking the bar’s clandestine back room (accessible through a bookshelf, she’d confirmed with a tip) to the clique she’d been hunting—a group whose criminal activity she’d tied to unexplained disappearances, the same vague thread that had tangled Morris’s final case." | | 2 | "Through the Raven’s Nest’s steamed windows, she could make out the faint glow of old maps and black-and-white photographs lining the walls—details she’d memorized from a confidential informant’s statement." | | 3 | "She’d tensed then, her military bearing coiling like a spring, but had held back; rushing in would have alerted the clique to her presence, and she’d already lost too many leads to reckless action." | | 4 | "She adjusted her grip on her baton, her fingers tightening at the memory of Morris’s empty desk—his radio crushed beyond repair, no signs of struggle, a single red question mark scrawled on his final report next to “supernatural origins.”" | | 5 | "He emerged onto a main road heading north toward Camden, and Harlow’s pulse quickened—Camden’s abandoned Tube stations were rumored to be the current home of the Veil Market, a hidden supernatural black market that moved locations every full moon." | | 6 | "Harlow slipped through behind him, her gaze falling on the mouth of an abandoned Tube station—boarded up, but with a loose plank pried free from the entrance." | | 7 | "He fumbled in his coat pocket before pulling out a small, yellowed bone—maybe a finger bone—and pressing it to a rusted metal panel on the wall." | | 8 | "She closed her eyes for a second, seeing Morris’s face—his laugh, the way he’d always bring her a coffee on early stakesouts, the way he’d vanished without a trace three years prior—before opening them again, determined." | | 9 | "She’d been looking into Herrera for weeks—a former NHS paramedic born in Seville, Spain, who’d lost his license for administering unauthorized treatments to supernatural patients." | | 10 | "His fingers brushed the medallion—a nervous tic, Harlow noted—as he spoke, his voice low and urgent." | | 11 | "She thought about Morris’s death—maybe he’d stumbled on a similar exchange, maybe he’d tried to confront a guard, maybe the supernatural elements had overwhelmed him before he could call for backup." | | 12 | "She could hear the guard’s boots approaching, the clink of a bone token in his pocket, and she closed her eyes, remembering Morris’s final words to her—“Don’t trust the silence, Harlow. It hides more than you know.”" | | 13 | "She could turn back, report her findings, and wait for backup, but the Veil Market would move with the next full moon—only three days away—and she’d lose her chance to link the clique to the supernatural trade." | | 14 | "She didn’t know what lay ahead, but she knew she couldn’t turn back—not when she was so close to unraveling the thread that had killed her partner, not when the clique’s supernatural crimes were finally within her grasp." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1118 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 23 | | adverbRatio | 0.020572450805008944 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.008050089445438283 | |
| 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 | 23.23 | | std | 10.84 | | cv | 0.467 | | sampleLengths | | 0 | 29 | | 1 | 35 | | 2 | 42 | | 3 | 51 | | 4 | 29 | | 5 | 30 | | 6 | 34 | | 7 | 6 | | 8 | 16 | | 9 | 23 | | 10 | 34 | | 11 | 39 | | 12 | 21 | | 13 | 23 | | 14 | 39 | | 15 | 37 | | 16 | 15 | | 17 | 27 | | 18 | 20 | | 19 | 18 | | 20 | 18 | | 21 | 25 | | 22 | 26 | | 23 | 19 | | 24 | 3 | | 25 | 17 | | 26 | 5 | | 27 | 24 | | 28 | 36 | | 29 | 10 | | 30 | 15 | | 31 | 14 | | 32 | 25 | | 33 | 21 | | 34 | 26 | | 35 | 18 | | 36 | 3 | | 37 | 16 | | 38 | 22 | | 39 | 12 | | 40 | 18 | | 41 | 47 | | 42 | 32 | | 43 | 3 | | 44 | 21 | | 45 | 31 | | 46 | 28 | | 47 | 10 | | 48 | 28 | | 49 | 37 |
| |
| 33.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.26666666666666666 | | totalSentences | 60 | | uniqueOpeners | 16 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 58 | | matches | | 0 | "Then the bar’s door creaked" | | 1 | "Then she saw them: Voss" |
| | ratio | 0.034 | |
| 20.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 58 | | matches | | 0 | "She’d staked out the Nest" | | 1 | "She’d tensed then, her military" | | 2 | "His boots sloshed through a" | | 3 | "She adjusted her grip on" | | 4 | "She skidded on a patch" | | 5 | "He emerged onto a main" | | 6 | "She’d heard whispers of its" | | 7 | "She paused, her watch ticking" | | 8 | "She counted to ten before" | | 9 | "She crept forward, her back" | | 10 | "He fumbled in his coat" | | 11 | "She closed her eyes for" | | 12 | "She’d find a way in," | | 13 | "She slipped into the cavern," | | 14 | "She’d been looking into Herrera" | | 15 | "He now provided off-the-books medical" | | 16 | "His fingers brushed the medallion—a" | | 17 | "He nodded toward a stall" | | 18 | "She thought about Morris’s death—maybe" | | 19 | "She had to get proof," |
| | ratio | 0.5 | |
| 11.72% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 58 | | matches | | 0 | "Harlow’s boot crunched a discarded" | | 1 | "The rain had plastered her" | | 2 | "She’d staked out the Nest" | | 3 | "A group of hooded figures" | | 4 | "She’d tensed then, her military" | | 5 | "A figure emerged, hood pulled" | | 6 | "Harlow recognized him immediately: Jake" | | 7 | "His boots sloshed through a" | | 8 | "She adjusted her grip on" | | 9 | "Voss cut through a narrow" | | 10 | "She skidded on a patch" | | 11 | "He emerged onto a main" | | 12 | "She’d heard whispers of its" | | 13 | "Voss veered into a chain-link" | | 14 | "Harlow slipped through behind him," | | 15 | "She paused, her watch ticking" | | 16 | "She counted to ten before" | | 17 | "The tunnel air smelled of" | | 18 | "She crept forward, her back" | | 19 | "He fumbled in his coat" |
| | ratio | 0.897 | |
| 86.21% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 58 | | matches | | 0 | "Now she had to decide." |
| | ratio | 0.017 | |
| 8.93% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 9 | | matches | | 0 | "She’d staked out the Nest for three nights straight, her intel linking the bar’s clandestine back room (accessible through a bookshelf, she’d confirmed with a t…" | | 1 | "She’d tensed then, her military bearing coiling like a spring, but had held back; rushing in would have alerted the clique to her presence, and she’d already lo…" | | 2 | "She skidded on a patch of moss, catching herself on a rusted fire escape before continuing, her lungs burning with the cold rain." | | 3 | "He emerged onto a main road heading north toward Camden, and Harlow’s pulse quickened—Camden’s abandoned Tube stations were rumored to be the current home of th…" | | 4 | "She counted to ten before following, her baton raised, her boots crunching on broken glass and crumbling concrete." | | 5 | "She’d been looking into Herrera for weeks—a former NHS paramedic born in Seville, Spain, who’d lost his license for administering unauthorized treatments to sup…" | | 6 | "She had to get proof, but she was without a bone token, and the market’s guards were patrolling the entrance, their eyes glowing with a faint, otherworldly ligh…" | | 7 | "She thought about the clique’s victims, the people who’d vanished without a trace, their families left with no answers." | | 8 | "She didn’t know what lay ahead, but she knew she couldn’t turn back—not when she was so close to unraveling the thread that had killed her partner, not when the…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 5 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 7 | | tagDensity | 0.143 | | leniency | 0.286 | | rawRatio | 0 | | effectiveRatio | 0 | |