| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 2 | | adverbTags | | 0 | "Ffion stepped back [back]" | | 1 | "she asked instead [instead]" |
| | dialogueSentences | 50 | | tagDensity | 0.32 | | leniency | 0.64 | | rawRatio | 0.125 | | effectiveRatio | 0.08 | |
| 72.20% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1079 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "really" | | 1 | "slowly" | | 2 | "completely" | | 3 | "slightly" |
| |
| 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) | |
| 76.83% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1079 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "navigated" | | 1 | "eyebrow" | | 2 | "sturdy" | | 3 | "unspoken" | | 4 | "silence" |
| |
| 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 | 47 | | matches | (empty) | |
| 82.07% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 47 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 81 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 38 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1074 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 44 | | wordCount | 731 | | uniqueNames | 8 | | maxNameDensity | 2.6 | | worstName | "Ffion" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Ffion" | | discoveredNames | | Rory | 14 | | Pryce | 1 | | Ffion | 19 | | Silas | 5 | | Cardiff | 2 | | Bay | 1 | | Tuesday | 1 | | Nest | 1 |
| | persons | | 0 | "Rory" | | 1 | "Pryce" | | 2 | "Ffion" | | 3 | "Silas" |
| | places | | | globalScore | 0.2 | | windowScore | 0.167 | |
| 18.42% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 38 | | glossingSentenceCount | 2 | | matches | | 0 | "smelled like it always did—old wood, spill" | | 1 | "quite a smile" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1074 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 81 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 22.38 | | std | 21.8 | | cv | 0.974 | | sampleLengths | | 0 | 63 | | 1 | 6 | | 2 | 21 | | 3 | 62 | | 4 | 7 | | 5 | 51 | | 6 | 1 | | 7 | 3 | | 8 | 74 | | 9 | 36 | | 10 | 2 | | 11 | 19 | | 12 | 1 | | 13 | 6 | | 14 | 42 | | 15 | 23 | | 16 | 36 | | 17 | 4 | | 18 | 5 | | 19 | 86 | | 20 | 3 | | 21 | 15 | | 22 | 12 | | 23 | 17 | | 24 | 54 | | 25 | 17 | | 26 | 32 | | 27 | 12 | | 28 | 5 | | 29 | 21 | | 30 | 22 | | 31 | 3 | | 32 | 16 | | 33 | 55 | | 34 | 9 | | 35 | 39 | | 36 | 12 | | 37 | 2 | | 38 | 17 | | 39 | 11 | | 40 | 3 | | 41 | 3 | | 42 | 2 | | 43 | 39 | | 44 | 64 | | 45 | 10 | | 46 | 12 | | 47 | 19 |
| |
| 90.33% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 47 | | matches | | 0 | "being asked" | | 1 | "was built" |
| |
| 92.47% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 124 | | matches | | 0 | "was reading" | | 1 | "was looking" |
| |
| 1.76% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 81 | | ratio | 0.049 | | matches | | 0 | "The bar smelled like it always did—old wood, spilled whisky, the faint ghost of cigarette smoke that had seeped into the walls decades before smoking bans existed." | | 1 | "It came from a booth near the back, low and rough, nothing like the laugh Rory remembered—bright, unguarded, the kind that used to get them both kicked out of lectures." | | 2 | "Her eyes, though—those hadn't changed." | | 3 | "Ffion nodded slowly, and for a moment the years between them didn't feel quite so vast—just two people who'd once known each other completely and now had to relearn the shape of that knowing." |
| |
| 99.26% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 661 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 27 | | adverbRatio | 0.04084720121028744 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.007564296520423601 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 81 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 81 | | mean | 13.26 | | std | 9.51 | | cv | 0.717 | | sampleLengths | | 0 | 18 | | 1 | 30 | | 2 | 15 | | 3 | 6 | | 4 | 21 | | 5 | 11 | | 6 | 27 | | 7 | 24 | | 8 | 7 | | 9 | 30 | | 10 | 21 | | 11 | 1 | | 12 | 3 | | 13 | 22 | | 14 | 27 | | 15 | 3 | | 16 | 5 | | 17 | 17 | | 18 | 32 | | 19 | 4 | | 20 | 2 | | 21 | 13 | | 22 | 6 | | 23 | 1 | | 24 | 6 | | 25 | 23 | | 26 | 19 | | 27 | 8 | | 28 | 15 | | 29 | 17 | | 30 | 19 | | 31 | 4 | | 32 | 5 | | 33 | 18 | | 34 | 38 | | 35 | 10 | | 36 | 20 | | 37 | 3 | | 38 | 12 | | 39 | 3 | | 40 | 12 | | 41 | 7 | | 42 | 10 | | 43 | 23 | | 44 | 31 | | 45 | 6 | | 46 | 11 | | 47 | 17 | | 48 | 15 | | 49 | 12 |
| |
| 68.31% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4691358024691358 | | totalSentences | 81 | | uniqueOpeners | 38 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 43 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 9 | | totalSentences | 43 | | matches | | 0 | "She dropped onto a stool" | | 1 | "It came from a booth" | | 2 | "She turned, and the woman" | | 3 | "She'd cut her hair short," | | 4 | "Her eyes, though—those hadn't changed." | | 5 | "She didn't ask what had" | | 6 | "She could see the answer" | | 7 | "She thought about her own" | | 8 | "she asked instead, nodding at" |
| | ratio | 0.209 | |
| 6.51% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 39 | | totalSentences | 43 | | matches | | 0 | "The green neon sign buzzed" | | 1 | "Silas looked up from behind" | | 2 | "She dropped onto a stool" | | 3 | "The bar smelled like it" | | 4 | "Silas set a glass of" | | 5 | "That was when she heard" | | 6 | "It came from a booth" | | 7 | "She turned, and the woman" | | 8 | "Ffion Pryce stood, and the" | | 9 | "She'd cut her hair short," | | 10 | "Her eyes, though—those hadn't changed." | | 11 | "Ffion said, closing the distance," | | 12 | "Ffion stepped back, studied her" | | 13 | "Rory gestured at the stool" | | 14 | "Ffion nodded her thanks without" | | 15 | "Ffion turned the glass in" | | 16 | "The words came out flat," | | 17 | "Rory remembered the Ffion who" | | 18 | "She didn't ask what had" | | 19 | "She could see the answer" |
| | ratio | 0.907 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 43 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 6 | | matches | | 0 | "The bar smelled like it always did—old wood, spilled whisky, the faint ghost of cigarette smoke that had seeped into the walls decades before smoking bans exist…" | | 1 | "It came from a booth near the back, low and rough, nothing like the laugh Rory remembered—bright, unguarded, the kind that used to get them both kicked out of l…" | | 2 | "She'd cut her hair short, cropped close to her skull, and there was grey threading through the dark brown of it that had no business being there." | | 3 | "Ffion nodded her thanks without really seeing him, which told Rory this wasn't her first drink of the evening." | | 4 | "Rory remembered the Ffion who used to sleep in her car outside Cardiff Bay so she could afford strings for her guitar, who used to talk about session work like …" | | 5 | "Ffion nodded slowly, and for a moment the years between them didn't feel quite so vast—just two people who'd once known each other completely and now had to rel…" |
| |
| 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 | 6 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 50 | | tagDensity | 0.12 | | leniency | 0.24 | | rawRatio | 0.167 | | effectiveRatio | 0.04 | |