| 88.89% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 29 | | adverbTagCount | 5 | | adverbTags | | 0 | "He nodded like [like]" | | 1 | "Daniel said finally [finally]" | | 2 | "He gestured vaguely [vaguely]" | | 3 | "She shrugged like [like]" | | 4 | "she said softly [softly]" |
| | dialogueSentences | 90 | | tagDensity | 0.322 | | leniency | 0.644 | | rawRatio | 0.172 | | effectiveRatio | 0.111 | |
| 85.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1679 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slowly" | | 1 | "suddenly" | | 2 | "very" | | 3 | "really" | | 4 | "softly" |
| |
| 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) | |
| 61.29% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1679 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "flickered" | | 1 | "familiar" | | 2 | "weight" | | 3 | "stomach" | | 4 | "charged" | | 5 | "aligned" | | 6 | "flicked" | | 7 | "coded" | | 8 | "silence" | | 9 | "could feel" | | 10 | "traced" | | 11 | "unreadable" | | 12 | "glinting" |
| |
| 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 | 113 | | matches | (empty) | |
| 92.29% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 3 | | hedgeCount | 1 | | narrationSentences | 113 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 171 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 0.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 94 | | markdownWords | 426 | | totalWords | 1656 | | ratio | 0.257 | | matches | | 0 | "The Raven’s Nest" | | 1 | "\"Christ, it’s like walking into a tomb in here.\"" | | 2 | "\"Silas, you old bastard, still serving this swill?\"" | | 3 | "\"I’d ask what’s good tonight, but let’s be honest, nothing in this place ever was.\"" | | 4 | "\"Some things don’t change, Daniel.\"" | | 5 | "certain" | | 6 | "\"Rory?\"" | | 7 | "\"Hello, Daniel.\"" | | 8 | "\"I didn’t know you were in London.\"" | | 9 | "\"I didn’t know you were either.\"" | | 10 | "\"Last I heard, you were in New York. Or was it Hong Kong?\"" | | 11 | "\"Tokyo, actually.\"" | | 12 | "\"Been there five years. Head of Asia-Pac for the firm.\"" | | 13 | "\"You look good,\"" | | 14 | "\"Liar.\"" | | 15 | "\"No, I mean it.\"" | | 16 | "\"Different. But good.\"" | | 17 | "\"You cut your hair,\"" | | 18 | "\"It was practical.\"" | | 19 | "\"Right.\"" | | 20 | "\"Practical. That’s you.\"" | | 21 | "\"So,\"" | | 22 | "\"What are you doing here?\"" | | 23 | "\"Working.\"" | | 24 | "\"I deliver for the restaurant upstairs.\"" | | 25 | "\"You? A delivery girl?\"" | | 26 | "\"Someone’s got to do it.\"" | | 27 | "\"But—\"" | | 28 | "\"Never mind. That’s not what I meant.\"" | | 29 | "\"Then what did you mean?\"" | | 30 | "\"I don’t know. I just… I thought you’d be a lawyer by now. Or—\"" | | 31 | "\"Something else. Something bigger.\"" | | 32 | "\"Plans change.\"" | | 33 | "\"Yeah.\"" | | 34 | "\"Yeah, they do.\"" | | 35 | "\"You ever finish your degree?\"" | | 36 | "\"No.\"" | | 37 | "\"But you were so close.\"" | | 38 | "\"Life got in the way.\"" | | 39 | "\"You remember Evan?\"" | | 40 | "\"Your boyfriend. Yeah, I remember him.\"" | | 41 | "\"Ex-boyfriend.\"" | | 42 | "\"Turns out he liked hitting me more than he liked law school.\"" | | 43 | "\"He what?\"" | | 44 | "\"You heard me.\"" | | 45 | "\"I left. Came here. Started over.\"" | | 46 | "\"Why didn’t you tell me?\"" | | 47 | "\"When? When you were in Tokyo? When you were busy building your empire?\"" | | 48 | "\"It doesn’t matter now.\"" | | 49 | "\"Like hell it doesn’t.\"" | | 50 | "\"Rory, if I’d known—\"" | | 51 | "\"You would’ve what? Flown back to save me?\"" | | 52 | "\"I didn’t need saving, Daniel. I just needed to get the hell out.\"" | | 53 | "\"I’m sorry,\"" | | 54 | "\"That was—\"" | | 55 | "\"No.\"" | | 56 | "\"No, you’re right. I wasn’t here. I didn’t know.\"" | | 57 | "\"I should’ve checked on you.\"" | | 58 | "\"You had your own life.\"" | | 59 | "\"So did you.\"" | | 60 | "\"You could’ve called.\"" | | 61 | "\"I didn’t want to.\"" | | 62 | "\"Why not?\"" | | 63 | "supposed" | | 64 | "made it" | | 65 | "\"I don’t know,\"" | | 66 | "\"I’m only in town for a few days. Business trip. Some merger nonsense.\"" | | 67 | "\"Of course.\"" | | 68 | "\"Always the high-flyer.\"" | | 69 | "\"Yeah.\"" | | 70 | "\"Listen, Rory—\"" | | 71 | "\"It’s Aurora now.\"" | | 72 | "\"I go by Aurora.\"" | | 73 | "\"Since when?\"" | | 74 | "\"Since I decided I didn’t want to be Rory anymore.\"" | | 75 | "\"Aurora sounded… stronger.\"" | | 76 | "\"You were always strong.\"" | | 77 | "\"We were kids,\"" | | 78 | "\"We didn’t know anything.\"" | | 79 | "\"No.\"" | | 80 | "\"We didn’t.\"" | | 81 | "\"Closing up in ten, you two.\"" | | 82 | "\"Right. I should go.\"" | | 83 | "\"It was good seeing you, Rory.\"" | | 84 | "\"Aurora.\"" | | 85 | "\"You too, Daniel.\"" | | 86 | "\"You okay, kid?\"" | | 87 | "\"Yeah. Just… old ghosts.\"" | | 88 | "\"Ghosts have a way of coming back.\"" | | 89 | "\"You want my advice?\"" | | 90 | "\"Do I ever?\"" | | 91 | "\"Don’t let the past be the only thing that defines you.\"" | | 92 | "\"What if it’s all I’ve got?\"" | | 93 | "\"Then you’re not looking hard enough.\"" |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 33 | | wordCount | 1237 | | uniqueNames | 10 | | maxNameDensity | 0.73 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Daniel" | | discoveredNames | | Raven | 1 | | London | 1 | | Evan | 1 | | Silas | 8 | | God | 1 | | Cardiff | 1 | | Different | 1 | | Rory | 9 | | Daniel | 9 | | Like | 1 |
| | persons | | 0 | "Raven" | | 1 | "Evan" | | 2 | "Silas" | | 3 | "Rory" | | 4 | "Daniel" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 72 | | glossingSentenceCount | 1 | | matches | | 0 | "looked like she’d slapped him" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1656 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 171 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 89 | | mean | 18.61 | | std | 18.28 | | cv | 0.982 | | sampleLengths | | 0 | 82 | | 1 | 70 | | 2 | 28 | | 3 | 9 | | 4 | 6 | | 5 | 2 | | 6 | 50 | | 7 | 49 | | 8 | 10 | | 9 | 1 | | 10 | 7 | | 11 | 89 | | 12 | 1 | | 13 | 4 | | 14 | 51 | | 15 | 7 | | 16 | 33 | | 17 | 25 | | 18 | 54 | | 19 | 5 | | 20 | 4 | | 21 | 38 | | 22 | 7 | | 23 | 55 | | 24 | 6 | | 25 | 8 | | 26 | 10 | | 27 | 24 | | 28 | 12 | | 29 | 29 | | 30 | 7 | | 31 | 5 | | 32 | 15 | | 33 | 5 | | 34 | 29 | | 35 | 7 | | 36 | 8 | | 37 | 58 | | 38 | 7 | | 39 | 1 | | 40 | 5 | | 41 | 26 | | 42 | 9 | | 43 | 9 | | 44 | 19 | | 45 | 6 | | 46 | 14 | | 47 | 8 | | 48 | 21 | | 49 | 18 |
| |
| 99.05% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 113 | | matches | | 0 | "been destined" | | 1 | "been *supposed" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 226 | | matches | | 0 | "was choosing" | | 1 | "was walking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 171 | | ratio | 0.058 | | matches | | 0 | "The bar was quiet tonight—just a few regulars hunched over their drinks, the low hum of conversation barely rising above the crackle of the fireplace." | | 1 | "*\"Silas, you old bastard, still serving this swill?\"* The man dropped onto the stool beside her, close enough that she caught the scent of his cologne—something expensive, woodsy, the kind Evan used to wear." | | 2 | "Older, sure—that was inevitable—but not in the way she’d expected." | | 3 | "His dark hair was still thick, but threaded with silver at the temples, and his face—God, his face." | | 4 | "He wore a wool overcoat, the kind that cost more than her monthly rent, and when he turned to face her, his eyes—still that impossible green—widened in recognition." | | 5 | "It was the same smile she remembered—the one that had always made her feel like the only person in the room—but now it didn’t reach his eyes." | | 6 | "*\"Tokyo, actually.\"* He flagged down Silas, ordered a bourbon—neat, top shelf—without looking away from her." | | 7 | "*\"No, I mean it.\"* His gaze flicked over her—her worn leather jacket, the dark circles under her eyes, the way her fingers still clenched the glass like it was the only thing keeping her grounded." | | 8 | "Because admitting she’d failed—at law school, at her relationship, at the life she’d been *supposed* to have—had been too much to bear." | | 9 | "Daniel glanced at his watch—a sleek, expensive thing that probably cost more than her bike—and nodded." |
| |
| 94.66% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1258 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 58 | | adverbRatio | 0.046104928457869634 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.012718600953895072 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 171 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 171 | | mean | 9.68 | | std | 8.02 | | cv | 0.828 | | sampleLengths | | 0 | 24 | | 1 | 17 | | 2 | 16 | | 3 | 25 | | 4 | 16 | | 5 | 26 | | 6 | 15 | | 7 | 13 | | 8 | 28 | | 9 | 9 | | 10 | 6 | | 11 | 2 | | 12 | 3 | | 13 | 1 | | 14 | 2 | | 15 | 15 | | 16 | 29 | | 17 | 34 | | 18 | 15 | | 19 | 5 | | 20 | 5 | | 21 | 1 | | 22 | 3 | | 23 | 4 | | 24 | 3 | | 25 | 10 | | 26 | 15 | | 27 | 18 | | 28 | 15 | | 29 | 28 | | 30 | 1 | | 31 | 2 | | 32 | 2 | | 33 | 7 | | 34 | 13 | | 35 | 4 | | 36 | 27 | | 37 | 7 | | 38 | 20 | | 39 | 13 | | 40 | 15 | | 41 | 10 | | 42 | 4 | | 43 | 25 | | 44 | 25 | | 45 | 5 | | 46 | 3 | | 47 | 1 | | 48 | 35 | | 49 | 3 |
| |
| 51.46% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.3508771929824561 | | totalSentences | 171 | | uniqueOpeners | 60 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 102 | | matches | | 0 | "Then, slowly, he smiled." | | 1 | "Of course he was." | | 2 | "Somewhere out there, Daniel was" | | 3 | "Maybe Silas was right." | | 4 | "Maybe she’d been looking at" |
| | ratio | 0.049 | |
| 16.08% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 52 | | totalSentences | 102 | | matches | | 0 | "He gave her a nod," | | 1 | "She was halfway through her" | | 2 | "She didn’t turn." | | 3 | "She kept her gaze fixed" | | 4 | "She risked a glance." | | 5 | "He looked different." | | 6 | "His once-lean frame had filled" | | 7 | "His dark hair was still" | | 8 | "He wore a wool overcoat," | | 9 | "It was the same smile" | | 10 | "She took a sip of" | | 11 | "He flagged down Silas, ordered" | | 12 | "She’d known that even when" | | 13 | "She almost laughed." | | 14 | "His gaze flicked over her—her" | | 15 | "She wasn’t the girl he’d" | | 16 | "She touched the ends self-consciously." | | 17 | "He nodded, like that explained" | | 18 | "She jerked her chin toward" | | 19 | "His brows lifted." |
| | ratio | 0.51 | |
| 33.53% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 87 | | totalSentences | 102 | | matches | | 0 | "The green neon sign of" | | 1 | "Rory ducked under the awning," | | 2 | "The familiar scent of aged" | | 3 | "The bar was quiet tonight—just" | | 4 | "Silas looked up from behind" | | 5 | "He gave her a nod," | | 6 | "Rory stripped off her gloves," | | 7 | "The whiskey burned smooth down" | | 8 | "She was halfway through her" | | 9 | "Rory’s fingers tightened around her" | | 10 | "She didn’t turn." | | 11 | "The weight of it pressed" | | 12 | "She kept her gaze fixed" | | 13 | "The man dropped onto the" | | 14 | "Silas chuckled, low and dry." | | 15 | "Rory’s stomach twisted." | | 16 | "She risked a glance." | | 17 | "He looked different." | | 18 | "His once-lean frame had filled" | | 19 | "His dark hair was still" |
| | ratio | 0.853 | |
| 100.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 3 | | totalSentences | 102 | | matches | | 0 | "Because pride was a stubborn" | | 1 | "Because admitting she’d failed—at law" | | 2 | "Because Daniel had always been" |
| | ratio | 0.029 | |
| 89.29% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 40 | | technicalSentenceCount | 3 | | matches | | 0 | "He gave her a nod, the kind that didn’t need words, and slid a glass of amber liquid toward her usual spot at the far end." | | 1 | "He wore a wool overcoat, the kind that cost more than her monthly rent, and when he turned to face her, his eyes—still that impossible green—widened in recognit…" | | 2 | "Like she hadn’t spent months staring at her reflection, hating the face that stared back." |
| |
| 90.52% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 29 | | uselessAdditionCount | 2 | | matches | | 0 | "She took, the whiskey suddenly bitter on her tongue" | | 1 | "He leaned, his signet ring glinting in the low light" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 3 | | fancyTags | | 0 | "She laughed (laugh)" | | 1 | "she muttered (mutter)" | | 2 | "she lied (lie)" |
| | dialogueSentences | 90 | | tagDensity | 0.089 | | leniency | 0.178 | | rawRatio | 0.375 | | effectiveRatio | 0.067 | |