| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 1 | | adverbTags | | | dialogueSentences | 18 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.111 | | effectiveRatio | 0.111 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1320 | | 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) | |
| 31.82% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1320 | | totalAiIsms | 18 | | found | | | highlights | | 0 | "rhythmic" | | 1 | "shattered" | | 2 | "clandestine" | | 3 | "velvet" | | 4 | "shimmered" | | 5 | "silence" | | 6 | "stark" | | 7 | "gloom" | | 8 | "glinting" | | 9 | "flicker" | | 10 | "traced" | | 11 | "lilt" | | 12 | "tension" | | 13 | "navigate" | | 14 | "absolutely" | | 15 | "dancing" | | 16 | "electric" |
| |
| 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 | 66 | | matches | (empty) | |
| 12.99% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 4 | | narrationSentences | 66 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 76 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 39 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1311 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 1038 | | uniqueNames | 18 | | maxNameDensity | 0.87 | | worstName | "Harlow" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Harlow" | | discoveredNames | | Soho | 2 | | Greek | 1 | | Street | 1 | | Harlow | 9 | | Quinn | 1 | | Raven | 1 | | Nest | 1 | | Met | 2 | | Morris | 3 | | London | 1 | | Veil | 2 | | Market | 1 | | Tube | 1 | | Camden | 1 | | Saint | 1 | | Christopher | 1 | | Seville | 1 | | Tomás | 3 |
| | persons | | 0 | "Harlow" | | 1 | "Quinn" | | 2 | "Raven" | | 3 | "Morris" | | 4 | "Saint" | | 5 | "Christopher" | | 6 | "Tomás" |
| | places | | 0 | "Soho" | | 1 | "Greek" | | 2 | "Street" | | 3 | "London" | | 4 | "Veil" | | 5 | "Seville" |
| | globalScore | 1 | | windowScore | 1 | |
| 20.69% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 3 | | matches | | 0 | "photographs that seemed to watch her as she crossed the floor" | | 1 | "items that seemed to bleed light or hum with a guttural, discordant vibration" | | 2 | "looked like solidified moonlight" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1311 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 76 | | matches | (empty) | |
| 58.23% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 48.56 | | std | 17.18 | | cv | 0.354 | | sampleLengths | | 0 | 83 | | 1 | 46 | | 2 | 48 | | 3 | 69 | | 4 | 71 | | 5 | 38 | | 6 | 20 | | 7 | 62 | | 8 | 39 | | 9 | 66 | | 10 | 54 | | 11 | 29 | | 12 | 75 | | 13 | 32 | | 14 | 61 | | 15 | 41 | | 16 | 59 | | 17 | 42 | | 18 | 57 | | 19 | 29 | | 20 | 37 | | 21 | 69 | | 22 | 16 | | 23 | 37 | | 24 | 29 | | 25 | 53 | | 26 | 49 |
| |
| 94.63% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 66 | | matches | | 0 | "was transformed" | | 1 | "been scrubbed" |
| |
| 39.36% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 166 | | matches | | 0 | "was running" | | 1 | "was following" | | 2 | "was selling" | | 3 | "was haggling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 1 | | flaggedSentences | 6 | | totalSentences | 76 | | ratio | 0.079 | | matches | | 0 | "She didn't have to guess; she had been tracking the rumors of clandestine meetings here for months, ever since the internal reports regarding the disappearances of people like DS Morris stopped making sense." | | 1 | "The man she was following—the one with the olive skin and the tell-tale hesitation in his stride—was already halfway down." | | 2 | "He fumbled with something in his pocket, pulling out a white, carved disc—a bone token." | | 3 | "He looked caught, defenseless, but there was a flicker of something else in his brown eyes—a weary acceptance." | | 4 | "The sheer, impossible nature of it made her head swim, but the memory of Morris—the way his case file had been scrubbed clean, the way the forensic evidence had simply vanished—anchored her." | | 5 | "The path ahead led deeper into the belly of the Veil, into territory where the laws of physics—and the law of the Met—meant absolutely nothing." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 872 | | adjectiveStacks | 1 | | stackExamples | | 0 | "narrow, stone-walled staircase" |
| | adverbCount | 16 | | adverbRatio | 0.01834862385321101 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.006880733944954129 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 76 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 76 | | mean | 17.25 | | std | 9.16 | | cv | 0.531 | | sampleLengths | | 0 | 27 | | 1 | 25 | | 2 | 31 | | 3 | 4 | | 4 | 4 | | 5 | 20 | | 6 | 18 | | 7 | 14 | | 8 | 18 | | 9 | 16 | | 10 | 31 | | 11 | 38 | | 12 | 5 | | 13 | 23 | | 14 | 10 | | 15 | 33 | | 16 | 13 | | 17 | 25 | | 18 | 20 | | 19 | 2 | | 20 | 4 | | 21 | 11 | | 22 | 27 | | 23 | 18 | | 24 | 14 | | 25 | 18 | | 26 | 7 | | 27 | 8 | | 28 | 22 | | 29 | 9 | | 30 | 27 | | 31 | 19 | | 32 | 15 | | 33 | 20 | | 34 | 10 | | 35 | 14 | | 36 | 5 | | 37 | 15 | | 38 | 21 | | 39 | 18 | | 40 | 21 | | 41 | 14 | | 42 | 18 | | 43 | 33 | | 44 | 28 | | 45 | 10 | | 46 | 31 | | 47 | 39 | | 48 | 20 | | 49 | 23 |
| |
| 32.02% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.3026315789473684 | | totalSentences | 76 | | uniqueOpeners | 23 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 65 | | matches | (empty) | | ratio | 0 | |
| 47.69% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 65 | | matches | | 0 | "She kept her pace steady," | | 1 | "She didn't need to." | | 2 | "She rounded the corner just" | | 3 | "She paused, lifting her wrist" | | 4 | "She crossed the street, the" | | 5 | "She moved with a purpose" | | 6 | "She ignored the murmurs and" | | 7 | "She didn't have to guess;" | | 8 | "She pressed against the decorative" | | 9 | "She had stumbled upon the" | | 10 | "He fumbled with something in" | | 11 | "He surrendered it, and the" | | 12 | "she called out, her voice" | | 13 | "He was younger than she" | | 14 | "He looked caught, defenseless, but" | | 15 | "he said, his voice laced" | | 16 | "she said, closing the distance," | | 17 | "he spat back, his shoulders" | | 18 | "she said, her voice dropping" | | 19 | "He turned to the hanging" |
| | ratio | 0.431 | |
| 21.54% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 57 | | totalSentences | 65 | | matches | | 0 | "The rain in Soho was" | | 1 | "She kept her pace steady," | | 2 | "Harlow didn't call out." | | 3 | "She didn't need to." | | 4 | "She rounded the corner just" | | 5 | "The buzzing of the green" | | 6 | "She paused, lifting her wrist" | | 7 | "She crossed the street, the" | | 8 | "The bar was a cavern" | | 9 | "Silas was behind the counter," | | 10 | "Harlow didn't approach the bar." | | 11 | "She moved with a purpose" | | 12 | "She ignored the murmurs and" | | 13 | "She didn't have to guess;" | | 14 | "She pressed against the decorative" | | 15 | "The shelf groaned and gave" | | 16 | "The man she was following—the" | | 17 | "This wasn't the protocol." | | 18 | "This bypassed the station, the" | | 19 | "The staircase opened into a" |
| | ratio | 0.877 | |
| 76.92% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 65 | | matches | | 0 | "If she followed him, she" |
| | ratio | 0.015 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 9 | | matches | | 0 | "The rain in Soho was a cold, rhythmic assault, turning the cobblestones of Greek Street into slick mirrors that shattered beneath the soles of Harlow Quinn’s bo…" | | 1 | "Ahead of her, a man in a dark coat ducked into the shadow of an alleyway, his movements flicking with a frantic cadence that had caught her eye three blocks bac…" | | 2 | "The bar was a cavern of stale tobacco and nostalgia, the walls papered over with yellowing maps and candid black-and-white photographs that seemed to watch her …" | | 3 | "Silas was behind the counter, polishing a glass with a rag that had seen better days, his eyes flicking toward the bookshelf at the back of the room before he r…" | | 4 | "The shelf groaned and gave way, revealing a narrow, stone-walled staircase that plunged into the earth, reeking of ozone and something iron-sharp, like old bloo…" | | 5 | "The staircase opened into a sprawling, subterranean expanse that defied the geography of London." | | 6 | "Creatures with shadows that didn't match their bodies moved with unnerving grace, trading in items that seemed to bleed light or hum with a guttural, discordant…" | | 7 | "Beyond the veil, the air hummed with a low, rhythmic thrumming that threatened to shatter her eardrums." | | 8 | "Tomás hesitated, his gaze sliding from her to the pulsating, dark abyss beyond the curtains." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 4 | | matches | | 0 | "she called out, her voice cutting through the unnatural silence of the market" | | 1 | "he spat back, his shoulders rising with defensive tension" | | 2 | "she said, her voice dropping to a low, dangerous register" | | 3 | "Harlow said, her hand tight on the grip of her weapon" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 3 | | fancyTags | | 0 | "she called out (call out)" | | 1 | "he spat back (spit)" | | 2 | "he whispered (whisper)" |
| | dialogueSentences | 18 | | tagDensity | 0.389 | | leniency | 0.778 | | rawRatio | 0.429 | | effectiveRatio | 0.333 | |