| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 26 | | adverbTagCount | 1 | | adverbTags | | 0 | "Aurora pulled back [back]" |
| | dialogueSentences | 49 | | tagDensity | 0.531 | | leniency | 1 | | rawRatio | 0.038 | | effectiveRatio | 0.038 | |
| 93.87% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1630 | | totalAiIsmAdverbs | 2 | | found | | 0 | | adverb | "deliberately" | | count | 1 |
| | 1 | |
| | highlights | | 0 | "deliberately" | | 1 | "slightly" |
| |
| 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) | |
| 35.58% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1630 | | totalAiIsms | 21 | | found | | | highlights | | 0 | "electric" | | 1 | "vibrated" | | 2 | "scanned" | | 3 | "weight" | | 4 | "stomach" | | 5 | "traced" | | 6 | "glinting" | | 7 | "velvet" | | 8 | "clandestine" | | 9 | "unspoken" | | 10 | "flickered" | | 11 | "tinged" | | 12 | "tension" |
| |
| 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 | 53 | | matches | (empty) | |
| 88.95% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 53 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 75 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 71 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1626 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 94.29% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 59 | | wordCount | 1077 | | uniqueNames | 21 | | maxNameDensity | 1.11 | | worstName | "Silas" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Raven | 2 | | Nest | 2 | | Aurora | 11 | | Carter | 2 | | Blackwood | 1 | | Yu-Fei | 1 | | Cheung | 1 | | Cardiff | 4 | | Silas | 12 | | Prague | 2 | | University | 2 | | Pre-Law | 3 | | London | 2 | | Eva | 2 | | Evan | 2 | | Camden | 1 | | Jennifer | 1 | | Ellis | 1 | | Welsh | 1 | | You | 5 | | Rory | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Aurora" | | 3 | "Carter" | | 4 | "Blackwood" | | 5 | "Yu-Fei" | | 6 | "Cheung" | | 7 | "Silas" | | 8 | "Eva" | | 9 | "Evan" | | 10 | "Jennifer" | | 11 | "Ellis" | | 12 | "You" | | 13 | "Rory" |
| | places | | 0 | "Cardiff" | | 1 | "Prague" | | 2 | "London" | | 3 | "Camden" |
| | globalScore | 0.943 | | windowScore | 1 | |
| 28.05% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 41 | | glossingSentenceCount | 2 | | matches | | 0 | "felt like a brand for every bad decisio" | | 1 | "sounded like static, and she realized that" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.615 | | wordCount | 1626 | | matches | | 0 | "not a gap to bridge but a chasm to acknowledge" |
| |
| 77.78% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 75 | | matches | | 0 | "forgot that I" | | 1 | "realized that the" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 47 | | mean | 34.6 | | std | 25.42 | | cv | 0.735 | | sampleLengths | | 0 | 103 | | 1 | 76 | | 2 | 20 | | 3 | 2 | | 4 | 36 | | 5 | 28 | | 6 | 12 | | 7 | 38 | | 8 | 3 | | 9 | 48 | | 10 | 20 | | 11 | 15 | | 12 | 12 | | 13 | 4 | | 14 | 39 | | 15 | 31 | | 16 | 33 | | 17 | 66 | | 18 | 38 | | 19 | 46 | | 20 | 51 | | 21 | 19 | | 22 | 64 | | 23 | 75 | | 24 | 39 | | 25 | 4 | | 26 | 29 | | 27 | 25 | | 28 | 30 | | 29 | 35 | | 30 | 4 | | 31 | 63 | | 32 | 82 | | 33 | 77 | | 34 | 4 | | 35 | 48 | | 36 | 51 | | 37 | 69 | | 38 | 7 | | 39 | 5 | | 40 | 45 | | 41 | 17 | | 42 | 1 | | 43 | 4 | | 44 | 38 | | 45 | 11 | | 46 | 59 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 53 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 165 | | matches | (empty) | |
| 66.67% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 0 | | flaggedSentences | 2 | | totalSentences | 75 | | ratio | 0.027 | | matches | | 0 | "Silas looked at the change in her, not in her body—she was still 5’6”, still bright-eyed, still sharp—but in the way she held herself, like a door that had been kicked open too many times and never fully repaired." | | 1 | "Aurora stared at the bookshelf that concealed the back room, at the dark wood that held secrets they no longer shared. The rain against the window sounded like static, and she realized that the tension between who they were—she the brilliant law student, he the field agent who had once seemed to know everything—and who they had become was not a gap to bridge but a chasm to acknowledge." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 898 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 28 | | adverbRatio | 0.031180400890868598 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.005567928730512249 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 75 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 75 | | mean | 21.68 | | std | 15.21 | | cv | 0.701 | | sampleLengths | | 0 | 27 | | 1 | 42 | | 2 | 34 | | 3 | 37 | | 4 | 39 | | 5 | 20 | | 6 | 2 | | 7 | 24 | | 8 | 12 | | 9 | 13 | | 10 | 15 | | 11 | 12 | | 12 | 38 | | 13 | 3 | | 14 | 48 | | 15 | 5 | | 16 | 15 | | 17 | 8 | | 18 | 7 | | 19 | 12 | | 20 | 4 | | 21 | 16 | | 22 | 23 | | 23 | 14 | | 24 | 17 | | 25 | 33 | | 26 | 42 | | 27 | 24 | | 28 | 9 | | 29 | 29 | | 30 | 46 | | 31 | 24 | | 32 | 27 | | 33 | 7 | | 34 | 12 | | 35 | 30 | | 36 | 34 | | 37 | 30 | | 38 | 45 | | 39 | 39 | | 40 | 4 | | 41 | 29 | | 42 | 25 | | 43 | 30 | | 44 | 35 | | 45 | 4 | | 46 | 27 | | 47 | 36 | | 48 | 46 | | 49 | 5 |
| |
| 31.33% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.22666666666666666 | | totalSentences | 75 | | uniqueOpeners | 17 | |
| 69.44% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 48 | | matches | | 0 | "Then she walked out into" |
| | ratio | 0.021 | |
| 36.67% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 48 | | matches | | 0 | "She carried the smell of" | | 1 | "His hazel eyes locked onto" | | 2 | "Her voice came out flat," | | 3 | "He moved closer, his beard" | | 4 | "She stepped closer to the" | | 5 | "She set her hands on" | | 6 | "He lifted his glass, then" | | 7 | "You disappeared when I needed" | | 8 | "I kept your father’s secret." | | 9 | "I kept your absence." | | 10 | "I kept you from yourself" | | 11 | "I left Evan with nothing" | | 12 | "I left Pre-Law with nothing" | | 13 | "I left Cardiff because I" | | 14 | "You have a bar, a" | | 15 | "I have a delivery bag," | | 16 | "You speak plainly now, Rory." | | 17 | "You always did." | | 18 | "You just forgot that I" | | 19 | "She turned toward the green" |
| | ratio | 0.458 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 46 | | totalSentences | 48 | | matches | | 0 | "The green neon above the" | | 1 | "Rain had turned her straight" | | 2 | "Silas Blackwood stood ankle-deep in" | | 3 | "She carried the smell of" | | 4 | "The small crescent scar on" | | 5 | "Silas turned a glass with" | | 6 | "Aurora pulled her gaze away" | | 7 | "His hazel eyes locked onto" | | 8 | "Silas leaned his weight onto" | | 9 | "Her voice came out flat," | | 10 | "Silas set the glass down." | | 11 | "Aurora traced her left wrist" | | 12 | "He moved closer, his beard" | | 13 | "Aurora’s breathing changed, shallow and" | | 14 | "She stepped closer to the" | | 15 | "Silas’s voice dropped, gravel under" | | 16 | "The hidden back room behind" | | 17 | "She set her hands on" | | 18 | "Silas tilted his head" | | 19 | "The weight of time sat" |
| | ratio | 0.958 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 48 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 20 | | technicalSentenceCount | 10 | | matches | | 0 | "The green neon above the entrance to The Raven’s Nest buzzed with an electric hum that vibrated inside Aurora Carter’s ribs as she pushed through the door." | | 1 | "Silas Blackwood stood ankle-deep in shadow, his grey-streaked auburn hair catching the weak bulb overhead like a torch set deliberately low, his neatly trimmed …" | | 2 | "She carried the smell of Yu-Fei Cheung’s kitchen with her, grease and ginger and the particular steam of noodles that stuck to containers, and she set her deliv…" | | 3 | "Aurora pulled her gaze away from the old maps that covered the walls, black-and-white photographs of men with cigarette smoke curling from their lips." | | 4 | "Silas leaned his weight onto his left leg, the slight limp from the Prague operation more pronounced now in the quiet of the bar, and his gaze tracked her scar …" | | 5 | "The hidden back room behind the bookshelf remained shut, its secret ordinary now, a joke they no longer shared, and Aurora glanced at the door that concealed cl…" | | 6 | "You have a bar, a network of contacts, a hidden room for clandestine meetings, and a limp that reminds you every hour of what you lost." | | 7 | "Aurora stared at the bookshelf that concealed the back room, at the dark wood that held secrets they no longer shared. The rain against the window sounded like …" | | 8 | "Aurora looked back at the grey-streaked auburn hair, the neatly trimmed beard, the hazel eyes that had once seen too much, the silver signet ring that marked hi…" | | 9 | "Then she walked out into the rain, leaving the bar to its maps and its electric hum, leaving Silas to the weight of his knee and his unspoken regret, leaving th…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 1 | | matches | | 0 | "He moved, his beard brushing his collar, the silver ring glinting" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 1 | | fancyTags | | 0 | "Aurora laughed (laugh)" |
| | dialogueSentences | 49 | | tagDensity | 0.143 | | leniency | 0.286 | | rawRatio | 0.143 | | effectiveRatio | 0.041 | |