| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 45 | | tagDensity | 0.467 | | leniency | 0.933 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 54.10% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1416 | | totalAiIsmAdverbs | 13 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | adverb | "deliberately" | | count | 1 |
| | 5 | | | 6 | |
| | highlights | | 0 | "slightly" | | 1 | "very" | | 2 | "suddenly" | | 3 | "lightly" | | 4 | "deliberately" | | 5 | "really" | | 6 | "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) | |
| 75.28% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1416 | | totalAiIsms | 7 | | found | | | highlights | | 0 | "warmth" | | 1 | "silk" | | 2 | "familiar" | | 3 | "weight" | | 4 | "comfortable" | | 5 | "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 | 81 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 81 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 103 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 1 | | totalWords | 1424 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 50 | | wordCount | 1091 | | uniqueNames | 14 | | maxNameDensity | 1.92 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 3 | | Rory | 21 | | Greek | 1 | | Street | 1 | | Tuesday | 1 | | Priya | 13 | | Silas | 3 | | Converse | 1 | | Cardiff | 1 | | Central | 1 | | Sufjan | 1 | | Stevens | 1 | | Jameson | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Priya" | | 4 | "Silas" | | 5 | "Sufjan" | | 6 | "Stevens" | | 7 | "Jameson" |
| | places | | 0 | "Greek" | | 1 | "Street" | | 2 | "Cardiff" |
| | globalScore | 0.538 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.702 | | wordCount | 1424 | | matches | | 0 | "Not uncomfortable, exactly, but not weightless either" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 103 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 45 | | mean | 31.64 | | std | 29.5 | | cv | 0.932 | | sampleLengths | | 0 | 82 | | 1 | 95 | | 2 | 9 | | 3 | 62 | | 4 | 23 | | 5 | 56 | | 6 | 3 | | 7 | 1 | | 8 | 39 | | 9 | 46 | | 10 | 13 | | 11 | 5 | | 12 | 8 | | 13 | 61 | | 14 | 9 | | 15 | 91 | | 16 | 4 | | 17 | 5 | | 18 | 31 | | 19 | 10 | | 20 | 2 | | 21 | 37 | | 22 | 11 | | 23 | 3 | | 24 | 64 | | 25 | 51 | | 26 | 57 | | 27 | 29 | | 28 | 2 | | 29 | 5 | | 30 | 121 | | 31 | 13 | | 32 | 21 | | 33 | 57 | | 34 | 27 | | 35 | 9 | | 36 | 2 | | 37 | 39 | | 38 | 75 | | 39 | 32 | | 40 | 21 | | 41 | 33 | | 42 | 3 | | 43 | 8 | | 44 | 49 |
| |
| 92.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 81 | | matches | | 0 | "been sealed" | | 1 | "were stacked" | | 2 | "been sketched" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 181 | | matches | | 0 | "was thinking" | | 1 | "was wearing" | | 2 | "was playing" | | 3 | "was doing" | | 4 | "was picking" | | 5 | "were laughing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 103 | | ratio | 0.068 | | matches | | 0 | "It had been a long shift — three deliveries cancelled, one address that turned out to be a car park, and her bicycle chain coming loose on Greek Street — and the light above the door was the closest thing she had to a welcome mat." | | 1 | "The woman turned, and there it was — that half-second of processing, the eyes going through several rapid recalibrations before landing on recognition." | | 2 | "\"Oh my God.\" Priya slid off the stool and they did the thing — the hug that was slightly too brief, the pulling back to look at each other, the mutual assessment dressed up as warmth." | | 3 | "\"You left pretty suddenly.\" She said it lightly, conversationally, the way you might mention the weather, and Rory recognised the technique — she'd used it herself." | | 4 | "Priya looked — Rory searched for the word and couldn't find one that wasn't reductive." | | 5 | "\"That's a good answer,\" Priya said, and this time the smile was different — smaller, slower, without any performance in it." | | 6 | "Inside, the Nest held them in its amber light, the way it held everyone — without judgment, without urgency, just the old maps and the photographs of strangers and the low warm sound of people who had somewhere to be." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1101 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 41 | | adverbRatio | 0.03723887375113533 | | lyAdverbCount | 15 | | lyAdverbRatio | 0.013623978201634877 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 103 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 103 | | mean | 13.83 | | std | 12.22 | | cv | 0.884 | | sampleLengths | | 0 | 33 | | 1 | 46 | | 2 | 3 | | 3 | 11 | | 4 | 22 | | 5 | 13 | | 6 | 36 | | 7 | 5 | | 8 | 8 | | 9 | 9 | | 10 | 24 | | 11 | 19 | | 12 | 19 | | 13 | 2 | | 14 | 21 | | 15 | 3 | | 16 | 53 | | 17 | 3 | | 18 | 1 | | 19 | 23 | | 20 | 16 | | 21 | 36 | | 22 | 10 | | 23 | 8 | | 24 | 5 | | 25 | 5 | | 26 | 8 | | 27 | 6 | | 28 | 4 | | 29 | 36 | | 30 | 4 | | 31 | 11 | | 32 | 9 | | 33 | 29 | | 34 | 41 | | 35 | 19 | | 36 | 2 | | 37 | 4 | | 38 | 5 | | 39 | 15 | | 40 | 16 | | 41 | 10 | | 42 | 2 | | 43 | 26 | | 44 | 11 | | 45 | 4 | | 46 | 7 | | 47 | 3 | | 48 | 4 | | 49 | 41 |
| |
| 65.05% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.4368932038834951 | | totalSentences | 103 | | uniqueOpeners | 45 | |
| 52.08% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 64 | | matches | | 0 | "Then a smile, the kind" |
| | ratio | 0.016 | |
| 95.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 64 | | matches | | 0 | "It had been a long" | | 1 | "She pushed inside." | | 2 | "She liked that it asked" | | 3 | "She was halfway to the" | | 4 | "She could leave." | | 5 | "She'd come through the door" | | 6 | "She didn't leave." | | 7 | "It sounded like her." | | 8 | "He met Rory's eyes." | | 9 | "She held up two fingers" | | 10 | "She tilted her head at" | | 11 | "She said it lightly, conversationally," | | 12 | "It wasn't a question." | | 13 | "She'd always wondered about them." | | 14 | "She set the glass down" | | 15 | "She looked completed, maybe." | | 16 | "She hadn't meant to ask" | | 17 | "It had been their thing," | | 18 | "She hadn't said it to" | | 19 | "They sat with that." |
| | ratio | 0.313 | |
| 69.38% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 50 | | totalSentences | 64 | | matches | | 0 | "The green neon of The" | | 1 | "It had been a long" | | 2 | "She pushed inside." | | 3 | "The Nest on a Tuesday" | | 4 | "A couple in the corner" | | 5 | "The old maps on the" | | 6 | "Rory liked that about it." | | 7 | "She liked that it asked" | | 8 | "She was halfway to the" | | 9 | "The woman sitting on the" | | 10 | "She could leave." | | 11 | "She'd come through the door" | | 12 | "She didn't leave." | | 13 | "The woman turned, and there" | | 14 | "Priya slid off the stool" | | 15 | "Rory nodded at the ceiling" | | 16 | "Priya laughed, and it sounded" | | 17 | "It sounded like her." | | 18 | "Rory sat down two stools" | | 19 | "He met Rory's eyes." |
| | ratio | 0.781 | |
| 78.13% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 64 | | matches | | 0 | "Whether they'd known each other" |
| | ratio | 0.016 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 34 | | technicalSentenceCount | 8 | | matches | | 0 | "Three men at the far end of the bar nursing pints with the focused desperation of people who needed somewhere to be." | | 1 | "The old maps on the walls caught the amber light the way they always did, making the room feel like the inside of something antique, something that had been sea…" | | 2 | "Knew the particular arrangement of dark blond hair, longer now, pulled into a knot that was already coming loose." | | 3 | "She'd come through the door but she could turn and go back out into the rain and come back in twenty minutes and the woman would be gone, or she'd have shifted …" | | 4 | "Rory sat down two stools along and flagged for Silas, who had already appeared at the far end of the bar with the unhurried efficiency of a man who noticed ever…" | | 5 | "The deliberately casual delivery of something that wasn't casual at all." | | 6 | "But around the eyes there was something watchful, something that knew what it was doing at all times, and Rory wasn't sure that had been there before either." | | 7 | "Inside, the Nest held them in its amber light, the way it held everyone — without judgment, without urgency, just the old maps and the photographs of strangers …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 1 | | matches | | 0 | "She tilted, self-deprecating" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 45 | | tagDensity | 0.311 | | leniency | 0.622 | | rawRatio | 0 | | effectiveRatio | 0 | |