| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 1 | | adverbTags | | 0 | "The coat settled around [around]" |
| | dialogueSentences | 69 | | tagDensity | 0.29 | | leniency | 0.58 | | rawRatio | 0.05 | | effectiveRatio | 0.029 | |
| 96.94% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1635 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 90.83% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1635 | | totalAiIsms | 3 | | found | | | highlights | | 0 | "weight" | | 1 | "silence" | | 2 | "traced" |
| |
| 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 | 92 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 92 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 141 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 76 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1657 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 20 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 32 | | wordCount | 1187 | | uniqueNames | 11 | | maxNameDensity | 0.76 | | worstName | "Ewan" | | maxWindowNameDensity | 2 | | worstWindowName | "Ewan" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Eastern | 1 | | Europe | 1 | | Italian | 1 | | Rory | 8 | | Ewan | 9 | | Macallan | 5 | | Nina | 2 | | Simone | 2 | | Birmingham | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Ewan" | | 4 | "Nina" | | 5 | "Simone" |
| | places | | 0 | "Eastern" | | 1 | "Europe" | | 2 | "Birmingham" |
| | globalScore | 1 | | windowScore | 1 | |
| 63.79% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 58 | | glossingSentenceCount | 2 | | matches | | 0 | "smelled like old leather and amber whiskey" | | 1 | "as if bracing" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.604 | | wordCount | 1657 | | matches | | 0 | "Not the one directly in front of her, but one seat over, giving the space between them a formal qualit" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 141 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 76 | | mean | 21.8 | | std | 22.66 | | cv | 1.039 | | sampleLengths | | 0 | 61 | | 1 | 23 | | 2 | 64 | | 3 | 33 | | 4 | 1 | | 5 | 7 | | 6 | 17 | | 7 | 40 | | 8 | 43 | | 9 | 3 | | 10 | 28 | | 11 | 3 | | 12 | 59 | | 13 | 6 | | 14 | 29 | | 15 | 25 | | 16 | 35 | | 17 | 2 | | 18 | 92 | | 19 | 2 | | 20 | 8 | | 21 | 32 | | 22 | 3 | | 23 | 30 | | 24 | 8 | | 25 | 3 | | 26 | 20 | | 27 | 56 | | 28 | 2 | | 29 | 15 | | 30 | 49 | | 31 | 7 | | 32 | 3 | | 33 | 3 | | 34 | 23 | | 35 | 2 | | 36 | 4 | | 37 | 5 | | 38 | 56 | | 39 | 6 | | 40 | 7 | | 41 | 1 | | 42 | 67 | | 43 | 3 | | 44 | 4 | | 45 | 53 | | 46 | 9 | | 47 | 5 | | 48 | 55 | | 49 | 42 |
| |
| 93.82% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 92 | | matches | | 0 | "were trimmed" | | 1 | "were descended" | | 2 | "been thrown" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 202 | | matches | | 0 | "was doing" | | 1 | "was asking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 141 | | ratio | 0.071 | | matches | | 0 | "He wore a charcoal coat that cost more than three months of her rent, and his shoes — Italian leather, the kind that whispered against hardwood instead of clicking — moved him across the floor with the sort of caution that came from learning to be noticed." | | 1 | "Her wrist — the scar there from the bike crash when she was nine, when he'd been the one who ran to get help — flexed against the wood." | | 2 | "The waiter took the order — Macallan 18, neat — and disappeared." | | 3 | "Her jaw tightened, and she watched Ewan's face — the careful way he held it, the calculation in his eyes, the faintest tremor at the corner of his mouth that told her he'd known exactly what he was asking." | | 4 | "She saw it hit — the way his shoulders drew up, the light leaving his eyes like a switch had been thrown." | | 5 | "Ewan's thumb traced the edge of the silver signet ring he wore — she hadn't noticed it before, heavy on his right hand, engraved with something she couldn't make out from this angle." | | 6 | "She watched him trying to reconcile the girl he'd known — the one who argued about birds and dinosaurs, who'd pulled out his splinter with tweezers and steadier hands than his mother, who'd cried the day he'd moved to Birmingham for his gap year — with the woman behind the bar in a delivery jacket with a scar on her wrist and a calm in her voice that hadn't been there before." | | 7 | "He reached into his coat pocket and withdrew a wallet — supple leather, well-worn despite its quality — and placed two twenties on the bar." | | 8 | "The coat settled around him like armor, and for a moment she could see the boy who'd climbed the oak tree behind the church, who'd dangled over the branch and laughed when she shouted at him to come down, who'd told her — sitting on the roof of her parents' garage with their legs hanging over the gutter — that they were going to be friends forever because nobody else understood them the way they understood each other." | | 9 | "He turned toward the door, his limp — slight, almost imperceptible, but she caught it — adjusting his stride on the wet pavement outside." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1004 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 18 | | adverbRatio | 0.017928286852589643 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.0049800796812749 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 141 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 141 | | mean | 11.75 | | std | 12.67 | | cv | 1.078 | | sampleLengths | | 0 | 22 | | 1 | 10 | | 2 | 29 | | 3 | 23 | | 4 | 5 | | 5 | 12 | | 6 | 47 | | 7 | 13 | | 8 | 5 | | 9 | 15 | | 10 | 1 | | 11 | 7 | | 12 | 15 | | 13 | 2 | | 14 | 6 | | 15 | 29 | | 16 | 5 | | 17 | 7 | | 18 | 20 | | 19 | 9 | | 20 | 7 | | 21 | 3 | | 22 | 10 | | 23 | 15 | | 24 | 3 | | 25 | 3 | | 26 | 26 | | 27 | 12 | | 28 | 10 | | 29 | 11 | | 30 | 6 | | 31 | 29 | | 32 | 16 | | 33 | 9 | | 34 | 20 | | 35 | 10 | | 36 | 2 | | 37 | 3 | | 38 | 2 | | 39 | 11 | | 40 | 7 | | 41 | 18 | | 42 | 40 | | 43 | 5 | | 44 | 6 | | 45 | 5 | | 46 | 2 | | 47 | 6 | | 48 | 2 | | 49 | 13 |
| |
| 47.28% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.3262411347517731 | | totalSentences | 141 | | uniqueOpeners | 46 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 81 | | matches | | 0 | "Then he looked up, and" | | 1 | "Then, after a beat:" | | 2 | "Too much for a Macallan" |
| | ratio | 0.037 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 45 | | totalSentences | 81 | | matches | | 0 | "She almost didn't recognize him." | | 1 | "He wore a charcoal coat" | | 2 | "He smiled, but it was" | | 3 | "She set the bourbon bottle" | | 4 | "Her wrist — the scar" | | 5 | "He pulled onto a stool" | | 6 | "His fingers drummed once on" | | 7 | "He repeated it like he" | | 8 | "His gaze tracked across the" | | 9 | "She picked up a rag" | | 10 | "His tone carried no edge," | | 11 | "He took the glass the" | | 12 | "He lifted the Macallan to" | | 13 | "His fingernails were trimmed to" | | 14 | "She remembered twelve-year-old Ewan with" | | 15 | "They'd nearly come to blows." | | 16 | "He'd thrown a stick at" | | 17 | "She'd thrown it back harder." | | 18 | "He set the glass down" | | 19 | "She glanced at the delivery" |
| | ratio | 0.556 | |
| 3.21% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 74 | | totalSentences | 81 | | matches | | 0 | "The green neon sign above" | | 1 | "Maps of Eastern Europe that" | | 2 | "Rory was restocking the bourbon" | | 3 | "She almost didn't recognize him." | | 4 | "The jaw had squared off," | | 5 | "He wore a charcoal coat" | | 6 | "The crease between his brows." | | 7 | "The way his left hand" | | 8 | "The word left her like" | | 9 | "He smiled, but it was" | | 10 | "She set the bourbon bottle" | | 11 | "Her wrist — the scar" | | 12 | "He pulled onto a stool" | | 13 | "His fingers drummed once on" | | 14 | "He repeated it like he" | | 15 | "His gaze tracked across the" | | 16 | "A waiter emerged from the" | | 17 | "The waiter took the order" | | 18 | "The overhead lamps cast the" | | 19 | "She picked up a rag" |
| | ratio | 0.914 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 81 | | matches | (empty) | | ratio | 0 | |
| 35.71% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 40 | | technicalSentenceCount | 6 | | matches | | 0 | "Maps of Eastern Europe that hadn't been relevant in decades papered the walls, along with photographs of men in overcoats standing on bridges, cigarette smoke c…" | | 1 | "He wore a charcoal coat that cost more than three months of her rent, and his shoes — Italian leather, the kind that whispered against hardwood instead of click…" | | 2 | "No dirt beneath them, no evidence of hands that did anything other than hold pens and sign documents." | | 3 | "Her jaw tightened, and she watched Ewan's face — the careful way he held it, the calculation in his eyes, the faintest tremor at the corner of his mouth that to…" | | 4 | "He picked up the Macallan and drank it down in one pull, the kind of consumption that had nothing to do with taste and everything to do with needing something i…" | | 5 | "She watched him trying to reconcile the girl he'd known — the one who argued about birds and dinosaurs, who'd pulled out his splinter with tweezers and steadier…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 2 | | fancyTags | | 0 | "He repeated (repeat)" | | 1 | "she confirmed (confirm)" |
| | dialogueSentences | 69 | | tagDensity | 0.13 | | leniency | 0.261 | | rawRatio | 0.222 | | effectiveRatio | 0.058 | |