| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 2 | | adverbTags | | 0 | "he said quietly [quietly]" | | 1 | "he asked finally [finally]" |
| | dialogueSentences | 44 | | tagDensity | 0.364 | | leniency | 0.727 | | rawRatio | 0.125 | | effectiveRatio | 0.091 | |
| 87.97% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1663 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "slowly" | | 1 | "slightly" | | 2 | "softly" | | 3 | "suddenly" |
| |
| 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) | |
| 51.89% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1663 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "chill" | | 1 | "flickered" | | 2 | "scanned" | | 3 | "traced" | | 4 | "weight" | | 5 | "silence" | | 6 | "fractured" | | 7 | "warmth" | | 8 | "glinting" | | 9 | "tension" |
| |
| 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 | 99 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 99 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 127 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 44 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1658 | | 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 | 36 | | wordCount | 1308 | | uniqueNames | 9 | | maxNameDensity | 0.76 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Evan" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 9 | | Pre-Law | 2 | | Cardiff | 2 | | Evan | 9 | | Rory | 10 | | Eva | 1 | | London | 1 |
| | persons | | 0 | "Raven" | | 1 | "Silas" | | 2 | "Evan" | | 3 | "Rory" | | 4 | "Eva" |
| | places | | | globalScore | 1 | | windowScore | 0.833 | |
| 80.56% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 2 | | matches | | 0 | "as if measuring how much pressure it might still hold, then moved back to his bar work" | | 1 | "seemed older suddenly, the photographs of strangers less abstract" |
| |
| 79.37% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.206 | | wordCount | 1658 | | matches | | 0 | "not dramatic loss, but ordinary erosion" | | 1 | "neither goodbye nor" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 127 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 54 | | mean | 30.7 | | std | 31.43 | | cv | 1.023 | | sampleLengths | | 0 | 117 | | 1 | 114 | | 2 | 92 | | 3 | 1 | | 4 | 49 | | 5 | 26 | | 6 | 8 | | 7 | 57 | | 8 | 7 | | 9 | 3 | | 10 | 1 | | 11 | 4 | | 12 | 39 | | 13 | 6 | | 14 | 11 | | 15 | 47 | | 16 | 102 | | 17 | 7 | | 18 | 3 | | 19 | 21 | | 20 | 4 | | 21 | 19 | | 22 | 5 | | 23 | 26 | | 24 | 59 | | 25 | 46 | | 26 | 13 | | 27 | 8 | | 28 | 21 | | 29 | 10 | | 30 | 14 | | 31 | 64 | | 32 | 33 | | 33 | 12 | | 34 | 21 | | 35 | 10 | | 36 | 54 | | 37 | 8 | | 38 | 9 | | 39 | 5 | | 40 | 7 | | 41 | 63 | | 42 | 9 | | 43 | 11 | | 44 | 105 | | 45 | 17 | | 46 | 27 | | 47 | 80 | | 48 | 17 | | 49 | 49 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 99 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 225 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 4 | | flaggedSentences | 9 | | totalSentences | 127 | | ratio | 0.071 | | matches | | 0 | "Black-and-white photographs of strangers in outdated coats stared down from the walls; folded maps with inked circles around cities she would never visit rustled when the door opened." | | 1 | "When the glass touched her fingers, she traced the small crescent scar on her left wrist with her thumb—an old habit from the days when she still rehearsed what to say to her parents about dropping Pre-Law." | | 2 | "The hesitation in his step was small, yet unmistakable—the same pause she had learned to read when they still shared a single bed and arguments that never ended where they began." | | 3 | "The rain had picked up outside; it pattered against the single front window, turning the neon sign into fractured light." | | 4 | "Silas moved to the far end of the bar to speak with a regular; the distance granted them a pocket of false privacy." | | 5 | "Rory suspected he had already noted the tension the way he noted every shift in the room—quietly, in case it required intervention later." | | 6 | "The change in him was not sudden or dramatic the way she had once imagined it might be; it sat in the spaces between his words, in the way he let the silence remain instead of filling it with the old demands for reassurance." | | 7 | "She felt the weight of the years between them—not dramatic loss, but ordinary erosion." | | 8 | "He gave her a small nod—neither goodbye nor promise." |
| |
| 97.91% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1321 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 56 | | adverbRatio | 0.04239212717638153 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.009084027252081756 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 127 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 127 | | mean | 13.06 | | std | 9.84 | | cv | 0.754 | | sampleLengths | | 0 | 22 | | 1 | 19 | | 2 | 11 | | 3 | 42 | | 4 | 4 | | 5 | 19 | | 6 | 18 | | 7 | 20 | | 8 | 28 | | 9 | 5 | | 10 | 6 | | 11 | 37 | | 12 | 4 | | 13 | 6 | | 14 | 14 | | 15 | 20 | | 16 | 16 | | 17 | 10 | | 18 | 22 | | 19 | 1 | | 20 | 6 | | 21 | 31 | | 22 | 12 | | 23 | 26 | | 24 | 7 | | 25 | 1 | | 26 | 9 | | 27 | 14 | | 28 | 34 | | 29 | 7 | | 30 | 3 | | 31 | 1 | | 32 | 4 | | 33 | 4 | | 34 | 24 | | 35 | 11 | | 36 | 6 | | 37 | 9 | | 38 | 2 | | 39 | 4 | | 40 | 36 | | 41 | 7 | | 42 | 7 | | 43 | 20 | | 44 | 7 | | 45 | 23 | | 46 | 22 | | 47 | 14 | | 48 | 9 | | 49 | 7 |
| |
| 46.06% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.29133858267716534 | | totalSentences | 127 | | uniqueOpeners | 37 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 37.78% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 41 | | totalSentences | 90 | | matches | | 0 | "She shrugged off the wet" | | 1 | "She nodded at him." | | 2 | "He returned the nod without" | | 3 | "She claimed a stool at" | | 4 | "She ordered a whisky neat." | | 5 | "He was taller than memory" | | 6 | "His hair, once the colour" | | 7 | "It took her a second" | | 8 | "He spotted her almost at" | | 9 | "He crossed the room anyway," | | 10 | "he said, voice lower than" | | 11 | "She kept both hands around" | | 12 | "He slid onto the stool" | | 13 | "He ordered a pint." | | 14 | "He tapped the bar twice," | | 15 | "They drank in the silence" | | 16 | "She could still hear the" | | 17 | "She wondered which one still" | | 18 | "He turned the pint slowly" | | 19 | "He nodded as though he" |
| | ratio | 0.456 | |
| 10.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 81 | | totalSentences | 90 | | matches | | 0 | "Rory pushed through the heavy" | | 1 | "The green neon sign outside" | | 2 | "She shrugged off the wet" | | 3 | "She nodded at him." | | 4 | "He returned the nod without" | | 5 | "She claimed a stool at" | | 6 | "The place had not changed" | | 7 | "She ordered a whisky neat." | | 8 | "Silas poured without asking her" | | 9 | "The door opened again." | | 10 | "Rory glanced once, reflexively, then" | | 11 | "He was taller than memory" | | 12 | "His hair, once the colour" | | 13 | "The years had sharpened his" | | 14 | "It took her a second" | | 15 | "He spotted her almost at" | | 16 | "The hesitation in his step" | | 17 | "He crossed the room anyway," | | 18 | "he said, voice lower than" | | 19 | "She kept both hands around" |
| | ratio | 0.9 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 90 | | matches | (empty) | | ratio | 0 | |
| 53.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 6 | | matches | | 0 | "He was taller than memory allowed, shoulders broader under an expensive wool coat that had once fit a thinner frame." | | 1 | "The older man’s hazel eyes lingered for half a second longer than necessary on Evan’s right hand, as if measuring how much pressure it might still hold, then mo…" | | 2 | "The version that apologized afterward with promises that lasted until the next bill was late or the next argument found its groove." | | 3 | "He glanced at her profile, at the shoulder-length black hair that once reached her waist, at the bright blue eyes that had watched him pack the last of his belo…" | | 4 | "The person who had once known her favourite song on the radio and the precise angle she liked her pillow now sat beside her as a stranger who happened to carry …" | | 5 | "She thought of the woman he said he was seeing and the version of herself that had fled to Eva’s with nothing but a duffel bag and the half-packed notes from he…" |
| |
| 93.75% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 1 | | matches | | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 44 | | tagDensity | 0.273 | | leniency | 0.545 | | rawRatio | 0 | | effectiveRatio | 0 | |