| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 70 | | tagDensity | 0.229 | | leniency | 0.457 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 87.24% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1568 | | totalAiIsmAdverbs | 4 | | found | | 0 | | | 1 | | | 2 | | | 3 | | adverb | "deliberately" | | count | 1 |
|
| | highlights | | 0 | "lightly" | | 1 | "truly" | | 2 | "slowly" | | 3 | "deliberately" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 77.68% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1568 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "flicker" | | 1 | "flickered" | | 2 | "measured" | | 3 | "silence" | | 4 | "echoed" | | 5 | "footsteps" | | 6 | "familiar" |
| |
| 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 | 100 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 100 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 154 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 62 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1557 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 22 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 1183 | | uniqueNames | 19 | | maxNameDensity | 0.93 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Silas" | | discoveredNames | | Aurora | 4 | | Carter | 1 | | Silas | 11 | | London | 2 | | Brussels | 1 | | Cardiff | 2 | | Raven | 1 | | Nest | 1 | | God | 1 | | South | 1 | | Bank | 1 | | Thames | 1 | | Tube | 1 | | Greek | 1 | | Street | 2 | | Evan | 1 | | Maker | 1 | | Old | 1 | | Compton | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Carter" | | 2 | "Silas" | | 3 | "Raven" | | 4 | "Nest" | | 5 | "Evan" | | 6 | "Maker" |
| | places | | 0 | "London" | | 1 | "Brussels" | | 2 | "Cardiff" | | 3 | "God" | | 4 | "Thames" | | 5 | "Greek" | | 6 | "Street" | | 7 | "Old" | | 8 | "Compton" |
| | globalScore | 1 | | windowScore | 1 | |
| 20.69% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 3 | | matches | | 0 | "not quite a smile, but something older, something that didn’t need to smile to mean what it meant" | | 1 | "felt like a cage and Evan’s voice still" | | 2 | "looked like the man she’d once trusted to" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.642 | | wordCount | 1557 | | matches | | 0 | "not quite a smile, but something older, something" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 154 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 86 | | mean | 18.1 | | std | 20.97 | | cv | 1.158 | | sampleLengths | | 0 | 97 | | 1 | 7 | | 2 | 89 | | 3 | 2 | | 4 | 51 | | 5 | 14 | | 6 | 20 | | 7 | 33 | | 8 | 17 | | 9 | 7 | | 10 | 7 | | 11 | 14 | | 12 | 32 | | 13 | 24 | | 14 | 30 | | 15 | 30 | | 16 | 21 | | 17 | 10 | | 18 | 9 | | 19 | 47 | | 20 | 5 | | 21 | 8 | | 22 | 14 | | 23 | 39 | | 24 | 15 | | 25 | 17 | | 26 | 45 | | 27 | 4 | | 28 | 6 | | 29 | 17 | | 30 | 4 | | 31 | 3 | | 32 | 2 | | 33 | 21 | | 34 | 65 | | 35 | 6 | | 36 | 5 | | 37 | 6 | | 38 | 14 | | 39 | 40 | | 40 | 8 | | 41 | 4 | | 42 | 6 | | 43 | 9 | | 44 | 2 | | 45 | 5 | | 46 | 121 | | 47 | 8 | | 48 | 6 | | 49 | 10 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 100 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 210 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 154 | | ratio | 0.065 | | matches | | 0 | "The air smelled of stale beer and something faintly citrus—lime maybe, or maybe that was just the lingering trace of whatever cocktail Silas had last mixed." | | 1 | "His left hand rested on the polished mahogany counter, fingers still, careful—she knew that stillness, had watched it in briefings and safe houses, that quiet readiness he carried even in repose." | | 2 | "For a heartbeat, the world narrowed to that single point: his eyes, hers—unchanged, still blue as winter sea ice." | | 3 | "He placed a tumbler in front of her—a finger of something amber and expensive, something he wouldn’t pour for just anyone." | | 4 | "“To new beginnings,” he said, raising his own glass—whiskey neat, probably the same kind she’d watched him drink years ago in some dim Brussels flat when the rain never stopped." | | 5 | "He studied her—the straight black hair now cropped just past her jaw, the sharp line of her cheekbones, the way her bright blue eyes flickered over the room before settling back on him, wary as a cornered fox." | | 6 | "But the Raven’s Nest didn’t smell of smoke anymore—at least, not the kind that stuck to your hair." | | 7 | "Wanted to say ghosts only keep you cold, but she’d learned long ago that Silas believed in hauntings the way other people believed in God—quietly, resolutely, and with a faith that didn’t need to be shouted." | | 8 | "He reached across the bar, thumb brushing the back of her hand—just for a second, just long enough to feel the old scar beneath the cuff of her jacket." | | 9 | "The door to the secret room—the one behind the bookshelf—rattled once, as if someone had bumped against it." |
| |
| 81.64% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1197 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 73 | | adverbRatio | 0.06098579782790309 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.012531328320802004 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 154 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 154 | | mean | 10.11 | | std | 9.96 | | cv | 0.985 | | sampleLengths | | 0 | 30 | | 1 | 24 | | 2 | 26 | | 3 | 17 | | 4 | 7 | | 5 | 33 | | 6 | 31 | | 7 | 25 | | 8 | 2 | | 9 | 19 | | 10 | 32 | | 11 | 14 | | 12 | 20 | | 13 | 26 | | 14 | 7 | | 15 | 15 | | 16 | 2 | | 17 | 7 | | 18 | 7 | | 19 | 8 | | 20 | 3 | | 21 | 2 | | 22 | 1 | | 23 | 10 | | 24 | 19 | | 25 | 3 | | 26 | 2 | | 27 | 19 | | 28 | 3 | | 29 | 21 | | 30 | 9 | | 31 | 30 | | 32 | 4 | | 33 | 9 | | 34 | 8 | | 35 | 5 | | 36 | 5 | | 37 | 9 | | 38 | 47 | | 39 | 5 | | 40 | 6 | | 41 | 2 | | 42 | 14 | | 43 | 5 | | 44 | 11 | | 45 | 10 | | 46 | 13 | | 47 | 15 | | 48 | 7 | | 49 | 10 |
| |
| 57.79% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.37012987012987014 | | totalSentences | 154 | | uniqueOpeners | 57 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 79 | | matches | | 0 | "Then he turned, and his" | | 1 | "Then his brows lifted, just" | | 2 | "Just held it, watched the" | | 3 | "Maybe even her conscience." |
| | ratio | 0.051 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 44 | | totalSentences | 79 | | matches | | 0 | "She paused, letting her eyes" | | 1 | "His left hand rested on" | | 2 | "She stopped at the bar," | | 3 | "He tilted his head, a" | | 4 | "They were true." | | 5 | "She sat anyway." | | 6 | "He placed a tumbler in" | | 7 | "She knew its burn before" | | 8 | "he said, raising his own" | | 9 | "She didn’t drink yet." | | 10 | "She shrugged, just one shoulder," | | 11 | "She finally sipped the drink." | | 12 | "It burned all the way" | | 13 | "She touched her wrist again," | | 14 | "He studied her—the straight black" | | 15 | "He’d been her father’s friend." | | 16 | "Her protector, once." | | 17 | "He exhaled through his nose," | | 18 | "He tapped the bar with" | | 19 | "She wanted to argue." |
| | ratio | 0.557 | |
| 42.28% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 66 | | totalSentences | 79 | | matches | | 0 | "The bell above the door" | | 1 | "The green neon sign outside" | | 2 | "The air smelled of stale" | | 3 | "She paused, letting her eyes" | | 4 | "Silas stood behind the bar," | | 5 | "His left hand rested on" | | 6 | "Aurora exhaled through her nose" | | 7 | "Silas said, voice low, rough" | | 8 | "She stopped at the bar," | | 9 | "He tilted his head, a" | | 10 | "The words hung there, laced" | | 11 | "They were true." | | 12 | "Silas wiped a glass with" | | 13 | "The signet ring on his" | | 14 | "She sat anyway." | | 15 | "He placed a tumbler in" | | 16 | "She knew its burn before" | | 17 | "he said, raising his own" | | 18 | "She didn’t drink yet." | | 19 | "The words settled into the" |
| | ratio | 0.835 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 79 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 39 | | technicalSentenceCount | 2 | | matches | | 0 | "Wanted to say ghosts only keep you cold, but she’d learned long ago that Silas believed in hauntings the way other people believed in God—quietly, resolutely, a…" | | 1 | "The door to the secret room—the one behind the bookshelf—rattled once, as if someone had bumped against it." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 70 | | tagDensity | 0.171 | | leniency | 0.343 | | rawRatio | 0 | | effectiveRatio | 0 | |