| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 22 | | adverbTagCount | 2 | | adverbTags | | 0 | "he agreed quietly [quietly]" | | 1 | "He almost laughed [almost]" |
| | dialogueSentences | 42 | | tagDensity | 0.524 | | leniency | 1 | | rawRatio | 0.091 | | effectiveRatio | 0.091 | |
| 89.50% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1904 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "lightly" | | 1 | "carefully" | | 2 | "very" |
| |
| 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) | |
| 55.36% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1904 | | totalAiIsms | 17 | | found | | | highlights | | 0 | "reminder" | | 1 | "marble" | | 2 | "velvet" | | 3 | "flicked" | | 4 | "flickered" | | 5 | "desire" | | 6 | "measured" | | 7 | "traced" | | 8 | "could feel" | | 9 | "electric" | | 10 | "navigated" | | 11 | "pulse" | | 12 | "silk" | | 13 | "silence" | | 14 | "tracing" | | 15 | "tenderness" |
| |
| 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 | 89 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 89 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 108 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 70 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1893 | | 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 | 34 | | wordCount | 1128 | | uniqueNames | 15 | | maxNameDensity | 0.53 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 6 | | Eva | 2 | | Brick | 3 | | Lane | 3 | | Moreau | 1 | | French | 1 | | Silas | 1 | | Avarosi | 1 | | Six | 1 | | Floorboards | 1 | | Chelsea | 2 | | London | 2 | | Defiance | 1 | | Lucien | 6 | | Ptolemy | 3 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Moreau" | | 3 | "Silas" | | 4 | "Chelsea" | | 5 | "Lucien" | | 6 | "Ptolemy" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 32.81% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 64 | | glossingSentenceCount | 3 | | matches | | 0 | "not quite a smile, not quite an apology—and the mismatched eyes found hers in the same instant: the amber one warm and amused, the black one cool enough to frost glass" | | 1 | "not quite an apology—and the mismatched eyes found hers in the same instant: the amber one warm and amused, the black one cool enough to frost glass" | | 2 | "ything except, apparently, how thoroughly the" | | 3 | "as if offering moral support" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1893 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 108 | | matches | | 0 | "chose that moment" | | 1 | "slammed that Chelsea" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 37 | | mean | 51.16 | | std | 26.7 | | cv | 0.522 | | sampleLengths | | 0 | 63 | | 1 | 71 | | 2 | 32 | | 3 | 57 | | 4 | 25 | | 5 | 59 | | 6 | 40 | | 7 | 86 | | 8 | 45 | | 9 | 14 | | 10 | 30 | | 11 | 38 | | 12 | 84 | | 13 | 50 | | 14 | 96 | | 15 | 108 | | 16 | 40 | | 17 | 33 | | 18 | 64 | | 19 | 31 | | 20 | 67 | | 21 | 40 | | 22 | 18 | | 23 | 105 | | 24 | 62 | | 25 | 16 | | 26 | 101 | | 27 | 50 | | 28 | 22 | | 29 | 15 | | 30 | 65 | | 31 | 66 | | 32 | 20 | | 33 | 23 | | 34 | 83 | | 35 | 36 | | 36 | 38 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 89 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 183 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 2 | | flaggedSentences | 7 | | totalSentences | 108 | | ratio | 0.065 | | matches | | 0 | "One gloved hand rested lightly on the ivory head of his cane; the other held a slim envelope pinned between two fingers like an afterthought." | | 1 | "His mouth curved—not quite a smile, not quite an apology—and the mismatched eyes found hers in the same instant: the amber one warm and amused, the black one cool enough to frost glass." | | 2 | "He remembered; of course he bloody remembered." | | 3 | "Something flickered—regret, irritation, hunger—across the elegant lines of his face." | | 4 | "Outside, Brick Lane’s evening bustle rose through the floorboards—laughter, a scooter’s whine, the distant bass of a bar." | | 5 | "The problem had been the gulf between the world he navigated—demons, debts, blood pacts—and the ordinary pennies she still tried to keep." | | 6 | "He stepped fully into her space then, not kissing—too soon for that, the air still thick with half-said wounds—but resting his forehead against hers for three heartbeats that stretched like years." |
| |
| 91.85% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1095 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 54 | | adverbRatio | 0.049315068493150684 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.011872146118721462 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 108 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 108 | | mean | 17.53 | | std | 13.48 | | cv | 0.769 | | sampleLengths | | 0 | 16 | | 1 | 47 | | 2 | 13 | | 3 | 25 | | 4 | 33 | | 5 | 18 | | 6 | 14 | | 7 | 5 | | 8 | 6 | | 9 | 28 | | 10 | 18 | | 11 | 5 | | 12 | 8 | | 13 | 12 | | 14 | 27 | | 15 | 9 | | 16 | 7 | | 17 | 16 | | 18 | 40 | | 19 | 6 | | 20 | 28 | | 21 | 29 | | 22 | 2 | | 23 | 21 | | 24 | 29 | | 25 | 16 | | 26 | 5 | | 27 | 9 | | 28 | 8 | | 29 | 22 | | 30 | 10 | | 31 | 9 | | 32 | 19 | | 33 | 48 | | 34 | 36 | | 35 | 10 | | 36 | 9 | | 37 | 17 | | 38 | 14 | | 39 | 8 | | 40 | 25 | | 41 | 9 | | 42 | 6 | | 43 | 48 | | 44 | 36 | | 45 | 2 | | 46 | 70 | | 47 | 2 | | 48 | 31 | | 49 | 7 |
| |
| 64.20% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.4074074074074074 | | totalSentences | 108 | | uniqueOpeners | 44 | |
| 86.58% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 77 | | matches | | 0 | "Instead she heard herself unlocking" | | 1 | "Instead she looked at the" |
| | ratio | 0.026 | |
| 53.77% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 77 | | matches | | 0 | "She yanked the door open" | | 1 | "His mouth curved—not quite a" | | 2 | "he said, the French accent" | | 3 | "She did not step back." | | 4 | "She did not step forward" | | 5 | "Her voice came out flatter" | | 6 | "She resisted the urge to" | | 7 | "He remembered; of course he" | | 8 | "He remembered everything except, apparently," | | 9 | "She should have closed the" | | 10 | "He moved closer, not crowding," | | 11 | "he agreed quietly, He stopped," | | 12 | "She turned away, needing the" | | 13 | "She flicked the switch more" | | 14 | "she said to the kettle" | | 15 | "Her throat closed" | | 16 | "He stood too close now," | | 17 | "He almost laughed, a sound" | | 18 | "His hand lifted, stopped an" | | 19 | "She could feel the heat" |
| | ratio | 0.416 | |
| 50.91% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 63 | | totalSentences | 77 | | matches | | 0 | "The last deadbolt scraped free" | | 1 | "She yanked the door open" | | 2 | "Lucien Moreau stood on the" | | 3 | "His mouth curved—not quite a" | | 4 | "he said, the French accent" | | 5 | "She did not step back." | | 6 | "She did not step forward" | | 7 | "The smell of cardamom and" | | 8 | "Ptolemy chose that moment to" | | 9 | "Her voice came out flatter" | | 10 | "Lucien’s gaze flicked to the" | | 11 | "She resisted the urge to" | | 12 | "He remembered; of course he" | | 13 | "He remembered everything except, apparently," | | 14 | "She should have closed the" | | 15 | "The flat swallowed him: books" | | 16 | "Rory’s temporary penance for borrowing" | | 17 | "Lucien set the cane carefully" | | 18 | "The black eye studied her" | | 19 | "The word cracked sharper than" |
| | ratio | 0.818 | |
| 64.94% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 77 | | matches | | 0 | "Now they tasted of old" |
| | ratio | 0.013 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 8 | | matches | | 0 | "She yanked the door open halfway, already halfway into a reminder that Eva’s food delivery didn’t need the full slapstick routine of three locks, when the corri…" | | 1 | "The smell of cardamom and frying onions drifted up from the curry house below, mixing with the faint, expensive cologne that clung to him like a second skin." | | 2 | "Instead she heard herself unlocking the chain she hadn’t even unhooked yet, stepping aside, watching the polished leather of his shoes cross the threshold as if…" | | 3 | "Ptolemy leapt onto the counter and head-butted her elbow as if offering moral support." | | 4 | "His hand lifted, stopped an inch from her cheek as if an invisible ward crackled there." | | 5 | "She searched his face: the monochrome and gold of his eyes, the precise line of mouth that had once murmured terrible poetry in three languages against her thro…" | | 6 | "Instead she looked at the man who had haunted the margins of every good day and bad night since she slammed that Chelsea door, and felt the old hurt ease its gr…" | | 7 | "He stepped fully into her space then, not kissing—too soon for that, the air still thick with half-said wounds—but resting his forehead against hers for three h…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 22 | | uselessAdditionCount | 1 | | matches | | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 13 | | fancyCount | 7 | | fancyTags | | 0 | "he murmured (murmur)" | | 1 | "he agreed quietly (agree)" | | 2 | "Lucien corrected (correct)" | | 3 | "she whispered (whisper)" | | 4 | "He almost laughed (laugh)" | | 5 | "She closed (close)" | | 6 | "he murmured (murmur)" |
| | dialogueSentences | 42 | | tagDensity | 0.31 | | leniency | 0.619 | | rawRatio | 0.538 | | effectiveRatio | 0.333 | |