| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 15 | | adverbTagCount | 1 | | adverbTags | | 0 | "she asked instead [instead]" |
| | dialogueSentences | 29 | | tagDensity | 0.517 | | leniency | 1 | | rawRatio | 0.067 | | effectiveRatio | 0.067 | |
| 88.38% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2152 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slightly" | | 1 | "suddenly" | | 2 | "really" | | 3 | "quickly" |
| |
| 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) | |
| 81.41% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2152 | | totalAiIsms | 8 | | found | | | highlights | | 0 | "lilt" | | 1 | "silence" | | 2 | "silk" | | 3 | "familiar" | | 4 | "unreadable" | | 5 | "weight" |
| |
| 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 | 132 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 132 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 146 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2152 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 66.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 86 | | wordCount | 1895 | | uniqueNames | 19 | | maxNameDensity | 1.37 | | worstName | "Rory" | | maxWindowNameDensity | 3 | | worstWindowName | "Rory" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Silas | 12 | | Soho | 4 | | Cardiff | 2 | | Maeve | 21 | | Rory | 26 | | Welsh | 1 | | Yu-Fei | 2 | | London | 3 | | Eva | 3 | | Evan | 3 | | Paddington | 1 | | Gray | 1 | | Inn | 1 | | Cantonese | 1 | | Fridays | 1 | | Newport | 1 | | Quiet | 1 |
| | persons | | 0 | "Raven" | | 1 | "Silas" | | 2 | "Maeve" | | 3 | "Rory" | | 4 | "Eva" | | 5 | "Evan" | | 6 | "Gray" |
| | places | | 0 | "Soho" | | 1 | "Cardiff" | | 2 | "Yu-Fei" | | 3 | "London" | | 4 | "Paddington" | | 5 | "Cantonese" | | 6 | "Newport" |
| | globalScore | 0.814 | | windowScore | 0.667 | |
| 67.58% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 91 | | glossingSentenceCount | 3 | | matches | | 0 | "not quite lies: Yu-Fei who shouted in Cantonese and slipped extra spring rolls into the bag, the flat with its sloping ceiling and the sound of the bar rising through the floorboards on Fridays" | | 1 | "felt like ten" | | 2 | "not quite taking Maeve’s, not quite pulling away" | | 3 | "not quite pulling away" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 2152 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 146 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 48.91 | | std | 36.02 | | cv | 0.736 | | sampleLengths | | 0 | 126 | | 1 | 114 | | 2 | 33 | | 3 | 3 | | 4 | 2 | | 5 | 123 | | 6 | 39 | | 7 | 37 | | 8 | 35 | | 9 | 50 | | 10 | 92 | | 11 | 99 | | 12 | 7 | | 13 | 46 | | 14 | 76 | | 15 | 7 | | 16 | 31 | | 17 | 68 | | 18 | 107 | | 19 | 3 | | 20 | 6 | | 21 | 116 | | 22 | 24 | | 23 | 70 | | 24 | 75 | | 25 | 48 | | 26 | 15 | | 27 | 70 | | 28 | 85 | | 29 | 29 | | 30 | 89 | | 31 | 16 | | 32 | 27 | | 33 | 20 | | 34 | 51 | | 35 | 51 | | 36 | 14 | | 37 | 63 | | 38 | 10 | | 39 | 13 | | 40 | 66 | | 41 | 51 | | 42 | 35 | | 43 | 10 |
| |
| 89.31% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 132 | | matches | | 0 | "was gone" | | 1 | "was gone" | | 2 | "was locked" | | 3 | "were spent" | | 4 | "been redrawn" | | 5 | "being asked" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 317 | | matches | (empty) | |
| 64.58% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 4 | | flaggedSentences | 4 | | totalSentences | 146 | | ratio | 0.027 | | matches | | 0 | "After a delivery shift the smell of ginger and hot oil still clung to her jacket; she had come downstairs because the flat above was too quiet and the rain on the skylight had started to sound like someone trying to get in." | | 1 | "Grey streaked the auburn of his hair and beard; the silver signet ring on his right hand caught the low light whenever he reached for a bottle." | | 2 | "Silas poured it with the same economy he brought to everything; the limp showed more when he turned toward the optics." | | 3 | "His hazel eyes were unreadable in the low light; the limp showed as he shifted his weight off the old knee." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1903 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 68 | | adverbRatio | 0.03573305307409354 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.006831318970047294 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 146 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 146 | | mean | 14.74 | | std | 11.87 | | cv | 0.806 | | sampleLengths | | 0 | 32 | | 1 | 22 | | 2 | 23 | | 3 | 6 | | 4 | 43 | | 5 | 18 | | 6 | 27 | | 7 | 16 | | 8 | 30 | | 9 | 23 | | 10 | 11 | | 11 | 5 | | 12 | 17 | | 13 | 3 | | 14 | 2 | | 15 | 8 | | 16 | 16 | | 17 | 1 | | 18 | 20 | | 19 | 30 | | 20 | 2 | | 21 | 46 | | 22 | 6 | | 23 | 7 | | 24 | 26 | | 25 | 5 | | 26 | 19 | | 27 | 13 | | 28 | 16 | | 29 | 9 | | 30 | 2 | | 31 | 8 | | 32 | 5 | | 33 | 37 | | 34 | 8 | | 35 | 11 | | 36 | 24 | | 37 | 29 | | 38 | 28 | | 39 | 11 | | 40 | 4 | | 41 | 37 | | 42 | 3 | | 43 | 3 | | 44 | 7 | | 45 | 20 | | 46 | 14 | | 47 | 3 | | 48 | 4 | | 49 | 4 |
| |
| 46.12% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.3219178082191781 | | totalSentences | 146 | | uniqueOpeners | 47 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 4 | | totalSentences | 118 | | matches | | 0 | "Then a voice, uncertain, cut" | | 1 | "Then Maeve crossed the floor," | | 2 | "Just history walking in wearing" | | 3 | "Just the fact of it." |
| | ratio | 0.034 | |
| 97.97% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 36 | | totalSentences | 118 | | matches | | 0 | "She watched one droplet, then" | | 1 | "He polished a glass that" | | 2 | "He had the air of" | | 3 | "She looked finished in a" | | 4 | "She gave him the smallest" | | 5 | "She did not add the" | | 6 | "She glanced around, taking in" | | 7 | "She slid onto the stool" | | 8 | "She remembered those nights with" | | 9 | "It was a stone offered" | | 10 | "She said it like an" | | 11 | "She could have told her" | | 12 | "She could have said she" | | 13 | "She did not." | | 14 | "she asked instead" | | 15 | "They talked around the hole" | | 16 | "She did not mention Silas" | | 17 | "His presence was a kind" | | 18 | "It was only the three" | | 19 | "She wondered if Maeve remembered" |
| | ratio | 0.305 | |
| 23.56% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 103 | | totalSentences | 118 | | matches | | 0 | "The green neon leaked through" | | 1 | "Rory sat at the far" | | 2 | "The pint Silas had poured" | | 3 | "She watched one droplet, then" | | 4 | "Silas moved behind the bar" | | 5 | "He polished a glass that" | | 6 | "The walls around them held" | | 7 | "He had the air of" | | 8 | "The door opened on a" | | 9 | "Rory did not look up." | | 10 | "The woman just inside the" | | 11 | "That was the first thing," | | 12 | "This Maeve wore a camel" | | 13 | "She looked finished in a" | | 14 | "Rory’s bright blue eyes met" | | 15 | "The Welsh lilt they had" | | 16 | "Rory felt Silas’s hazel gaze" | | 17 | "She gave him the smallest" | | 18 | "She did not add the" | | 19 | "Maeve laughed, a short sound" |
| | ratio | 0.873 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 118 | | matches | (empty) | | ratio | 0 | |
| 2.16% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 66 | | technicalSentenceCount | 13 | | matches | | 0 | "She looked finished in a way that made Rory suddenly conscious of her own shoulder-length black hair, unwashed since the morning, the old jumper with the frayed…" | | 1 | "Then Maeve crossed the floor, heels ticking against wood, and stopped a few feet short, as if the years themselves occupied the space between the stools." | | 2 | "She remembered those nights with a clarity that felt unfair: the cheap red wine in chipped mugs, lecture notes spread across the floor, the future they had draw…" | | 3 | "The old cool-headedness rose up, the thing that had kept her moving through traffic and strange stairwells and the particular silence of a new city." | | 4 | "Rory offered pieces that were not quite lies: Yu-Fei who shouted in Cantonese and slipped extra spring rolls into the bag, the flat with its sloping ceiling and…" | | 5 | "The change was still there, though, in the careful way she held her glass, the faint lines at the corners of her eyes that had not existed when they were twenty…" | | 6 | "Rory had become the woman who delivered other people’s food and lived above a man who had once, she was almost certain, done things in the cities whose maps now…" | | 7 | "They had been the girls who were going to change the shape of things, and now one of them sat in a dim Soho bar that still smelled faintly of last night’s smoke…" | | 8 | "Rory looked at her old friend, at the woman Maeve had become, and felt the cool, quick intelligence that had always been hers sorting the words for pity or genu…" | | 9 | "The neon swallowed the camel coat and the sharp bob and the version of a shared future that had not survived the leaving." | | 10 | "She thought of Cardiff rain on the law library windows, of a girl who had believed in clean lines and just outcomes and the possibility of walking into a room a…" | | 11 | "She thought of the bicycle outside, the flat upstairs with its single sloping ceiling, the life that was small and unfinished and hers." | | 12 | "The regret remained anyway, a quiet, persistent thing that had waited in the walls of this bar until a woman in an expensive coat walked through the door and ma…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 15 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 29 | | tagDensity | 0.448 | | leniency | 0.897 | | rawRatio | 0.077 | | effectiveRatio | 0.069 | |