| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 60 | | tagDensity | 0.233 | | leniency | 0.467 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 88.99% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1817 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "really" | | 1 | "very" | | 2 | "slowly" |
| |
| 80.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 69.73% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1817 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "tracing" | | 1 | "crystal" | | 2 | "rhythmic" | | 3 | "weight" | | 4 | "silence" | | 5 | "silk" | | 6 | "pristine" | | 7 | "lilt" | | 8 | "traced" | | 9 | "measured" |
| |
| 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 | 84 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 84 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 130 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 43 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1809 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 13 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 52 | | wordCount | 1119 | | uniqueNames | 26 | | maxNameDensity | 0.98 | | worstName | "Callum" | | maxWindowNameDensity | 3 | | worstWindowName | "Callum" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Soho | 1 | | Silas | 7 | | Golden | 1 | | Empress | 1 | | London | 3 | | Savile | 1 | | Row | 1 | | Oxford | 1 | | Yu-Fei | 1 | | Ford | 1 | | Fiesta | 1 | | Swansea | 2 | | Rory | 8 | | Callum | 11 | | Velcro | 1 | | Cardiff | 1 | | University | 1 | | Brendan | 1 | | Carter | 1 | | Prussia | 1 | | East | 1 | | Indies | 1 | | Welsh | 1 | | Berlin | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Silas" | | 3 | "Empress" | | 4 | "Rory" | | 5 | "Callum" | | 6 | "Brendan" | | 7 | "Carter" | | 8 | "Indies" |
| | places | | 0 | "Soho" | | 1 | "Golden" | | 2 | "London" | | 3 | "Oxford" | | 4 | "Cardiff" | | 5 | "Berlin" |
| | globalScore | 1 | | windowScore | 0.667 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like a accusation in his softened" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1809 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 130 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 73 | | mean | 24.78 | | std | 18.12 | | cv | 0.731 | | sampleLengths | | 0 | 70 | | 1 | 40 | | 2 | 41 | | 3 | 28 | | 4 | 40 | | 5 | 8 | | 6 | 23 | | 7 | 20 | | 8 | 1 | | 9 | 37 | | 10 | 58 | | 11 | 1 | | 12 | 30 | | 13 | 14 | | 14 | 7 | | 15 | 39 | | 16 | 25 | | 17 | 3 | | 18 | 28 | | 19 | 29 | | 20 | 25 | | 21 | 15 | | 22 | 5 | | 23 | 61 | | 24 | 17 | | 25 | 3 | | 26 | 4 | | 27 | 6 | | 28 | 47 | | 29 | 2 | | 30 | 40 | | 31 | 5 | | 32 | 52 | | 33 | 12 | | 34 | 38 | | 35 | 9 | | 36 | 43 | | 37 | 17 | | 38 | 31 | | 39 | 10 | | 40 | 47 | | 41 | 8 | | 42 | 2 | | 43 | 2 | | 44 | 34 | | 45 | 22 | | 46 | 32 | | 47 | 44 | | 48 | 5 | | 49 | 32 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 84 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 172 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 1 | | flaggedSentences | 8 | | totalSentences | 130 | | ratio | 0.062 | | matches | | 0 | "The tailored coat, the silk tie knotted with surgical precision, the platinum cufflink peeking from a crisp white cuff—none of it belonged to the boy who used to wear thrifted band shirts and burn the clutch on a rusted Ford Fiesta." | | 1 | "He winced, just a fraction—a tell from when they were nineteen, sneaking shots of Brendan Carter’s good scotch in the study while her parents were at the theatre." | | 2 | "The old maps pinned to the walls around them—yellowed charts of Prussia and the East Indies—blurred at the edges of her vision." | | 3 | "\"And you wanted to work for the Innocence Project.\" She leaned in, catching the scent of his cologne—sandalwood and something metallic, expensive." | | 4 | "It sounded like a accusation in his softened Welsh lilt—a voice he had clearly spent years sanding down for London boardrooms, now slipping back into its native cadence." | | 5 | "Callum stared at the black-and-white photographs behind the bottles—blurred shots of 1950s Berlin, men in trench coats crossing checkpoints." | | 6 | "She had stripped away everything that anchored her to expectations; he had buried himself under them until nothing of the boy from Swansea remained above ground." | | 7 | "Above the ceiling, her tiny flat waited—the radiator that clanked at three in the morning, the stack of library books by the mattress, the bolt on the door that only she had the key to." |
| |
| 88.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1141 | | adjectiveStacks | 2 | | stackExamples | | 0 | "small crescent-shaped scar" | | 1 | "heavy cream-colored card," |
| | adverbCount | 26 | | adverbRatio | 0.022787028921998246 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007011393514460999 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 130 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 130 | | mean | 13.92 | | std | 9.65 | | cv | 0.694 | | sampleLengths | | 0 | 19 | | 1 | 19 | | 2 | 10 | | 3 | 22 | | 4 | 23 | | 5 | 17 | | 6 | 9 | | 7 | 13 | | 8 | 19 | | 9 | 6 | | 10 | 22 | | 11 | 10 | | 12 | 17 | | 13 | 13 | | 14 | 8 | | 15 | 23 | | 16 | 6 | | 17 | 14 | | 18 | 1 | | 19 | 3 | | 20 | 6 | | 21 | 13 | | 22 | 4 | | 23 | 11 | | 24 | 41 | | 25 | 17 | | 26 | 1 | | 27 | 11 | | 28 | 19 | | 29 | 14 | | 30 | 7 | | 31 | 30 | | 32 | 6 | | 33 | 3 | | 34 | 9 | | 35 | 16 | | 36 | 3 | | 37 | 12 | | 38 | 8 | | 39 | 8 | | 40 | 25 | | 41 | 4 | | 42 | 7 | | 43 | 4 | | 44 | 14 | | 45 | 15 | | 46 | 5 | | 47 | 10 | | 48 | 28 | | 49 | 8 |
| |
| 64.87% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.4076923076923077 | | totalSentences | 130 | | uniqueOpeners | 53 | |
| 41.67% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 80 | | matches | | 0 | "Bright blue eyes met dark" |
| | ratio | 0.013 | |
| 55.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 80 | | matches | | 0 | "She peeled the soggy label" | | 1 | "Her shift at the Golden" | | 2 | "She rolled her shoulders, working" | | 3 | "His silver signet ring clicked" | | 4 | "He shifted his weight, favoring" | | 5 | "He shook out a black" | | 6 | "He walked toward the bar," | | 7 | "Her spine locked." | | 8 | "She turned her head." | | 9 | "He offered a tight, practiced" | | 10 | "He unbuttoned his coat and" | | 11 | "His gaze swept over her," | | 12 | "His hazel eyes darted from" | | 13 | "He laid a crisp twenty" | | 14 | "He didn't go far." | | 15 | "His nails were manicured." | | 16 | "He winced, just a fraction—a" | | 17 | "He drank it now anyway." | | 18 | "She set it down on" | | 19 | "She gestured to her oil-stained" |
| | ratio | 0.413 | |
| 41.25% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 80 | | matches | | 0 | "Rory sat on her usual" | | 1 | "She peeled the soggy label" | | 2 | "Her shift at the Golden" | | 3 | "She rolled her shoulders, working" | | 4 | "His silver signet ring clicked" | | 5 | "He shifted his weight, favoring" | | 6 | "The bell above the door" | | 7 | "A gust of wind blew" | | 8 | "He shook out a black" | | 9 | "He walked toward the bar," | | 10 | "Rory didn't look up from" | | 11 | "The man stopped two stools" | | 12 | "Silence stretched, heavy enough to" | | 13 | "Her spine locked." | | 14 | "Nobody in London used that" | | 15 | "She turned her head." | | 16 | "The tailored coat, the silk" | | 17 | "He offered a tight, practiced" | | 18 | "He unbuttoned his coat and" | | 19 | "His gaze swept over her," |
| | ratio | 0.838 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 47.62% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 45 | | technicalSentenceCount | 6 | | matches | | 0 | "He shifted his weight, favoring his right leg, his neatly trimmed beard twitching as he scrutinized the empty booths." | | 1 | "Not Silas, not Yu-Fei, not the regulars who tipped her in pound coins." | | 2 | "The tailored coat, the silk tie knotted with surgical precision, the platinum cufflink peeking from a crisp white cuff—none of it belonged to the boy who used t…" | | 3 | "Silas poured the scotch, slid the glass across, and retreated to the far end of the counter, near the bookshelf that hid the back room." | | 4 | "He reached out, his hand hovering over the bar between them, fingers twitching toward her sleeve before he thought better of it and pulled back, curling his han…" | | 5 | "She had stripped away everything that anchored her to expectations; he had buried himself under them until nothing of the boy from Swansea remained above ground…" |
| |
| 89.29% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 1 | | matches | | 0 | "She drained, the lukewarm fizz burning the back of her throat" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 4 | | fancyCount | 1 | | fancyTags | | 0 | "she whispered (whisper)" |
| | dialogueSentences | 60 | | tagDensity | 0.067 | | leniency | 0.133 | | rawRatio | 0.25 | | effectiveRatio | 0.033 | |