| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 18 | | tagDensity | 0.833 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1601 | | 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) | |
| 62.52% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1601 | | totalAiIsms | 12 | | found | | | highlights | | 0 | "measured" | | 1 | "sentinel" | | 2 | "warmth" | | 3 | "weight" | | 4 | "silence" | | 5 | "rhythmic" | | 6 | "pulsed" | | 7 | "shimmered" | | 8 | "porcelain" | | 9 | "reminder" | | 10 | "dance" | | 11 | "flickered" |
| |
| 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 | 1 | | narrationSentences | 57 | | matches | | |
| 0.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 4 | | hedgeCount | 4 | | narrationSentences | 57 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 58 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 82 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1592 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 62 | | wordCount | 1446 | | uniqueNames | 19 | | maxNameDensity | 1.31 | | worstName | "Quinn" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Quinn" | | discoveredNames | | London | 3 | | Camden | 2 | | Harlow | 1 | | Quinn | 19 | | Met | 1 | | Tomás | 1 | | Herrera | 15 | | Soho | 1 | | Victorian | 1 | | Saint | 2 | | Christopher | 2 | | Raven | 1 | | Nest | 2 | | Morris | 4 | | Tube | 2 | | Veil | 1 | | Market | 1 | | Begining | 1 | | Go | 2 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Tomás" | | 3 | "Herrera" | | 4 | "Victorian" | | 5 | "Saint" | | 6 | "Christopher" | | 7 | "Morris" | | 8 | "Go" |
| | places | | 0 | "London" | | 1 | "Camden" | | 2 | "Met" | | 3 | "Soho" | | 4 | "Raven" | | 5 | "Nest" |
| | globalScore | 0.843 | | windowScore | 0.833 | |
| 90.48% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 42 | | glossingSentenceCount | 1 | | matches | | 0 | "groan that seemed to vibrate in Quinn’s teeth, the grate slid back" | | 1 | "looked like a fragment of a human rib. He" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1592 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 58 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 38 | | mean | 41.89 | | std | 22.22 | | cv | 0.53 | | sampleLengths | | 0 | 84 | | 1 | 13 | | 2 | 90 | | 3 | 63 | | 4 | 51 | | 5 | 43 | | 6 | 16 | | 7 | 48 | | 8 | 80 | | 9 | 69 | | 10 | 15 | | 11 | 34 | | 12 | 60 | | 13 | 16 | | 14 | 53 | | 15 | 6 | | 16 | 81 | | 17 | 17 | | 18 | 53 | | 19 | 46 | | 20 | 59 | | 21 | 25 | | 22 | 21 | | 23 | 63 | | 24 | 43 | | 25 | 55 | | 26 | 32 | | 27 | 36 | | 28 | 37 | | 29 | 68 | | 30 | 38 | | 31 | 19 | | 32 | 31 | | 33 | 33 | | 34 | 35 | | 35 | 12 | | 36 | 16 | | 37 | 31 |
| |
| 80.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 57 | | matches | | 0 | "been locked" | | 1 | "been murdered" | | 2 | "been *unmade" | | 3 | "been transformed" | | 4 | "were fashioned" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 8 | | totalVerbs | 250 | | matches | | 0 | "were losing" | | 1 | "wasn't playing" | | 2 | "was standing" | | 3 | "was fumbling" | | 4 | "was weaving" | | 5 | "was weighing" | | 6 | "was rattling" | | 7 | "was leaving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 2 | | flaggedSentences | 8 | | totalSentences | 58 | | ratio | 0.138 | | matches | | 0 | "The rain didn’t fall in London tonight; it dissolved." | | 1 | "She peered around the edge. Herrera was standing by a heavy iron grate set into the ground beside a rusted-out dumpster. He was fumbling with something at his throat. Quinn saw the flash of gold—his Saint Christopher medallion—as he reached under his shirt. But it wasn't the medallion he pulled out." | | 2 | "Quinn reached the spot in seconds. She holstered her weapon—it wouldn't do much good against whatever was down there if the whispers she’d heard at The Raven’s Nest were true—and gripped the edge of the grate. It shouldn't have moved for her. It should have been locked tight, a silent sentinel of the London sewer system. But as she touched the iron, she felt a residual warmth, a thrumming hum that made the fine hairs on her arms stand up." | | 3 | "Quinn didn't hesitate. She climbed down, her boots ringing against the metal. The air grew warmer the deeper she went, thick and heavy with a pressurized weight that made her ears pop. At the bottom, she found herself in a vaulted brick tunnel—part of a discarded Tube station, she realized, one of the 'ghost stations' erased from the modern maps." | | 4 | "The scale of it stole the air from her lungs. Stalls were fashioned from salvaged Tube carriages and ornate wooden kiosks, draped in silks that shimmered with impossible colors. The ceiling was a tangled canopy of copper pipes and hanging lanterns that burned with green and blue flames. Figures moved through the hazy light—some looked human enough, wearing heavy coats and hushed expressions, while others walked with a gait that suggested too many joints or silhouettes that blurred at the edges." | | 5 | "\"Herrera!\" Quinn shoved her way through the press of bodies. She collided with a man who felt as solid as a stone pillar; when she looked up to apologize, she saw only a polished porcelain mask where a face should be. She didn't stop to stare." | | 6 | "Quinn felt a tremor in the ground. It wasn't a train. It was something deeper, a low-frequency vibration that made the Saint Christopher medallion around Herrera’s neck dance against his skin. From the darkness of the tunnels beyond the market, a sound emerged—a long, dry rattling, like a thousand dead leaves skittering across a tombstone." | | 7 | "Quinn looked behind her. The entrance she had used—the tunnel that led back to the world of rain and sirens and logic—was Begining to shimmer, the brickwork turning translucent, revealing a void of swirling grey mist beyond." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 625 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 12 | | adverbRatio | 0.0192 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.0096 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 58 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 58 | | mean | 27.45 | | std | 21.27 | | cv | 0.775 | | sampleLengths | | 0 | 9 | | 1 | 25 | | 2 | 23 | | 3 | 5 | | 4 | 22 | | 5 | 13 | | 6 | 5 | | 7 | 28 | | 8 | 13 | | 9 | 22 | | 10 | 22 | | 11 | 63 | | 12 | 51 | | 13 | 43 | | 14 | 1 | | 15 | 1 | | 16 | 14 | | 17 | 48 | | 18 | 80 | | 19 | 69 | | 20 | 15 | | 21 | 34 | | 22 | 60 | | 23 | 16 | | 24 | 53 | | 25 | 6 | | 26 | 81 | | 27 | 17 | | 28 | 53 | | 29 | 46 | | 30 | 59 | | 31 | 25 | | 32 | 14 | | 33 | 4 | | 34 | 3 | | 35 | 43 | | 36 | 11 | | 37 | 9 | | 38 | 38 | | 39 | 5 | | 40 | 55 | | 41 | 32 | | 42 | 12 | | 43 | 16 | | 44 | 8 | | 45 | 37 | | 46 | 68 | | 47 | 38 | | 48 | 19 | | 49 | 13 |
| |
| 50.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3620689655172414 | | totalSentences | 58 | | uniqueOpeners | 21 | |
| 61.73% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 54 | | matches | | 0 | "Just like you're doing" |
| | ratio | 0.019 | |
| 79.26% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 54 | | matches | | 0 | "It was a fine, grey-black" | | 1 | "She didn't mind the cold." | | 2 | "She had been trailing Herrera" | | 3 | "He moved with a frantic," | | 4 | "She’d memorized his file:" | | 5 | "She peered around the edge." | | 6 | "He produced a small, jagged" | | 7 | "She thought of DS Morris." | | 8 | "She hauled on the grate." | | 9 | "She followed the tunnel, her" | | 10 | "She had reached the Veil" | | 11 | "She chased Herrera toward the" | | 12 | "she hissed, her jaw tight" | | 13 | "I know you were at" | | 14 | "I know your" | | 15 | "You won't find your way" | | 16 | "She looked back at Herrera." | | 17 | "Her jaw set into a" | | 18 | "she asked, her voice steady" |
| | ratio | 0.352 | |
| 15.56% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 54 | | matches | | 0 | "The rain didn’t fall in" | | 1 | "It was a fine, grey-black" | | 2 | "Detective Harlow Quinn adjusted the" | | 3 | "She didn't mind the cold." | | 4 | "The cold was a physical" | | 5 | "Quinn checked her left wrist." | | 6 | "The worn leather strap of" | | 7 | "She had been trailing Herrera" | | 8 | "He moved with a frantic," | | 9 | "She’d memorized his file:" | | 10 | "Herrera ducked into a narrow" | | 11 | "She peered around the edge." | | 12 | "He produced a small, jagged" | | 13 | "Stay where you" | | 14 | "The man jerked his head" | | 15 | "Quinn reached the spot in" | | 16 | "She thought of DS Morris." | | 17 | "The department had buried the" | | 18 | "She hauled on the grate." | | 19 | "Quinn didn't hesitate. She climbed" |
| | ratio | 0.889 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 2 | | totalSentences | 54 | | matches | | 0 | "If you're still here when" | | 1 | "If she stayed, if she" |
| | ratio | 0.037 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 11 | | matches | | 0 | "It was a fine, grey-black soot that slicked the pavement of Camden until the streetlights reflected off the asphalt like oil on a knife blade." | | 1 | "Herrera ducked into a narrow cut-through between two crumbling Victorian warehouses. Quinn broke into a sprint, her boots slapping rhythmically against the wet …" | | 2 | "He produced a small, jagged object that looked like a fragment of a human rib. He knelt, pressing the bone into a concealed groove in the ironwork. With a heavy…" | | 3 | "The man jerked his head around. Even through the rain, Quinn saw the flash of his warm brown eyes, wide with a cocktail of terror and something that looked unco…" | | 4 | "Quinn reached the spot in seconds. She holstered her weapon—it wouldn't do much good against whatever was down there if the whispers she’d heard at The Raven’s …" | | 5 | "She followed the tunnel, her hand hovering near her service pistol. The walls began to change. The soot-stained brick gave way to smooth, bioluminescent moss th…" | | 6 | "The scale of it stole the air from her lungs. Stalls were fashioned from salvaged Tube carriages and ornate wooden kiosks, draped in silks that shimmered with i…" | | 7 | "Quinn spotted Herrera. He was weaving through a crowd of people gathered around a merchant selling jars of liquid that glowed like captured lightning. He looked…" | | 8 | "She chased Herrera toward the back of the market, where the air grew colder and the shadows of the abandoned tracks stretched long and thin. He tripped near a p…" | | 9 | "Quinn felt a tremor in the ground. It wasn't a train. It was something deeper, a low-frequency vibration that made the Saint Christopher medallion around Herrer…" | | 10 | "Quinn looked behind her. The entrance she had used—the tunnel that led back to the world of rain and sirens and logic—was Begining to shimmer, the brickwork tur…" |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 3 | | matches | | 0 | "she hissed, her jaw tight" | | 1 | "Herrera whispered, his voice cracking" | | 2 | "she asked, her voice steady" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 4 | | fancyTags | | 0 | "she hissed (hiss)" | | 1 | "Herrera gasped (gasp)" | | 2 | "Herrera whispered (whisper)" | | 3 | "Herrera pleaded (plead)" |
| | dialogueSentences | 18 | | tagDensity | 0.389 | | leniency | 0.778 | | rawRatio | 0.571 | | effectiveRatio | 0.444 | |