| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 78 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 82.36% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1984 | | totalAiIsmAdverbs | 7 | | found | | 0 | | | 1 | | adverb | "deliberately" | | count | 1 |
| | 2 | | | 3 | | | 4 | | | 5 | |
| | highlights | | 0 | "slightly" | | 1 | "deliberately" | | 2 | "really" | | 3 | "gently" | | 4 | "slowly" | | 5 | "completely" |
| |
| 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) | |
| 72.28% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1984 | | totalAiIsms | 11 | | found | | | highlights | | 0 | "familiar" | | 1 | "measured" | | 2 | "predictable" | | 3 | "silence" | | 4 | "could feel" | | 5 | "efficient" | | 6 | "tinged" | | 7 | "flicker" | | 8 | "warmth" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "let out a breath" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 99 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 99 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 149 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 60 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 6 | | totalWords | 2018 | | ratio | 0.003 | | matches | | 0 | "sorry" | | 1 | "Aurora" | | 2 | "Carter" | | 3 | "Rory" | | 4 | "good" | | 5 | "know" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 27 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 85 | | wordCount | 1479 | | uniqueNames | 17 | | maxNameDensity | 2.03 | | worstName | "Rory" | | maxWindowNameDensity | 4 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 3 | | Nest | 3 | | Tuesday | 2 | | Silas | 6 | | London | 3 | | Soho | 1 | | Rory | 30 | | Golden | 1 | | Empress | 1 | | Ellie | 27 | | Brennan | 1 | | Cardiff | 2 | | Pre-Law | 1 | | Charles | 1 | | Street | 1 | | Evan | 1 | | Welsh | 1 |
| | persons | | 0 | "Raven" | | 1 | "Silas" | | 2 | "Rory" | | 3 | "Ellie" | | 4 | "Brennan" | | 5 | "Evan" |
| | places | | 0 | "London" | | 1 | "Soho" | | 2 | "Cardiff" | | 3 | "Charles" | | 4 | "Street" |
| | globalScore | 0.486 | | windowScore | 0.333 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like a navy suit, and her hands —" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.496 | | wordCount | 2018 | | matches | | 0 | "not a breaking, exactly, but a loosening" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 149 | | matches | | 0 | "saw that her" | | 1 | "understanding that words" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 77 | | mean | 26.21 | | std | 27.22 | | cv | 1.039 | | sampleLengths | | 0 | 95 | | 1 | 89 | | 2 | 16 | | 3 | 41 | | 4 | 3 | | 5 | 88 | | 6 | 8 | | 7 | 22 | | 8 | 1 | | 9 | 81 | | 10 | 3 | | 11 | 78 | | 12 | 30 | | 13 | 18 | | 14 | 36 | | 15 | 5 | | 16 | 2 | | 17 | 58 | | 18 | 19 | | 19 | 6 | | 20 | 52 | | 21 | 42 | | 22 | 2 | | 23 | 17 | | 24 | 9 | | 25 | 40 | | 26 | 17 | | 27 | 12 | | 28 | 15 | | 29 | 35 | | 30 | 4 | | 31 | 5 | | 32 | 60 | | 33 | 45 | | 34 | 5 | | 35 | 2 | | 36 | 11 | | 37 | 1 | | 38 | 48 | | 39 | 11 | | 40 | 2 | | 41 | 4 | | 42 | 98 | | 43 | 5 | | 44 | 13 | | 45 | 29 | | 46 | 4 | | 47 | 2 | | 48 | 16 | | 49 | 8 |
| |
| 98.17% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 99 | | matches | | 0 | "been called" | | 1 | "were traded" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 238 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 22 | | semicolonCount | 0 | | flaggedSentences | 16 | | totalSentences | 149 | | ratio | 0.107 | | matches | | 0 | "It was nearly eleven on a Tuesday, and the bar was quiet — a handful of regulars scattered along the length of the mahogany, their conversations low and unhurried." | | 1 | "She heard the door before she saw anyone — that particular creak of the hinge Silas kept meaning to oil — and the rush of cold London air that followed." | | 2 | "Not because it was loud or unusual, but because something in its cadence — a particular lift on the word *sorry*, the way the vowels drew slightly long — landed somewhere beneath her ribs and pulled." | | 3 | "She wore a dark wool coat over what looked like a navy suit, and her hands — those long, expressive hands Rory remembered from lecture halls and kitchen tables — gripped the strap of a leather bag with both fists." | | 4 | "Then the woman's eyes — green, still green, though dimmer now, as if lit from further away — widened." | | 5 | "The name she'd been called by people who'd known her before — before London, before the flat above the bar, before the Golden Empress and the delivery routes and the long nights of learning to sleep without checking the locks three times." | | 6 | "She placed it down on a coaster without looking, the way she'd learned to do — Silas insisted on coasters, said it was a matter of principle, and Rory had stopped arguing about which principles mattered most." | | 7 | "Ellie's gaze tracked her movements, taking in the quiet authority of the way Rory moved through the space — the economy of her gestures, the way her bright blue eyes assessed and catalogued without appearing to stare." | | 8 | "She saw the flicker cross Ellie's face — the quick, sharp calculation of someone who'd learned to read professional subtext — and felt a small twist of guilt." | | 9 | "She looked around The Raven's Nest — at the old maps papering the walls, at the black-and-white photographs Silas had collected over the years, faces from another century staring out at strangers with their unknowable lives." | | 10 | "\"I said no.\" Her voice was quiet, but there was a wall in it now, something Ellie would have recognized from those last weeks in Cardiff — the same tone Rory had used when Ellie had tried, gently, desperately, to convince her to go to the police." | | 11 | "They looked at each other across the bar, and the years between them compressed and expanded in the same breath — five years of distance, of unanswered texts and birthdays passed in silence, of Rory learning to be someone new and Ellie watching from afar, not knowing how to reach the person her friend was becoming." | | 12 | "Rory felt something shift in her chest — not a breaking, exactly, but a loosening." | | 13 | "He'd given her the bottle on her thirtieth — no, her twenty-fifth birthday, and she'd been saving it, though she hadn't known for what." | | 14 | "Ellie looked at it, then at Rory, and something passed between them — an understanding that words would come later, or they wouldn't, but that this moment, here, now, with the green neon buzzing and the rain tapping the windows and the quiet geometry of two old friends finding each other in a city that swallowed people whole, was enough." | | 15 | "She raised her glass to meet Ellie's, and the sound it made — that small, clear ring of glass against glass — cut through the low murmur of the bar like a bell." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1463 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 47 | | adverbRatio | 0.03212576896787423 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.008202323991797676 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 149 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 149 | | mean | 13.54 | | std | 12.36 | | cv | 0.913 | | sampleLengths | | 0 | 21 | | 1 | 29 | | 2 | 23 | | 3 | 22 | | 4 | 30 | | 5 | 4 | | 6 | 40 | | 7 | 15 | | 8 | 16 | | 9 | 5 | | 10 | 36 | | 11 | 3 | | 12 | 11 | | 13 | 11 | | 14 | 26 | | 15 | 40 | | 16 | 8 | | 17 | 19 | | 18 | 3 | | 19 | 1 | | 20 | 9 | | 21 | 16 | | 22 | 13 | | 23 | 1 | | 24 | 42 | | 25 | 3 | | 26 | 2 | | 27 | 4 | | 28 | 21 | | 29 | 34 | | 30 | 11 | | 31 | 6 | | 32 | 30 | | 33 | 5 | | 34 | 8 | | 35 | 5 | | 36 | 29 | | 37 | 7 | | 38 | 5 | | 39 | 2 | | 40 | 16 | | 41 | 37 | | 42 | 5 | | 43 | 8 | | 44 | 11 | | 45 | 6 | | 46 | 14 | | 47 | 23 | | 48 | 15 | | 49 | 37 |
| |
| 46.98% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 15 | | diversityRatio | 0.3422818791946309 | | totalSentences | 149 | | uniqueOpeners | 51 | |
| 81.30% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 82 | | matches | | 0 | "Then the woman's eyes —" | | 1 | "Somewhere in the back, a" |
| | ratio | 0.024 | |
| 98.05% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 25 | | totalSentences | 82 | | matches | | 0 | "It was nearly eleven on" | | 1 | "She heard the door before" | | 2 | "She didn't look up." | | 3 | "She could catalogue the room" | | 4 | "She looked up." | | 5 | "Her auburn hair was cut" | | 6 | "She wore a dark wool" | | 7 | "Her lips parted." | | 8 | "Her roommate at Cardiff." | | 9 | "She reached beneath the counter" | | 10 | "She placed it down on" | | 11 | "She turned back to the" | | 12 | "She lifted the water to" | | 13 | "She saw the flicker cross" | | 14 | "She pressed her lips together," | | 15 | "She looked around The Raven's" | | 16 | "She didn't turn around." | | 17 | "She felt the information settle" | | 18 | "She resumed her wiping" | | 19 | "Her voice was quiet, but" |
| | ratio | 0.305 | |
| 45.37% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 68 | | totalSentences | 82 | | matches | | 0 | "The green neon of The" | | 1 | "It was nearly eleven on" | | 2 | "Rory wiped down the counter" | | 3 | "The crescent-shaped scar on her" | | 4 | "She heard the door before" | | 5 | "She didn't look up." | | 6 | "Tuesday nights drew a predictable" | | 7 | "She could catalogue the room" | | 8 | "The voice stopped her hand." | | 9 | "She looked up." | | 10 | "The woman standing at the" | | 11 | "Her auburn hair was cut" | | 12 | "She wore a dark wool" | | 13 | "Her lips parted." | | 14 | "The name landed like a" | | 15 | "The name she'd been called" | | 16 | "Her roommate at Cardiff." | | 17 | "Ellie, who'd stayed up until" | | 18 | "Ellie, who'd been the first" | | 19 | "Ellie, who hadn't been the" |
| | ratio | 0.829 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 82 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 10 | | matches | | 0 | "She heard the door before she saw anyone — that particular creak of the hinge Silas kept meaning to oil — and the rush of cold London air that followed." | | 1 | "Tuesday nights drew a predictable crowd: Silas's contacts in their careful suits, a few tourists who'd stumbled in from Soho's theatre crowd thinking this was s…" | | 2 | "Not *Carter*, which was what Silas called her when he wanted her attention." | | 3 | "Ellie, who'd stayed up until three in the morning helping her outline torts cases, who'd laughed so hard at Rory's impression of their constitutional law profes…" | | 4 | "Ellie, who'd been the first person Rory had told about Evan." | | 5 | "She saw the flicker cross Ellie's face — the quick, sharp calculation of someone who'd learned to read professional subtext — and felt a small twist of guilt." | | 6 | "At the life she'd built in the spaces between other people's stories, delivering food by day and drinks by night, living above a retired spy's bar in the middle…" | | 7 | "The question hung between them, raw and honest in a way that felt almost indecent in the dim warmth of the bar." | | 8 | "Ellie looked at it, then at Rory, and something passed between them — an understanding that words would come later, or they wouldn't, but that this moment, here…" | | 9 | "Inside The Raven's Nest, the maps watched from the walls and the photographs kept their silent vigil, and two women who had once known each other completely sat…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 26 | | uselessAdditionCount | 1 | | matches | | 0 | "Ellie waved, as though the specifics were irrelevant" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 78 | | tagDensity | 0.141 | | leniency | 0.282 | | rawRatio | 0 | | effectiveRatio | 0 | |