| 2.82% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 34 | | adverbTagCount | 7 | | adverbTags | | 0 | "She set aside [aside]" | | 1 | "she confirmed quietly [quietly]" | | 2 | "His knuckles whitened around [around]" | | 3 | "She gestured around [around]" | | 4 | "she said flatly [flatly]" | | 5 | "He hesitated then [then]" | | 6 | "she repeated softly [softly]" |
| | dialogueSentences | 71 | | tagDensity | 0.479 | | leniency | 0.958 | | rawRatio | 0.206 | | effectiveRatio | 0.197 | |
| 68.65% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1595 | | totalAiIsmAdverbs | 10 | | found | | | highlights | | 0 | "softly" | | 1 | "slowly" | | 2 | "quickly" | | 3 | "truly" | | 4 | "slightly" | | 5 | "completely" |
| |
| 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) | |
| 68.65% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1595 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "methodical" | | 1 | "solitary" | | 2 | "complex" | | 3 | "eyebrow" | | 4 | "flickered" | | 5 | "silence" | | 6 | "familiar" | | 7 | "tracing" | | 8 | "echoed" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 90 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 90 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 126 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1589 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 49 | | wordCount | 1098 | | uniqueNames | 14 | | maxNameDensity | 1.55 | | worstName | "David" | | maxWindowNameDensity | 3 | | worstWindowName | "David" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 5 | | David | 17 | | Evan | 2 | | Cardiff | 2 | | London | 2 | | Eva | 1 | | Surprise | 1 | | Aurora | 13 | | Silence | 1 | | Matthews | 1 | | Solicitor | 1 | | Islington | 1 |
| | persons | | 0 | "Silas" | | 1 | "David" | | 2 | "Evan" | | 3 | "Eva" | | 4 | "Surprise" | | 5 | "Aurora" | | 6 | "Silence" | | 7 | "Matthews" |
| | places | | 0 | "Raven" | | 1 | "Cardiff" | | 2 | "London" | | 3 | "Islington" |
| | globalScore | 0.726 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 68 | | glossingSentenceCount | 1 | | matches | | 0 | "as if giving her time to flee" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.517 | | wordCount | 1589 | | matches | | 0 | "Not exactly what my father wanted, but" | | 1 | "Not everything, but enough" | | 2 | "not jealousy, but the strange dissonance of knowing someone who once dominated" | | 3 | "not to eavesdrop, at the ceiling that separated her from the small but fiercely independent life she'd built" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 126 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 66 | | mean | 24.08 | | std | 14.13 | | cv | 0.587 | | sampleLengths | | 0 | 61 | | 1 | 45 | | 2 | 49 | | 3 | 33 | | 4 | 33 | | 5 | 15 | | 6 | 36 | | 7 | 32 | | 8 | 48 | | 9 | 24 | | 10 | 16 | | 11 | 50 | | 12 | 13 | | 13 | 24 | | 14 | 27 | | 15 | 8 | | 16 | 23 | | 17 | 35 | | 18 | 9 | | 19 | 26 | | 20 | 45 | | 21 | 12 | | 22 | 16 | | 23 | 32 | | 24 | 17 | | 25 | 19 | | 26 | 17 | | 27 | 7 | | 28 | 12 | | 29 | 11 | | 30 | 13 | | 31 | 13 | | 32 | 55 | | 33 | 19 | | 34 | 15 | | 35 | 25 | | 36 | 12 | | 37 | 11 | | 38 | 46 | | 39 | 43 | | 40 | 22 | | 41 | 12 | | 42 | 17 | | 43 | 13 | | 44 | 13 | | 45 | 8 | | 46 | 24 | | 47 | 35 | | 48 | 6 | | 49 | 13 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 90 | | matches | | |
| 98.48% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 197 | | matches | | 0 | "was staring" | | 1 | "was staring" | | 2 | "was probably pretending" |
| |
| 29.48% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 126 | | ratio | 0.04 | | matches | | 0 | "She paused to tuck a strand of black hair behind her ear, glancing at the scattered patrons—a couple huddled in intimate conversation near the back, a solitary woman nursing a whiskey by the window, and two men arguing softly about football scores at the far end of the bar." | | 1 | "Recognition flashed across his face, followed immediately by surprise, then something more complex—hesitation, perhaps regret." | | 2 | "When she returned, he was staring at one of the black-and-white photographs on the wall—a foggy London street, circa 1950s." | | 3 | "The information hit her like a physical blow—not jealousy, but the strange dissonance of knowing someone who once dominated her life had simply moved on, continued existing in a world that no longer contained her." | | 4 | "Aurora glanced around the bar—at the maps and photographs that had become as familiar as her own reflection, at the door behind which Silas was probably pretending not to eavesdrop, at the ceiling that separated her from the small but fiercely independent life she'd built." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 885 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 34 | | adverbRatio | 0.0384180790960452 | | lyAdverbCount | 17 | | lyAdverbRatio | 0.0192090395480226 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 126 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 126 | | mean | 12.61 | | std | 8.5 | | cv | 0.674 | | sampleLengths | | 0 | 20 | | 1 | 13 | | 2 | 28 | | 3 | 23 | | 4 | 22 | | 5 | 49 | | 6 | 20 | | 7 | 13 | | 8 | 18 | | 9 | 15 | | 10 | 15 | | 11 | 12 | | 12 | 24 | | 13 | 24 | | 14 | 8 | | 15 | 12 | | 16 | 22 | | 17 | 14 | | 18 | 19 | | 19 | 5 | | 20 | 10 | | 21 | 6 | | 22 | 16 | | 23 | 11 | | 24 | 4 | | 25 | 19 | | 26 | 11 | | 27 | 2 | | 28 | 8 | | 29 | 9 | | 30 | 7 | | 31 | 15 | | 32 | 12 | | 33 | 5 | | 34 | 3 | | 35 | 23 | | 36 | 3 | | 37 | 25 | | 38 | 7 | | 39 | 9 | | 40 | 9 | | 41 | 17 | | 42 | 20 | | 43 | 25 | | 44 | 12 | | 45 | 16 | | 46 | 17 | | 47 | 15 | | 48 | 15 | | 49 | 2 |
| |
| 76.46% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.46825396825396826 | | totalSentences | 126 | | uniqueOpeners | 59 | |
| 37.88% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 88 | | matches | | | ratio | 0.011 | |
| 42.73% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 39 | | totalSentences | 88 | | matches | | 0 | "She'd picked up this extra" | | 1 | "She paused to tuck a" | | 2 | "she said, the name escaping" | | 3 | "He approached the bar slowly," | | 4 | "His voice was the same," | | 5 | "she finished, falling back on" | | 6 | "His fingers were longer than" | | 7 | "She set aside her cloth" | | 8 | "He raised an eyebrow at" | | 9 | "She returned with his beer," | | 10 | "he said, then took a" | | 11 | "She tucked the money into" | | 12 | "she replied, though the truth" | | 13 | "He rotated his glass slowly" | | 14 | "she finished for him" | | 15 | "He studied her with new" | | 16 | "He nodded to Aurora, his" | | 17 | "he asked, his voice casual" | | 18 | "She emphasized the last word" | | 19 | "She began organizing glasses, needing" |
| | ratio | 0.443 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 81 | | totalSentences | 88 | | matches | | 0 | "Aurora wiped down the bar" | | 1 | "Tuesday nights at The Raven's" | | 2 | "She'd picked up this extra" | | 3 | "The green neon sign outside" | | 4 | "Rain tapped against the glass," | | 5 | "She paused to tuck a" | | 6 | "The door swung open again," | | 7 | "Aurora looked up reflexively, then" | | 8 | "The man who entered shook" | | 9 | "Recognition flashed across his face," | | 10 | "she said, the name escaping" | | 11 | "He approached the bar slowly," | | 12 | "His voice was the same," | | 13 | "she finished, falling back on" | | 14 | "David eased onto a barstool," | | 15 | "His fingers were longer than" | | 16 | "She set aside her cloth" | | 17 | "He raised an eyebrow at" | | 18 | "Aurora nodded and moved to" | | 19 | "David had been Evan's roommate" |
| | ratio | 0.92 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 88 | | matches | | 0 | "Before everything went wrong." | | 1 | "Before the restraining order and" | | 2 | "Now he turned, his eyes" |
| | ratio | 0.034 | |
| 46.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 37 | | technicalSentenceCount | 5 | | matches | | 0 | "Rain tapped against the glass, a gentle percussion that complemented the low jazz playing from the ancient speakers mounted in the corners." | | 1 | "The man who entered shook raindrops from his coat, his gaze sweeping the room before landing on her." | | 2 | "He smiled then, the first genuine smile of the evening, and Aurora could see traces of the boyish law student who had once lent her his notes and bought her han…" | | 3 | "Aurora glanced around the bar—at the maps and photographs that had become as familiar as her own reflection, at the door behind which Silas was probably pretend…" | | 4 | "Aurora picked up his glass, considering it for a moment before emptying it into the sink." |
| |
| 66.18% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 34 | | uselessAdditionCount | 4 | | matches | | 0 | "she replied, though the truth was she'd obsessively tracked everyone connected to Evan in those first paranoid months after leaving Cardiff" | | 1 | "he asked, his voice casual but his posture alert" | | 2 | "She began, needing to keep her hands busy" | | 3 | "David's gaze followed, understanding dawning in his eyes" |
| |
| 79.58% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 5 | | fancyTags | | 0 | "she confirmed (confirm)" | | 1 | "she confirmed quietly (confirm)" | | 2 | "she repeated softly (repeat)" | | 3 | "she corrected (correct)" | | 4 | "she admitted (admit)" |
| | dialogueSentences | 71 | | tagDensity | 0.183 | | leniency | 0.366 | | rawRatio | 0.385 | | effectiveRatio | 0.141 | |