| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 2 | | adverbTags | | 0 | "Julian asked softly [softly]" | | 1 | "he said quietly [quietly]" |
| | dialogueSentences | 30 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0.111 | | effectiveRatio | 0.111 | |
| 75.64% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1437 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "suddenly" | | 1 | "sharply" | | 2 | "really" | | 3 | "very" | | 4 | "softly" | | 5 | "slowly" |
| |
| 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) | |
| 33.89% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1437 | | totalAiIsms | 19 | | found | | | highlights | | 0 | "electric" | | 1 | "glistening" | | 2 | "rhythmic" | | 3 | "measured" | | 4 | "gloom" | | 5 | "chaotic" | | 6 | "weight" | | 7 | "tension" | | 8 | "vibrated" | | 9 | "wavered" | | 10 | "facade" | | 11 | "reminder" | | 12 | "silence" | | 13 | "unspoken" | | 14 | "unreadable" | | 15 | "flicker" |
| |
| 66.67% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 3 | | maxInWindow | 2 | | found | | 0 | | label | "let out a breath" | | count | 1 |
| | 1 | | label | "air was thick with" | | count | 1 |
| | 2 | | label | "flicker of emotion" | | count | 1 |
|
| | highlights | | 0 | "let out a breath" | | 1 | "the air was thick with" | | 2 | "a flash of anger" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 76 | | matches | (empty) | |
| 86.47% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 3 | | narrationSentences | 76 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "happened to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 88 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1430 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1127 | | uniqueNames | 13 | | maxNameDensity | 1.06 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Julian" | | discoveredNames | | Soho | 1 | | Raven | 1 | | Nest | 1 | | London | 1 | | Golden | 1 | | Empress | 1 | | Silas | 6 | | Rory | 12 | | Cardiff | 1 | | University | 1 | | Julian | 10 | | Prague | 1 | | Evan | 1 |
| | persons | | 0 | "Silas" | | 1 | "Rory" | | 2 | "Julian" | | 3 | "Evan" |
| | places | | 0 | "Soho" | | 1 | "Raven" | | 2 | "London" | | 3 | "Cardiff" | | 4 | "Prague" |
| | globalScore | 0.968 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 62 | | glossingSentenceCount | 4 | | matches | | 0 | "blow that seemed to knock the air from the room" | | 1 | "quite fit, a heavy coat he was forced to wear regardless of the weather" | | 2 | "as if trying to memorize the changes" | | 3 | "sounded like a final punctuation mark" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1430 | | matches | (empty) | |
| 90.91% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 88 | | matches | | 0 | "remembered that version" | | 1 | "realize that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 39 | | mean | 36.67 | | std | 22.98 | | cv | 0.627 | | sampleLengths | | 0 | 69 | | 1 | 77 | | 2 | 51 | | 3 | 48 | | 4 | 69 | | 5 | 20 | | 6 | 9 | | 7 | 37 | | 8 | 1 | | 9 | 22 | | 10 | 28 | | 11 | 63 | | 12 | 24 | | 13 | 18 | | 14 | 60 | | 15 | 81 | | 16 | 5 | | 17 | 44 | | 18 | 4 | | 19 | 62 | | 20 | 50 | | 21 | 14 | | 22 | 21 | | 23 | 72 | | 24 | 43 | | 25 | 39 | | 26 | 71 | | 27 | 20 | | 28 | 55 | | 29 | 4 | | 30 | 53 | | 31 | 17 | | 32 | 25 | | 33 | 29 | | 34 | 6 | | 35 | 41 | | 36 | 14 | | 37 | 33 | | 38 | 31 |
| |
| 91.41% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 76 | | matches | | 0 | "was dressed" | | 1 | "been forced" | | 2 | "was forced" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 201 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 3 | | flaggedSentences | 8 | | totalSentences | 88 | | ratio | 0.091 | | matches | | 0 | "The voice was deeper than she remembered, but the cadence was the same—the polished, confident clip of a Cardiff University law student." | | 1 | "He looked at her—really looked at her—taking in the frayed cuffs of her hoodie, the dark circles under her bright blue eyes, and the way she held herself, coiled and ready to bolt." | | 2 | "She remembered that version of herself—the girl who wore pleated skirts and carried leather-bound notebooks, the girl who believed that if she just studied hard enough, she could satisfy the crushing weight of her father's expectations." | | 3 | "Julian represented the ghost of the life she had been forced to leave—the prestige, the predictability, the safety of a predefined path." | | 4 | "He saw the loss of a career; she saw the gain of her own skin." | | 5 | "Rory felt a sudden, sharp ache in her chest—a longing for the simplicity of that intellectual combat, for a time when the only thing at stake was a grade." | | 6 | "He didn't ask for her number; he didn't ask where she lived." | | 7 | "He knew about the ghosts that followed people into his bar; he had spent a lifetime collecting them." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1138 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.029876977152899824 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.014938488576449912 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 88 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 88 | | mean | 16.25 | | std | 9.04 | | cv | 0.556 | | sampleLengths | | 0 | 21 | | 1 | 23 | | 2 | 25 | | 3 | 24 | | 4 | 21 | | 5 | 12 | | 6 | 20 | | 7 | 18 | | 8 | 11 | | 9 | 22 | | 10 | 13 | | 11 | 17 | | 12 | 18 | | 13 | 19 | | 14 | 24 | | 15 | 26 | | 16 | 2 | | 17 | 18 | | 18 | 9 | | 19 | 19 | | 20 | 2 | | 21 | 16 | | 22 | 1 | | 23 | 22 | | 24 | 3 | | 25 | 3 | | 26 | 22 | | 27 | 12 | | 28 | 18 | | 29 | 33 | | 30 | 4 | | 31 | 20 | | 32 | 14 | | 33 | 4 | | 34 | 12 | | 35 | 48 | | 36 | 15 | | 37 | 36 | | 38 | 30 | | 39 | 5 | | 40 | 8 | | 41 | 15 | | 42 | 15 | | 43 | 6 | | 44 | 4 | | 45 | 14 | | 46 | 24 | | 47 | 24 | | 48 | 13 | | 49 | 22 |
| |
| 37.50% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.29545454545454547 | | totalSentences | 88 | | uniqueOpeners | 26 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 67 | | matches | (empty) | | ratio | 0 | |
| 17.01% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 34 | | totalSentences | 67 | | matches | | 0 | "She wore a faded oversized" | | 1 | "She watched Silas polish a" | | 2 | "He moved with a measured" | | 3 | "He didn't look up, but" | | 4 | "He wore his silver signet" | | 5 | "She reached up to rub" | | 6 | "It was a nervous habit," | | 7 | "He was dressed in a" | | 8 | "He paused in the doorway," | | 9 | "she whispered, the word barely" | | 10 | "She didn't move." | | 11 | "She felt Silas shift beside" | | 12 | "He stopped a few feet" | | 13 | "He looked at her—really looked" | | 14 | "she said, her voice regaining" | | 15 | "She remembered that version of" | | 16 | "She remembered the way that" | | 17 | "He gestured vaguely to the" | | 18 | "He saw the loss of" | | 19 | "she lied, though her voice" |
| | ratio | 0.507 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 62 | | totalSentences | 67 | | matches | | 0 | "The rain in Soho didn't" | | 1 | "Aurora leaned against the mahogany" | | 2 | "She wore a faded oversized" | | 3 | "She watched Silas polish a" | | 4 | "He moved with a measured" | | 5 | "Silas said, his voice a" | | 6 | "He didn't look up, but" | | 7 | "He wore his silver signet" | | 8 | "She reached up to rub" | | 9 | "It was a nervous habit," | | 10 | "The door creaked open, admitting" | | 11 | "He was dressed in a" | | 12 | "He paused in the doorway," | | 13 | "The glass of water in" | | 14 | "she whispered, the word barely" | | 15 | "The man’s gaze swept the" | | 16 | "The recognition was instantaneous, a" | | 17 | "The voice was deeper than" | | 18 | "She didn't move." | | 19 | "She felt Silas shift beside" |
| | ratio | 0.925 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 67 | | matches | (empty) | | ratio | 0 | |
| 2.80% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 51 | | technicalSentenceCount | 10 | | matches | | 0 | "Aurora leaned against the mahogany bar, her shoulders aching from a ten-hour shift of weaving a scooter through congested traffic for the Golden Empress." | | 1 | "She wore a faded oversized hoodie that swallowed her frame, her straight black hair clinging to the nape of her neck." | | 2 | "He was dressed in a charcoal tailored suit that cost more than Rory’s annual rent, his blond hair swept back with an aggressive neatness." | | 3 | "The recognition was instantaneous, a physical blow that seemed to knock the air from the room." | | 4 | "She remembered that version of herself—the girl who wore pleated skirts and carried leather-bound notebooks, the girl who believed that if she just studied hard…" | | 5 | "She remembered the way that girl had smiled, a fragile, performative thing that had eventually cracked under the pressure of Evan’s jealousy and the slow, suffo…" | | 6 | "The scent of expensive cologne and old libraries drifted off him, a smell that belonged to a world Rory had burned to the ground." | | 7 | "The silence that followed was heavy, filled with the unspoken weight of three years of silence and the jagged edges of things that could never be repaired." | | 8 | "He backed away slowly, his eyes lingering on her face as if trying to memorize the changes." | | 9 | "He knew about the ghosts that followed people into his bar; he had spent a lifetime collecting them." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 6 | | matches | | 0 | "Silas said, his voice a gravelly rumble" | | 1 | "she whispered, the word barely leaving her throat" | | 2 | "she said, her voice regaining its cool, flat edge" | | 3 | "she lied, though her voice wavered" | | 4 | "he said, the admission sounding like a confession" | | 5 | "she said, her voice softening but remaining firm" |
| |
| 66.67% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 18 | | fancyCount | 3 | | fancyTags | | 0 | "she whispered (whisper)" | | 1 | "she lied (lie)" | | 2 | "he whispered (whisper)" |
| | dialogueSentences | 30 | | tagDensity | 0.6 | | leniency | 1 | | rawRatio | 0.167 | | effectiveRatio | 0.167 | |