| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 2 | | adverbTags | | 0 | "Rory said finally [finally]" | | 1 | "Lucien said quietly [quietly]" |
| | dialogueSentences | 42 | | tagDensity | 0.381 | | leniency | 0.762 | | rawRatio | 0.125 | | effectiveRatio | 0.095 | |
| 92.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1902 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "lightly" | | 1 | "very" | | 2 | "slowly" |
| |
| 100.00% | AI-ism character names | Target: 0 AI-default names (17 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 57.94% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1902 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "footsteps" | | 1 | "profound" | | 2 | "glint" | | 3 | "gleaming" | | 4 | "weight" | | 5 | "warmth" | | 6 | "pulse" | | 7 | "could feel" | | 8 | "calculated" | | 9 | "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 | 1 | | narrationSentences | 91 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 91 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 117 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 62 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1929 | | ratio | 0.001 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 25 | | unquotedAttributions | 1 | | matches | | 0 | "It was not, she told herself, an invitation." |
| |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 47 | | wordCount | 1630 | | uniqueNames | 14 | | maxNameDensity | 0.61 | | worstName | "Eva" | | maxWindowNameDensity | 2 | | worstWindowName | "Eva" | | discoveredNames | | Eva | 10 | | Aberdeen | 1 | | Rory | 10 | | Rotherhithe | 2 | | French | 1 | | Moreau | 3 | | Lucien | 7 | | Amusement | 1 | | Cardiff | 2 | | Pre-Law | 1 | | London | 2 | | Ptolemy | 2 | | Kobayashi | 1 | | Three | 4 |
| | persons | | 0 | "Eva" | | 1 | "Rory" | | 2 | "Moreau" | | 3 | "Lucien" | | 4 | "Ptolemy" | | 5 | "Kobayashi" |
| | places | | 0 | "Aberdeen" | | 1 | "Rotherhithe" | | 2 | "French" | | 3 | "Cardiff" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 62 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.518 | | wordCount | 1929 | | matches | | 0 | "not flinch, but his fingers" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 117 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 65 | | mean | 29.68 | | std | 25.64 | | cv | 0.864 | | sampleLengths | | 0 | 52 | | 1 | 38 | | 2 | 23 | | 3 | 40 | | 4 | 8 | | 5 | 31 | | 6 | 41 | | 7 | 10 | | 8 | 67 | | 9 | 7 | | 10 | 9 | | 11 | 105 | | 12 | 25 | | 13 | 3 | | 14 | 33 | | 15 | 24 | | 16 | 57 | | 17 | 62 | | 18 | 6 | | 19 | 1 | | 20 | 52 | | 21 | 31 | | 22 | 8 | | 23 | 20 | | 24 | 5 | | 25 | 74 | | 26 | 3 | | 27 | 39 | | 28 | 69 | | 29 | 2 | | 30 | 8 | | 31 | 47 | | 32 | 3 | | 33 | 63 | | 34 | 35 | | 35 | 44 | | 36 | 68 | | 37 | 42 | | 38 | 1 | | 39 | 36 | | 40 | 36 | | 41 | 5 | | 42 | 1 | | 43 | 1 | | 44 | 70 | | 45 | 50 | | 46 | 8 | | 47 | 1 | | 48 | 4 | | 49 | 2 |
| |
| 93.70% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 91 | | matches | | 0 | "been designed" | | 1 | "was gone" | | 2 | "been arranged" |
| |
| 51.30% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 6 | | totalVerbs | 269 | | matches | | 0 | "was wearing" | | 1 | "was still learning" | | 2 | "was already moving" | | 3 | "was saying" | | 4 | "was waiting" | | 5 | "was kneeling" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 27 | | semicolonCount | 2 | | flaggedSentences | 18 | | totalSentences | 117 | | ratio | 0.154 | | matches | | 0 | "It was a knock — unhurried, precise, two beats, a pause, a third that landed exactly where a man's knuckles would fall if he had done it a thousand times before." | | 1 | "She set the container on the stack of scrolls by the door — Eva's footnotes would have to survive contact with chicken tikka — and put her eye to the spyhole." | | 2 | "Three months since the warehouse in Rotherhithe, since she'd pulled him out from under a collapsing shelf with her hands raw and her ears ringing, since he'd looked at her with that black eye and that amber eye and told her — in French, because he'd known she wouldn't understand it — that she was exactly what he'd been afraid of." | | 3 | "He'd shaved recently — she could smell it beneath the rain and the faint iron-and-cedar scent that belonged to him and to no one else in her life — and the sharpness of it made her jaw do something she didn't authorize." | | 4 | "Silas' bar did not close; it merely became difficult to enter." | | 5 | "He glanced past her shoulder into the hallway of Eva's flat — into the towers of books, the scrolls unrolling themselves off every horizontal surface, the lamps burning at two in the morning because Eva read the way other people breathed — and something moved across his face that she had no name for." | | 6 | "Three months and eleven days — she had not been counting, she had simply known, the way she knew the weight of a delivery box by the way it shifted — and the first word she gave him was *no*." | | 7 | "\"I am correcting a failure of manners.\" He shifted his weight, and for the first time she saw it — the faint drag of the cane, the way his left leg took the ground a half-beat late." | | 8 | "He took in the deadbolt-heavy door, the tabby cat regarding him from the sofa with antique suspicion, the stack of korma on the scrolls, and he removed his hat — he was wearing a hat, of course he was wearing a hat — and held it against his chest." | | 9 | "\"It's wet and it's not water.\" She was already moving, past him, down the short corridor to Eva's kitchen — if a gap between a refrigerator and a bookshelf could be called a kitchen — and she was saying, over her shoulder, \"Sit down, and don't bleed on the Kobayashi papers, Eva will file a complaint with whatever hell she files them with.\"" | | 10 | "He had unbuttoned his cuff and pushed the sleeve back, and the cut ran along his forearm — clean, shallow, deliberate-looking." | | 11 | "He did not flinch, but his fingers — the ones not resting on the cane — curled once against the arm of the chair." | | 12 | "It had come out with the same unplanned honesty as everything else she did around him — the reason she had fled Cardiff, the reason she had never once gone back to Pre-Law, the reason she now moved other people's dinners through the streets of London at eleven at night because nobody who handled boxes could ask her why her hands shook." | | 13 | "He turned his head — slowly, the way a man turns when he already knows what he will find — and looked at her, and the lamp caught his eyes so that one burned amber and one swallowed the light whole, and she thought: three months and eleven days, and he still hasn't told me which one of us he was afraid of." | | 14 | "Her pulse was not; she could feel it in her wrist, under the little crescent scar, and she willed it to behave." | | 15 | "His skin was warm and the pulse under it was fast — faster than his face suggested, and Rory, who had spent her whole life reading the difference between what people showed her and what they meant, felt something crack open in her chest like a window in a room you've sealed for a season." | | 16 | "Not fast — Lucien never did anything fast — but with the unhurried certainty of a man who has already calculated the distance between his fingers and the side of her face and found it acceptable." | | 17 | "Outside, the rain thickened against the window, and the fourth stair screamed under nobody's weight, and Rory — cool-headed, quick-thinking, the girl who had run from Cardiff with nothing and learned to carry boxes so heavy they hurt — leaned into the hand of the only person in London she had ever failed to outrun." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 223 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 6 | | adverbRatio | 0.026905829596412557 | | lyAdverbCount | 0 | | lyAdverbRatio | 0 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 117 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 117 | | mean | 16.49 | | std | 16.75 | | cv | 1.016 | | sampleLengths | | 0 | 12 | | 1 | 40 | | 2 | 7 | | 3 | 31 | | 4 | 23 | | 5 | 7 | | 6 | 8 | | 7 | 25 | | 8 | 4 | | 9 | 2 | | 10 | 2 | | 11 | 31 | | 12 | 21 | | 13 | 4 | | 14 | 16 | | 15 | 10 | | 16 | 2 | | 17 | 61 | | 18 | 3 | | 19 | 1 | | 20 | 3 | | 21 | 4 | | 22 | 9 | | 23 | 48 | | 24 | 5 | | 25 | 10 | | 26 | 42 | | 27 | 9 | | 28 | 6 | | 29 | 10 | | 30 | 3 | | 31 | 26 | | 32 | 7 | | 33 | 6 | | 34 | 11 | | 35 | 7 | | 36 | 39 | | 37 | 13 | | 38 | 5 | | 39 | 54 | | 40 | 8 | | 41 | 6 | | 42 | 1 | | 43 | 12 | | 44 | 40 | | 45 | 9 | | 46 | 22 | | 47 | 8 | | 48 | 20 | | 49 | 5 |
| |
| 46.15% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.3333333333333333 | | totalSentences | 117 | | uniqueOpeners | 39 | |
| 41.67% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 80 | | matches | | 0 | "Then he followed her gaze" |
| | ratio | 0.013 | |
| 0.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 46 | | totalSentences | 80 | | matches | | 0 | "It was a knock —" | | 1 | "She set the container on" | | 2 | "She knew the glint." | | 3 | "It was the ivory handle" | | 4 | "Her hand, which had already" | | 5 | "She'd understood enough." | | 6 | "She'd always understood enough." | | 7 | "It beaded on the wool" | | 8 | "He'd shaved recently — she" | | 9 | "His cane rested against his" | | 10 | "His amber eye found hers" | | 11 | "She kept her voice level," | | 12 | "She leaned against the doorframe," | | 13 | "He glanced past her shoulder" | | 14 | "It was gone before she" | | 15 | "His mouth did something that" | | 16 | "He shifted his weight, and" | | 17 | "He covered it with the" | | 18 | "It was not, she told" | | 19 | "It was curiosity, and reconnaissance," |
| | ratio | 0.575 | |
| 10.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 72 | | totalSentences | 80 | | matches | | 0 | "Rory had learned the sound" | | 1 | "The fourth noise was not" | | 2 | "It was a knock —" | | 3 | "Rory stood in the hallway" | | 4 | "Eva was in Aberdeen for" | | 5 | "Nobody knew that but Rory" | | 6 | "Ptolemy, a tabby of profound" | | 7 | "The knock came again." | | 8 | "She set the container on" | | 9 | "The corridor's fluorescent tube had" | | 10 | "She knew the glint." | | 11 | "It was the ivory handle" | | 12 | "Her hand, which had already" | | 13 | "She'd understood enough." | | 14 | "She'd always understood enough." | | 15 | "Rory drew the chain back" | | 16 | "Lucien Moreau stood in the" | | 17 | "Rain had found his shoulders." | | 18 | "It beaded on the wool" | | 19 | "He'd shaved recently — she" |
| | ratio | 0.9 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 80 | | matches | (empty) | | ratio | 0 | |
| 3.48% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 41 | | technicalSentenceCount | 8 | | matches | | 0 | "Lucien Moreau stood in the dead corridor looking like he had stepped out of a photograph of himself: charcoal suit, tailored close enough to read as a promise, …" | | 1 | "He'd shaved recently — she could smell it beneath the rain and the faint iron-and-cedar scent that belonged to him and to no one else in her life — and the shar…" | | 2 | "Lucien Moreau entered Eva's flat the way he entered everything: as though the room had been arranged for his convenience." | | 3 | "It had come out with the same unplanned honesty as everything else she did around him — the reason she had fled Cardiff, the reason she had never once gone back…" | | 4 | "His skin was warm and the pulse under it was fast — faster than his face suggested, and Rory, who had spent her whole life reading the difference between what p…" | | 5 | "Not fast — Lucien never did anything fast — but with the unhurried certainty of a man who has already calculated the distance between his fingers and the side o…" | | 6 | "Lucien Moreau, who took information the way other men took breath, who had walked up a screaming fourth stairblet to an unlit corridor at two in the morning wit…" | | 7 | "Outside, the rain thickened against the window, and the fourth stair screamed under nobody's weight, and Rory — cool-headed, quick-thinking, the girl who had ru…" |
| |
| 93.75% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 16 | | uselessAdditionCount | 1 | | matches | | 0 | "he said, and his voice was ruinous," |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 9 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 42 | | tagDensity | 0.214 | | leniency | 0.429 | | rawRatio | 0 | | effectiveRatio | 0 | |