| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 19 | | adverbTagCount | 1 | | adverbTags | | 0 | "She turned away [away]" |
| | dialogueSentences | 36 | | tagDensity | 0.528 | | leniency | 1 | | rawRatio | 0.053 | | effectiveRatio | 0.053 | |
| 83.56% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1521 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "lightly" | | 1 | "perfectly" | | 2 | "very" | | 3 | "slowly" |
| |
| 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) | |
| 37.54% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1521 | | totalAiIsms | 19 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | word | "down her spine" | | count | 1 |
| | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | |
| | highlights | | 0 | "chaotic" | | 1 | "unreadable" | | 2 | "echo" | | 3 | "weight" | | 4 | "aftermath" | | 5 | "measured" | | 6 | "tension" | | 7 | "traced" | | 8 | "down her spine" | | 9 | "whisper" | | 10 | "glinting" | | 11 | "could feel" | | 12 | "grave" | | 13 | "coded" | | 14 | "silence" | | 15 | "footsteps" | | 16 | "potential" |
| |
| 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 | 88 | | matches | (empty) | |
| 94.16% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 88 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 105 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 45 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 3 | | totalWords | 1514 | | ratio | 0.002 | | matches | | |
| 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 | 22 | | wordCount | 1078 | | uniqueNames | 15 | | maxNameDensity | 0.28 | | worstName | "Eva" | | maxWindowNameDensity | 1 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 3 | | Ptolemy | 2 | | Moreau | 1 | | Brick | 1 | | Lane | 1 | | French | 1 | | London | 1 | | Marseille | 1 | | Rory | 3 | | Cardiff | 1 | | University | 1 | | Lucien | 3 | | Seeing | 1 | | Celtic | 1 | | Slowly | 1 |
| | persons | | 0 | "Eva" | | 1 | "Ptolemy" | | 2 | "Moreau" | | 3 | "Rory" | | 4 | "Lucien" | | 5 | "Celtic" | | 6 | "Slowly" |
| | places | | 0 | "Brick" | | 1 | "Lane" | | 2 | "London" | | 3 | "Marseille" | | 4 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 2.94% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 4 | | matches | | 0 | "looked like a slice of another world, a p" | | 1 | "felt like a weapon" | | 2 | "felt like a scar being pressed" | | 3 | "seemed different" |
| |
| 67.90% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.321 | | wordCount | 1514 | | matches | | 0 | "not for forgiveness, but for the chance to protect you from a danger I helped, howeve" | | 1 | "not an empty space, but a thing filled with potential, fragile" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 105 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 40.92 | | std | 25.19 | | cv | 0.616 | | sampleLengths | | 0 | 68 | | 1 | 35 | | 2 | 3 | | 3 | 101 | | 4 | 51 | | 5 | 32 | | 6 | 40 | | 7 | 31 | | 8 | 24 | | 9 | 11 | | 10 | 32 | | 11 | 86 | | 12 | 52 | | 13 | 14 | | 14 | 51 | | 15 | 55 | | 16 | 23 | | 17 | 61 | | 18 | 30 | | 19 | 17 | | 20 | 82 | | 21 | 50 | | 22 | 54 | | 23 | 28 | | 24 | 6 | | 25 | 21 | | 26 | 72 | | 27 | 58 | | 28 | 10 | | 29 | 37 | | 30 | 11 | | 31 | 50 | | 32 | 99 | | 33 | 43 | | 34 | 10 | | 35 | 25 | | 36 | 41 |
| |
| 93.30% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 88 | | matches | | 0 | "was slicked" | | 1 | "been, screamed" | | 2 | "been disconnected" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 171 | | matches | (empty) | |
| 6.80% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 105 | | ratio | 0.048 | | matches | | 0 | "Platinum blond hair was slicked back from a high forehead, and in the shadowed frame of the doorway, his heterochromatic eyes were unreadable pools—one amber, one a bottomless black." | | 1 | "The sounds of the street below—the distant shout of a market vendor, the hiss of a bus—faded into a dull roar in her ears." | | 2 | "But the memory of his mouth on hers, the feel of his hands in her hair, the devastating quiet of his apartment after he’d told her it couldn’t continue—it all rose up in a wave, leaving her unsteady." | | 3 | "The scent of him—sandalwood, ozone, and something uniquely demonic—enveloped her." | | 4 | "The clutter, the smell of old paper and curry, the watching cat—it all receded." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1116 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 44 | | adverbRatio | 0.03942652329749104 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.015232974910394265 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 105 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 105 | | mean | 14.42 | | std | 9.92 | | cv | 0.688 | | sampleLengths | | 0 | 8 | | 1 | 22 | | 2 | 38 | | 3 | 23 | | 4 | 12 | | 5 | 3 | | 6 | 17 | | 7 | 26 | | 8 | 22 | | 9 | 29 | | 10 | 7 | | 11 | 4 | | 12 | 24 | | 13 | 23 | | 14 | 3 | | 15 | 29 | | 16 | 11 | | 17 | 6 | | 18 | 14 | | 19 | 9 | | 20 | 7 | | 21 | 4 | | 22 | 9 | | 23 | 11 | | 24 | 8 | | 25 | 5 | | 26 | 11 | | 27 | 11 | | 28 | 20 | | 29 | 12 | | 30 | 4 | | 31 | 10 | | 32 | 22 | | 33 | 38 | | 34 | 12 | | 35 | 8 | | 36 | 12 | | 37 | 29 | | 38 | 3 | | 39 | 9 | | 40 | 5 | | 41 | 28 | | 42 | 23 | | 43 | 32 | | 44 | 9 | | 45 | 14 | | 46 | 14 | | 47 | 9 | | 48 | 3 | | 49 | 44 |
| |
| 59.37% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3904761904761905 | | totalSentences | 105 | | uniqueOpeners | 41 | |
| 77.52% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 86 | | matches | | 0 | "Wordlessly, she stepped back, pulling" | | 1 | "Slowly, she turned." |
| | ratio | 0.023 | |
| 1.40% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 47 | | totalSentences | 86 | | matches | | 0 | "she called out, finally jerking" | | 1 | "She swung the door open," | | 2 | "It died instantly." | | 3 | "He looked like a slice" | | 4 | "His charcoal suit was impeccable," | | 5 | "He leaned lightly on his" | | 6 | "Her heart, traitorously, gave a" | | 7 | "His voice was exactly as" | | 8 | "She hadn’t heard that name" | | 9 | "It was a formality that" | | 10 | "She kept her voice flat," | | 11 | "It was an effort." | | 12 | "Her fingers tightened on the" | | 13 | "It didn’t reach his eyes." | | 14 | "He shifted his weight, the" | | 15 | "She should say no." | | 16 | "She should shut the door" | | 17 | "He entered with a measured" | | 18 | "It took in the towers" | | 19 | "She felt acutely underdressed in" |
| | ratio | 0.547 | |
| 41.40% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 72 | | totalSentences | 86 | | matches | | 0 | "The third deadbolt stuck, as" | | 1 | "Rory cursed under her breath," | | 2 | "The knocking from the other" | | 3 | "she called out, finally jerking" | | 4 | "She swung the door open," | | 5 | "It died instantly." | | 6 | "Lucien Moreau filled the dim" | | 7 | "He looked like a slice" | | 8 | "His charcoal suit was impeccable," | | 9 | "Platinum blond hair was slicked" | | 10 | "He leaned lightly on his" | | 11 | "Time seemed to stutter." | | 12 | "The sounds of the street" | | 13 | "Her heart, traitorously, gave a" | | 14 | "His voice was exactly as" | | 15 | "She hadn’t heard that name" | | 16 | "It was a formality that" | | 17 | "She kept her voice flat," | | 18 | "It was an effort." | | 19 | "Her fingers tightened on the" |
| | ratio | 0.837 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 86 | | matches | | 0 | "To him, she’d never been" | | 1 | "Now it just felt like" | | 2 | "Now it hummed between them," |
| | ratio | 0.035 | |
| 71.43% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 40 | | technicalSentenceCount | 4 | | matches | | 0 | "He looked like a slice of another world, a photograph from a magazine on avant-garde tailoring that had slipped into the chaotic collage of Brick Lane." | | 1 | "The attraction was a physical force, a live wire that had never been disconnected, only switched off." | | 2 | "It was she who closed it, rising on her toes, her hands fisting in the immaculate wool of his suit jacket." | | 3 | "His mouth met hers with a desperation that mirrored her own." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 19 | | uselessAdditionCount | 7 | | matches | | 0 | "She kept, cool" | | 1 | "Lucien said, his tone dry" | | 2 | "she supplied, her voice sharp" | | 3 | "he said, his own voice dropping, gaining an edge" | | 4 | "she said, the admission leaving her defenseless" | | 5 | "he confessed, the words seeming to cost him" | | 6 | "she whispered, her lips swollen" |
| |
| 38.89% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 4 | | fancyTags | | 0 | "she called out (call out)" | | 1 | "he confessed (confess)" | | 2 | "she whispered (whisper)" | | 3 | "he murmured (murmur)" |
| | dialogueSentences | 36 | | tagDensity | 0.222 | | leniency | 0.444 | | rawRatio | 0.5 | | effectiveRatio | 0.222 | |