| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said finally [finally]" | | 1 | "Aurora said honestly [honestly]" |
| | dialogueSentences | 54 | | tagDensity | 0.296 | | leniency | 0.593 | | rawRatio | 0.125 | | effectiveRatio | 0.074 | |
| 92.12% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1903 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | |
| 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) | |
| 63.22% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1903 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "electric" | | 1 | "tension" | | 2 | "familiar" | | 3 | "flickered" | | 4 | "silk" | | 5 | "eyebrow" | | 6 | "silence" | | 7 | "calculating" | | 8 | "warmth" | | 9 | "weight" | | 10 | "footsteps" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 68 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 68 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 105 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 110 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1900 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 52 | | wordCount | 1269 | | uniqueNames | 19 | | maxNameDensity | 1.5 | | worstName | "Aurora" | | maxWindowNameDensity | 4 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 19 | | Cardiff | 1 | | Silas | 8 | | Raven | 1 | | Nest | 1 | | Paddington | 1 | | Elena | 9 | | Marsh | 1 | | Lenny | 1 | | Tate | 1 | | Modern | 1 | | Brighton | 1 | | Hammersmith | 1 | | Scotland | 1 | | Christmas | 1 | | New | 1 | | Year | 1 | | Swallowed | 1 | | Took | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Silas" | | 2 | "Elena" | | 3 | "Lenny" | | 4 | "Tate" | | 5 | "Year" |
| | places | | 0 | "Cardiff" | | 1 | "Raven" | | 2 | "Paddington" | | 3 | "Marsh" | | 4 | "Brighton" | | 5 | "Hammersmith" | | 6 | "Scotland" | | 7 | "Christmas" | | 8 | "New" |
| | globalScore | 0.751 | | windowScore | 0.333 | |
| 91.86% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 43 | | glossingSentenceCount | 1 | | matches | | 0 | "drone that seemed to vibrate through the floorboards, through the soles of Aurora's shoes, up through her ankles and into the base of her skull where tension had taken permanent residence three years ago in a Cardiff bedroom with the curtains drawn against the afternoon light" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1900 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 105 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 59 | | mean | 32.2 | | std | 32.23 | | cv | 1.001 | | sampleLengths | | 0 | 88 | | 1 | 72 | | 2 | 23 | | 3 | 3 | | 4 | 14 | | 5 | 24 | | 6 | 7 | | 7 | 93 | | 8 | 82 | | 9 | 3 | | 10 | 73 | | 11 | 6 | | 12 | 5 | | 13 | 3 | | 14 | 94 | | 15 | 5 | | 16 | 3 | | 17 | 42 | | 18 | 4 | | 19 | 25 | | 20 | 8 | | 21 | 5 | | 22 | 4 | | 23 | 26 | | 24 | 108 | | 25 | 60 | | 26 | 4 | | 27 | 1 | | 28 | 4 | | 29 | 6 | | 30 | 13 | | 31 | 51 | | 32 | 4 | | 33 | 60 | | 34 | 5 | | 35 | 8 | | 36 | 2 | | 37 | 71 | | 38 | 2 | | 39 | 22 | | 40 | 46 | | 41 | 13 | | 42 | 3 | | 43 | 100 | | 44 | 5 | | 45 | 16 | | 46 | 5 | | 47 | 44 | | 48 | 88 | | 49 | 97 |
| |
| 94.94% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 68 | | matches | | 0 | "were supposed" | | 1 | "been locked" |
| |
| 39.74% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 208 | | matches | | 0 | "was making" | | 1 | "was coming" | | 2 | "was listening" | | 3 | "wasn't reading" | | 4 | "was following" |
| |
| 88.44% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 105 | | ratio | 0.019 | | matches | | 0 | "The woman was Elena Marsh, though she'd gone by Lenny through most of their teenage years, a nickname that had suited her then—the lean, laughing girl who'd gotten them both banned from the Tate Modern for sneaking onto the roof, who'd shown up at Aurora's window at seventeen with a bottle of cheap vodka and a plan to hitchhike to Brighton, who'd held Aurora's hand in the waiting room of the hospital where they'd stitched up her wrist after the accident with the kitchen knife, who'd promised, white-faced and fierce, that she would never leave, that she would always be there, that nothing would ever come between them." | | 1 | "Aurora looked at Elena—at the grey beginning to thread through her hair at the temples, at the new lines around her eyes, at the exhaustion carved into the hollows of her face—and felt something shift inside her, some tectonic plate that had been locked for years finally beginning to move." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1274 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 36 | | adverbRatio | 0.0282574568288854 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.008634222919937205 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 105 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 105 | | mean | 18.1 | | std | 20.09 | | cv | 1.11 | | sampleLengths | | 0 | 57 | | 1 | 31 | | 2 | 35 | | 3 | 16 | | 4 | 9 | | 5 | 12 | | 6 | 14 | | 7 | 9 | | 8 | 3 | | 9 | 14 | | 10 | 14 | | 11 | 5 | | 12 | 5 | | 13 | 7 | | 14 | 14 | | 15 | 18 | | 16 | 8 | | 17 | 53 | | 18 | 5 | | 19 | 40 | | 20 | 37 | | 21 | 3 | | 22 | 4 | | 23 | 69 | | 24 | 6 | | 25 | 5 | | 26 | 3 | | 27 | 43 | | 28 | 51 | | 29 | 5 | | 30 | 3 | | 31 | 2 | | 32 | 40 | | 33 | 4 | | 34 | 12 | | 35 | 9 | | 36 | 4 | | 37 | 8 | | 38 | 5 | | 39 | 4 | | 40 | 4 | | 41 | 20 | | 42 | 2 | | 43 | 108 | | 44 | 60 | | 45 | 4 | | 46 | 1 | | 47 | 4 | | 48 | 6 | | 49 | 13 |
| |
| 53.97% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.38095238095238093 | | totalSentences | 105 | | uniqueOpeners | 40 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 58 | | matches | | 0 | "Somewhere a car alarm began" | | 1 | "Then the woman's careful composure" |
| | ratio | 0.034 | |
| 82.07% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 58 | | matches | | 0 | "She pushed through the door" | | 1 | "He didn't look up, but" | | 2 | "she said, setting the bags" | | 3 | "He set down the glass." | | 4 | "She unzipped her jacket, letting" | | 5 | "She'd been restocking the minibar" | | 6 | "She didn't look up." | | 7 | "She looked up." | | 8 | "She was thinner than Aurora" | | 9 | "She gave an almost imperceptible" | | 10 | "He poured the drink." | | 11 | "She took a long sip" | | 12 | "She set it down on" | | 13 | "Her hand went to her" | | 14 | "Her voice came out sharper" | | 15 | "she said finally" | | 16 | "She stood, pulling her jacket" | | 17 | "She didn't look back to" | | 18 | "She didn't need to." | | 19 | "She knew the sound of" |
| | ratio | 0.345 | |
| 11.72% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 52 | | totalSentences | 58 | | matches | | 0 | "The green neon sign above" | | 1 | "She pushed through the door" | | 2 | "Silas stood behind the bar" | | 3 | "He didn't look up, but" | | 4 | "The way his shoulders settled" | | 5 | "The slight pause before the" | | 6 | "she said, setting the bags" | | 7 | "Something that might have been" | | 8 | "He set down the glass." | | 9 | "She unzipped her jacket, letting" | | 10 | "Aurora reached for a glass" | | 11 | "That room was empty now." | | 12 | "The single bare bulb hanging" | | 13 | "She'd been restocking the minibar" | | 14 | "The door opened." | | 15 | "She didn't look up." | | 16 | "People came and went from" | | 17 | "The voice stopped her mid-sip." | | 18 | "She looked up." | | 19 | "The woman standing at the" |
| | ratio | 0.897 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 58 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 31 | | technicalSentenceCount | 9 | | matches | | 0 | "The green neon sign above the door hummed a low, electric drone that seemed to vibrate through the floorboards, through the soles of Aurora's shoes, up through …" | | 1 | "People came and went from the Raven's Nest like water through a sieve, and she'd learned early that noticing faces was a liability in this line of work, in this…" | | 2 | "The woman standing at the bar three stools away wore a green silk blouse untucked over dark trousers, her blonde hair cropped short and gelled back from her fac…" | | 3 | "The woman was Elena Marsh, though she'd gone by Lenny through most of their teenage years, a nickname that had suited her then—the lean, laughing girl who'd got…" | | 4 | "Her hand went to her collar, fingers working at a button that didn't need adjusting." | | 5 | "Elena turned on her stool to face her fully, and Aurora saw the way her eyes moved over her face, cataloging, measuring, searching for traces of the girl she'd …" | | 6 | "Aurora felt the weight of it pressing against her chest, against the walls she'd spent years building, the walls that were supposed to keep her safe but had onl…" | | 7 | "The bar was empty now except for the two of them and Silas, who had retired to the far end of the counter with a newspaper he wasn't reading." | | 8 | "Aurora looked at Elena—at the grey beginning to thread through her hair at the temples, at the new lines around her eyes, at the exhaustion carved into the holl…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 1 | | fancyTags | | 0 | "the woman agreed (agree)" |
| | dialogueSentences | 54 | | tagDensity | 0.167 | | leniency | 0.333 | | rawRatio | 0.111 | | effectiveRatio | 0.037 | |