| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 46 | | tagDensity | 0.391 | | leniency | 0.783 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 73.50% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1321 | | totalAiIsmAdverbs | 7 | | found | | | highlights | | 0 | "precisely" | | 1 | "really" | | 2 | "carefully" | | 3 | "slightly" | | 4 | "very" | | 5 | "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) | |
| 81.07% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1321 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "weight" | | 1 | "familiar" | | 2 | "churn" | | 3 | "calibrated" | | 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 | 79 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 79 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 106 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1329 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 16 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 1091 | | uniqueNames | 16 | | maxNameDensity | 0.64 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 7 | | Friday | 1 | | Guinness | 1 | | Viennese | 1 | | Rory | 4 | | Dominic | 1 | | Farrell | 1 | | Dom | 5 | | Rearranged | 1 | | Brecon | 1 | | Beacons | 1 | | Evan | 1 | | London | 2 | | Recalibrated | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Dominic" | | 5 | "Farrell" | | 6 | "Dom" | | 7 | "Evan" |
| | places | | 0 | "Viennese" | | 1 | "Brecon" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 45 | | 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.752 | | wordCount | 1329 | | matches | | 0 | "Not a smile exactly, but the precondition for one" |
| |
| 40.88% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 4 | | totalSentences | 106 | | matches | | 0 | "said that name" | | 1 | "been — that she" | | 2 | "knew that she'dknew that he" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 51 | | mean | 26.06 | | std | 28.32 | | cv | 1.087 | | sampleLengths | | 0 | 98 | | 1 | 85 | | 2 | 14 | | 3 | 20 | | 4 | 1 | | 5 | 34 | | 6 | 2 | | 7 | 95 | | 8 | 3 | | 9 | 27 | | 10 | 45 | | 11 | 6 | | 12 | 1 | | 13 | 67 | | 14 | 9 | | 15 | 4 | | 16 | 19 | | 17 | 14 | | 18 | 14 | | 19 | 2 | | 20 | 36 | | 21 | 101 | | 22 | 10 | | 23 | 5 | | 24 | 2 | | 25 | 5 | | 26 | 15 | | 27 | 2 | | 28 | 53 | | 29 | 23 | | 30 | 3 | | 31 | 24 | | 32 | 6 | | 33 | 39 | | 34 | 74 | | 35 | 9 | | 36 | 21 | | 37 | 63 | | 38 | 15 | | 39 | 15 | | 40 | 9 | | 41 | 1 | | 42 | 4 | | 43 | 73 | | 44 | 5 | | 45 | 2 | | 46 | 27 | | 47 | 47 | | 48 | 57 | | 49 | 5 |
| |
| 91.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 79 | | matches | | 0 | "been washed" | | 1 | "was cropped" | | 2 | "being asked" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 8 | | totalVerbs | 190 | | matches | | 0 | "was pouring" | | 1 | "was sitting" | | 2 | "was wearing" | | 3 | "was lying — was telling" | | 4 | "was telling" | | 5 | "were picking" | | 6 | "was picking" |
| |
| 8.09% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 106 | | ratio | 0.047 | | matches | | 0 | "She'd been avoiding the place all week — avoiding Silas, avoiding his careful questions — but the rain had made the decision for her, and now she pushed through the door with her jacket pulled over her head and her trainers squeaking on the threshold." | | 1 | "Not Rory, precisely — but the shape it made was wrong, older, like a coat that had been washed too many times." | | 2 | "He half-rose from the stool, and for a moment the gesture was so familiar — that particular awkward rise that was half courtesy and half reflex, the same as it had always been — that she felt something shift in her chest, some tectonic thing." | | 3 | "She knew the way he breathed when he was lying — the slight elevation, the overcareful voice — and she knew the way he breathed when he was telling the truth, which was quieter, and cost him more." | | 4 | "She considered the question honestly, which was something she'd been practicing since London, since the flat above this very bar, since Silas had once said to her — sideways, in the way he said most important things — that the problem with clever people is they spend so much energy being accurate about the world that they forget to be accurate about themselves." |
| |
| 95.52% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1086 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.04511970534069982 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.011049723756906077 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 106 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 106 | | mean | 12.54 | | std | 12.83 | | cv | 1.023 | | sampleLengths | | 0 | 16 | | 1 | 37 | | 2 | 45 | | 3 | 4 | | 4 | 28 | | 5 | 18 | | 6 | 35 | | 7 | 7 | | 8 | 2 | | 9 | 5 | | 10 | 20 | | 11 | 1 | | 12 | 2 | | 13 | 10 | | 14 | 22 | | 15 | 2 | | 16 | 22 | | 17 | 14 | | 18 | 15 | | 19 | 26 | | 20 | 18 | | 21 | 3 | | 22 | 2 | | 23 | 9 | | 24 | 16 | | 25 | 45 | | 26 | 3 | | 27 | 3 | | 28 | 1 | | 29 | 24 | | 30 | 43 | | 31 | 9 | | 32 | 4 | | 33 | 10 | | 34 | 2 | | 35 | 7 | | 36 | 10 | | 37 | 4 | | 38 | 7 | | 39 | 7 | | 40 | 2 | | 41 | 16 | | 42 | 20 | | 43 | 3 | | 44 | 34 | | 45 | 26 | | 46 | 38 | | 47 | 6 | | 48 | 4 | | 49 | 5 |
| |
| 58.49% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 13 | | diversityRatio | 0.42452830188679247 | | totalSentences | 106 | | uniqueOpeners | 45 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 35 | | totalSentences | 58 | | matches | | 0 | "She'd been avoiding the place" | | 1 | "He looked up when she" | | 2 | "She was already pulling off" | | 3 | "He was sitting at the" | | 4 | "She wouldn't have recognised him" | | 5 | "He'd lost weight everywhere except" | | 6 | "His hair, which she remembered" | | 7 | "He was wearing a jacket" | | 8 | "She hadn't said that name" | | 9 | "She turned it over in" | | 10 | "He half-rose from the stool," | | 11 | "She crossed the bar and" | | 12 | "She wrapped both hands around" | | 13 | "He looked at the bar" | | 14 | "He picked up his drink," | | 15 | "She'd known Dom since they" | | 16 | "She had stood in the" | | 17 | "She knew the way he" | | 18 | "He was telling the truth" | | 19 | "He almost smiled" |
| | ratio | 0.603 | |
| 20.34% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 51 | | totalSentences | 58 | | matches | | 0 | "The green neon of The" | | 1 | "Rory saw it from halfway" | | 2 | "She'd been avoiding the place" | | 3 | "The bar was half-full." | | 4 | "The usual geography: city workers" | | 5 | "He looked up when she" | | 6 | "She was already pulling off" | | 7 | "The name hit her differently" | | 8 | "He was sitting at the" | | 9 | "She wouldn't have recognised him" | | 10 | "He'd lost weight everywhere except" | | 11 | "His hair, which she remembered" | | 12 | "He was wearing a jacket" | | 13 | "She hadn't said that name" | | 14 | "She turned it over in" | | 15 | "He half-rose from the stool," | | 16 | "She crossed the bar and" | | 17 | "Silas materialised with her usual" | | 18 | "She wrapped both hands around" | | 19 | "He looked at the bar" |
| | ratio | 0.879 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 20.41% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 6 | | matches | | 0 | "She'd been avoiding the place all week — avoiding Silas, avoiding his careful questions — but the rain had made the decision for her, and now she pushed through…" | | 1 | "Behind the bar, Silas was pouring a Guinness with the unhurried patience of a man who had once, according to him, spent eleven days in a Viennese apartment wait…" | | 2 | "He half-rose from the stool, and for a moment the gesture was so familiar — that particular awkward rise that was half courtesy and half reflex, the same as it …" | | 3 | "She knew the way he breathed when he was lying — the slight elevation, the overcareful voice — and she knew the way he breathed when he was telling the truth, w…" | | 4 | "She could hear it against the windows, that particular persistent London rain that didn't hurry and didn't apologise." | | 5 | "Silas came back to their end of the bar and topped up her glass without being asked, and when she glanced at him he was already looking elsewhere, wearing the e…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 10 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 46 | | tagDensity | 0.217 | | leniency | 0.435 | | rawRatio | 0 | | effectiveRatio | 0 | |