| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 1 | | adverbTags | | 0 | "Nadia smiled faintly [faintly]" |
| | dialogueSentences | 55 | | tagDensity | 0.364 | | leniency | 0.727 | | rawRatio | 0.05 | | effectiveRatio | 0.036 | |
| 82.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1677 | | totalAiIsmAdverbs | 6 | | found | | | highlights | | 0 | "slowly" | | 1 | "slightly" | | 2 | "very" | | 3 | "sharply" |
| |
| 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) | |
| 85.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1677 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "familiar" | | 1 | "remarkable" | | 2 | "methodical" | | 3 | "silk" | | 4 | "weight" |
| |
| 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 | 1 | | narrationSentences | 98 | | matches | | |
| 99.13% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 98 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 132 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1684 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 23 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 65 | | wordCount | 1339 | | uniqueNames | 12 | | maxNameDensity | 1.87 | | worstName | "Nadia" | | maxWindowNameDensity | 4 | | worstWindowName | "Nadia" | | discoveredNames | | Tuesday | 1 | | Rory | 23 | | Nadia | 25 | | Vasic | 1 | | Silas | 7 | | Evan | 1 | | Cardiff | 1 | | Pre-Law | 1 | | Nest | 1 | | London | 2 | | São | 1 | | Paulo | 1 |
| | persons | | 0 | "Rory" | | 1 | "Nadia" | | 2 | "Vasic" | | 3 | "Silas" | | 4 | "Evan" |
| | places | | 0 | "Cardiff" | | 1 | "London" | | 2 | "São" | | 3 | "Paulo" |
| | globalScore | 0.566 | | windowScore | 0.333 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 65 | | glossingSentenceCount | 4 | | matches | | 0 | "She was older, obviously — but then so was R" | | 1 | "looked like someone who had been through" | | 2 | "felt like admitting something" | | 3 | "something like this and not quite meant it" | | 4 | "not quite meant it" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.594 | | wordCount | 1684 | | matches | | 0 | "not the hair or the years but the posture" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 132 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 63 | | mean | 26.73 | | std | 31.5 | | cv | 1.179 | | sampleLengths | | 0 | 107 | | 1 | 66 | | 2 | 6 | | 3 | 3 | | 4 | 94 | | 5 | 1 | | 6 | 27 | | 7 | 43 | | 8 | 9 | | 9 | 5 | | 10 | 12 | | 11 | 69 | | 12 | 44 | | 13 | 4 | | 14 | 15 | | 15 | 29 | | 16 | 17 | | 17 | 3 | | 18 | 97 | | 19 | 6 | | 20 | 15 | | 21 | 8 | | 22 | 34 | | 23 | 16 | | 24 | 6 | | 25 | 1 | | 26 | 66 | | 27 | 4 | | 28 | 9 | | 29 | 5 | | 30 | 45 | | 31 | 33 | | 32 | 6 | | 33 | 17 | | 34 | 18 | | 35 | 3 | | 36 | 17 | | 37 | 42 | | 38 | 6 | | 39 | 7 | | 40 | 1 | | 41 | 9 | | 42 | 91 | | 43 | 5 | | 44 | 41 | | 45 | 11 | | 46 | 4 | | 47 | 3 | | 48 | 33 | | 49 | 115 |
| |
| 87.36% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 5 | | totalSentences | 98 | | matches | | 0 | "was entitled" | | 1 | "being asked" | | 2 | "was dressed" | | 3 | "was meant" | | 4 | "being asked" |
| |
| 27.59% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 232 | | matches | | 0 | "was carrying" | | 1 | "was sitting" | | 2 | "was standing" | | 3 | "wasn't hiding" | | 4 | "was meeting " | | 5 | "wasn't saying" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 132 | | ratio | 0.083 | | matches | | 0 | "Rory had barely glanced at it when she pushed through the door — the sign had become part of the furniture of her life, no more remarkable than the creak of the third stair up to her flat, or the smell of old wood and lemon cleaner that hit her every time she stepped inside." | | 1 | "Silas was at the far end of the counter, polishing a glass with the methodical attention he gave to everything — the glass turning slowly in the cloth, his hazel eyes moving across the room in that way of his that looked idle and wasn't." | | 2 | "She was older, obviously — but then so was Rory, and time had its own arithmetic." | | 3 | "There was a beat — that suspended, airless moment where recognition assembles itself across someone's face." | | 4 | "The hug was brief and slightly awkward in the way that hugs between people who were once very close and are no longer tend to be — too much pressure applied to compensate for the distance, finished a half-second too soon." | | 5 | "She was dressed well — better than the Nadia that Rory remembered, who had favoured paint-stained jeans and oversized jumpers she'd bought from charity shops on principle." | | 6 | "Around them the bar settled into itself — a low surge of laughter from a corner table, a stool scraping across the floor, the clink of ice." | | 7 | "She thought about Evan, which she tried not to do, and about Cardiff, and about the person she'd been there — the person who had done Pre-Law to make her father proud and stayed too long in a relationship because leaving felt like admitting something." | | 8 | "Nadia almost laughed again, and this time it came out properly — a short, genuine sound, unguarded." | | 9 | "Rory wrapped both hands around her glass and listened to Nadia talk about São Paulo, the rain, the gallery, the colleague she was meeting — a hesitation there, a careful pronoun, and Rory filed that away and didn't press." | | 10 | "The bar kept its own counsel, and so did they, and the space between who they had been and who they were now sat between them like a third person at the table — acknowledged, unintroduced, belonging to them both." |
| |
| 92.37% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1334 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 65 | | adverbRatio | 0.04872563718140929 | | lyAdverbCount | 21 | | lyAdverbRatio | 0.015742128935532233 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 132 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 132 | | mean | 12.76 | | std | 11.79 | | cv | 0.924 | | sampleLengths | | 0 | 16 | | 1 | 55 | | 2 | 36 | | 3 | 7 | | 4 | 45 | | 5 | 5 | | 6 | 9 | | 7 | 6 | | 8 | 2 | | 9 | 1 | | 10 | 37 | | 11 | 16 | | 12 | 14 | | 13 | 7 | | 14 | 20 | | 15 | 1 | | 16 | 11 | | 17 | 12 | | 18 | 4 | | 19 | 16 | | 20 | 27 | | 21 | 8 | | 22 | 1 | | 23 | 5 | | 24 | 10 | | 25 | 2 | | 26 | 41 | | 27 | 3 | | 28 | 25 | | 29 | 10 | | 30 | 27 | | 31 | 7 | | 32 | 4 | | 33 | 15 | | 34 | 24 | | 35 | 5 | | 36 | 7 | | 37 | 7 | | 38 | 3 | | 39 | 3 | | 40 | 4 | | 41 | 24 | | 42 | 15 | | 43 | 27 | | 44 | 14 | | 45 | 13 | | 46 | 6 | | 47 | 12 | | 48 | 3 | | 49 | 8 |
| |
| 46.21% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3181818181818182 | | totalSentences | 132 | | uniqueOpeners | 42 | |
| 81.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 82 | | matches | | 0 | "Barely above the low murmur" | | 1 | "Then Nadia Vasic smiled, and" |
| | ratio | 0.024 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 82 | | matches | | 0 | "She was carrying her jacket" | | 1 | "He gave Rory a nod." | | 2 | "She returned it and made" | | 3 | "She was older, obviously —" | | 4 | "She'd taken up space like" | | 5 | "She gestured at the room" | | 6 | "It came out flatter than" | | 7 | "It was almost true." | | 8 | "She was dressed well —" | | 9 | "She paused, and there was" | | 10 | "It wasn't a question." | | 11 | "It was something dry and" | | 12 | "She thought about the back" | | 13 | "She thought about Evan, which" | | 14 | "She had spent a long" | | 15 | "It said: I have not" | | 16 | "It said: I have thought" | | 17 | "It said: we were such" | | 18 | "He acknowledged it with nothing" |
| | ratio | 0.232 | |
| 27.07% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 71 | | totalSentences | 82 | | matches | | 0 | "The green neon hummed its" | | 1 | "Rory had barely glanced at" | | 2 | "She was carrying her jacket" | | 3 | "The bar was half-full for" | | 4 | "Silas was at the far" | | 5 | "He gave Rory a nod." | | 6 | "She returned it and made" | | 7 | "That was when she saw" | | 8 | "The woman was sitting two" | | 9 | "She was older, obviously —" | | 10 | "The girl she'd known had" | | 11 | "She'd taken up space like" | | 12 | "The word came out before" | | 13 | "The woman's head turned." | | 14 | "Nadia set down her glass" | | 15 | "Nadia stopped, shook her head," | | 16 | "The hug was brief and" | | 17 | "Rory sat down." | | 18 | "Silas appeared without being asked" | | 19 | "Nadia said, answering the original" |
| | ratio | 0.866 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 82 | | matches | (empty) | | ratio | 0 | |
| 61.69% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 44 | | technicalSentenceCount | 5 | | matches | | 0 | "Rory had barely glanced at it when she pushed through the door — the sign had become part of the furniture of her life, no more remarkable than the creak of the…" | | 1 | "Silas was at the far end of the counter, polishing a glass with the methodical attention he gave to everything — the glass turning slowly in the cloth, his haze…" | | 2 | "The woman was sitting two stools down from where Rory had been heading, hunched slightly over a gin and tonic, her dark hair cut short now in a way that made he…" | | 3 | "The hug was brief and slightly awkward in the way that hugs between people who were once very close and are no longer tend to be — too much pressure applied to …" | | 4 | "She thought about Evan, which she tried not to do, and about Cardiff, and about the person she'd been there — the person who had done Pre-Law to make her father…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 1 | | matches | | 0 | "Nadia touched, unconsciously" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 55 | | tagDensity | 0.164 | | leniency | 0.327 | | rawRatio | 0 | | effectiveRatio | 0 | |