| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 4 | | adverbTags | | 0 | "Rory said finally [finally]" | | 1 | "Lucien interrupted softly [softly]" | | 2 | "he said simply [simply]" | | 3 | "she lied softly [softly]" |
| | dialogueSentences | 34 | | tagDensity | 0.588 | | leniency | 1 | | rawRatio | 0.2 | | effectiveRatio | 0.2 | |
| 63.40% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1366 | | totalAiIsmAdverbs | 10 | | found | | | highlights | | 0 | "completely" | | 1 | "softly" | | 2 | "slightly" | | 3 | "carefully" | | 4 | "lightly" | | 5 | "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) | |
| 45.10% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1366 | | totalAiIsms | 15 | | found | | | highlights | | 0 | "echoed" | | 1 | "pounding" | | 2 | "silence" | | 3 | "velvet" | | 4 | "stark" | | 5 | "constructed" | | 6 | "flicked" | | 7 | "chill" | | 8 | "pulse" | | 9 | "tracing" | | 10 | "silk" | | 11 | "tension" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "let out a breath" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 65 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 65 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 79 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 66 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 13 | | totalWords | 1359 | | ratio | 0.01 | | matches | | 0 | "ma chérie" | | 1 | "You don't get to choose who I am to you, Rory." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 21 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 26 | | wordCount | 1047 | | uniqueNames | 7 | | maxNameDensity | 0.86 | | worstName | "Lucien" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Lucien" | | discoveredNames | | Tuesday | 1 | | Eva | 3 | | Moreau | 1 | | French | 2 | | Lucien | 9 | | Soho | 1 | | Rory | 9 |
| | persons | | 0 | "Eva" | | 1 | "Moreau" | | 2 | "Lucien" | | 3 | "Rory" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | glossingSentenceCount | 1 | | matches | | 0 | "sounded like a total surrender" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1359 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 79 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 39.97 | | std | 26.07 | | cv | 0.652 | | sampleLengths | | 0 | 53 | | 1 | 9 | | 2 | 78 | | 3 | 11 | | 4 | 25 | | 5 | 55 | | 6 | 52 | | 7 | 57 | | 8 | 22 | | 9 | 67 | | 10 | 13 | | 11 | 52 | | 12 | 4 | | 13 | 48 | | 14 | 87 | | 15 | 56 | | 16 | 5 | | 17 | 18 | | 18 | 56 | | 19 | 48 | | 20 | 40 | | 21 | 65 | | 22 | 30 | | 23 | 19 | | 24 | 119 | | 25 | 37 | | 26 | 13 | | 27 | 27 | | 28 | 55 | | 29 | 24 | | 30 | 14 | | 31 | 63 | | 32 | 11 | | 33 | 26 |
| |
| 89.07% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 65 | | matches | | 0 | "was slicked" | | 1 | "was stretched" | | 2 | "was pressed" |
| |
| 46.74% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 174 | | matches | | 0 | "was pounding" | | 1 | "was currently holding" | | 2 | "was running" | | 3 | "was standing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 7 | | semicolonCount | 2 | | flaggedSentences | 8 | | totalSentences | 79 | | ratio | 0.101 | | matches | | 0 | "He rested both hands over the rounded ivory handle of his cane, his dual-colored eyes fixing on her the instant the frame cleared—one amber, warm and volatile as melted resin, the other an abyss of solid black." | | 1 | "He didn't wait for an invitation; he simply stepped past her into the small foyer, the brass tip of his cane clicking against the scuffed floorboards." | | 2 | "The scent of him—rainfall, expensive cedarwood cologne, and the faint, unmistakable ozonic heat of something infernal—flooded the narrow entryway, completely overpowering the rich stench of garlic and cardamom rising through the floorboards from the kitchen below." | | 3 | "Eva's apartment was a labyrinth of clutter; stacks of leather-bound grimoires, loose sheets of parchment, and ancient maps threatened to spill off every surface." | | 4 | "\"I am a broker of secrets, *ma chérie*,\" Lucien said, his amber eye narrowing slightly as he took her in—her bare feet, her oversized grey jumper, her shoulder-length black hair slightly tangled from an evening spent hunched over research." | | 5 | "It was a stark, brutal contrast to the memory lingering between them—the last time she had seen him, six weeks ago, in a rain-slicked alley off Soho." | | 6 | "Rory looked at him—at the silver-white hair, the contrast of his amber and black eyes, the slight tension in his shoulders that revealed just how much this gamble had cost his pride." | | 7 | "Lucien let out a breath—a quiet, ragged exhale that sounded like a total surrender." |
| |
| 72.58% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1062 | | adjectiveStacks | 4 | | stackExamples | | 0 | "usual razor-sharp precision." | | 1 | "faint, unmistakable ozonic heat" | | 2 | "small, crescent-shaped scar" | | 3 | "dry, dismissive raspy puff" |
| | adverbCount | 44 | | adverbRatio | 0.04143126177024482 | | lyAdverbCount | 24 | | lyAdverbRatio | 0.022598870056497175 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 79 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 79 | | mean | 17.2 | | std | 10.6 | | cv | 0.616 | | sampleLengths | | 0 | 21 | | 1 | 32 | | 2 | 9 | | 3 | 11 | | 4 | 5 | | 5 | 25 | | 6 | 37 | | 7 | 11 | | 8 | 7 | | 9 | 18 | | 10 | 10 | | 11 | 19 | | 12 | 26 | | 13 | 16 | | 14 | 36 | | 15 | 20 | | 16 | 23 | | 17 | 14 | | 18 | 9 | | 19 | 13 | | 20 | 24 | | 21 | 17 | | 22 | 26 | | 23 | 5 | | 24 | 8 | | 25 | 39 | | 26 | 13 | | 27 | 4 | | 28 | 24 | | 29 | 17 | | 30 | 7 | | 31 | 27 | | 32 | 29 | | 33 | 31 | | 34 | 24 | | 35 | 17 | | 36 | 15 | | 37 | 5 | | 38 | 10 | | 39 | 6 | | 40 | 2 | | 41 | 6 | | 42 | 21 | | 43 | 29 | | 44 | 15 | | 45 | 33 | | 46 | 16 | | 47 | 24 | | 48 | 5 | | 49 | 34 |
| |
| 63.29% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4177215189873418 | | totalSentences | 79 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 62 | | matches | | 0 | "Instead, the breath snuffed right" | | 1 | "Instead, she pulled his hand" |
| | ratio | 0.032 | |
| 7.10% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 62 | | matches | | 0 | "She shoved the door open," | | 1 | "He looked infuriatingly, devastatingly intact." | | 2 | "He rested both hands over" | | 3 | "Her voice held together, remarkably" | | 4 | "His French accent was a" | | 5 | "He didn't wait for an" | | 6 | "she said, leaning her back" | | 7 | "Her left thumb automatically found" | | 8 | "He turned, the tight constraints" | | 9 | "He set his cane down" | | 10 | "He unbuttoned his coat, slipping" | | 11 | "It was a stark, brutal" | | 12 | "*You don't get to choose" | | 13 | "She took a step toward" | | 14 | "Her bright blue eyes flicked" | | 15 | "he said simply" | | 16 | "She blinked, her lips parting" | | 17 | "he repeated, stepping closer" | | 18 | "He lifted a hand" | | 19 | "Her breath hitched." |
| | ratio | 0.532 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 59 | | totalSentences | 62 | | matches | | 0 | "Rory rattled the third deadbolt" | | 1 | "She shoved the door open," | | 2 | "Lucien Moreau stood under the" | | 3 | "He looked infuriatingly, devastatingly intact." | | 4 | "Rain glinted like scattered diamonds" | | 5 | "He rested both hands over" | | 6 | "Silence stretched between them, heavy" | | 7 | "Rory said finally" | | 8 | "Her voice held together, remarkably" | | 9 | "His French accent was a" | | 10 | "He didn't wait for an" | | 11 | "Rory closed the door, sliding" | | 12 | "The scent of him—rainfall, expensive" | | 13 | "she said, leaning her back" | | 14 | "Her left thumb automatically found" | | 15 | "Lucien interrupted softly" | | 16 | "He turned, the tight constraints" | | 17 | "Eva's apartment was a labyrinth" | | 18 | "Ptolemy, Eva's oversized tabby cat," | | 19 | "The cat raised his head," |
| | ratio | 0.952 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 62 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 38 | | technicalSentenceCount | 8 | | matches | | 0 | "Rory rattled the third deadbolt free, the heavy iron latch dropping with a dull metallic thunk that echoed down the stairwell." | | 1 | "His French accent was a low, smooth purr that scraped across her nerves in all the old, dangerous ways." | | 2 | "The heat radiating off him was unnatural, a subtle remnant of the fires of his father's realm, warming the drafty chill of the flat." | | 3 | "For a second, she thought he meant to strike or push, but his fingers hovered just near her jaw, trembling with a rare, microscopic hesitation before resting li…" | | 4 | "Rory looked at him—at the silver-white hair, the contrast of his amber and black eyes, the slight tension in his shoulders that revealed just how much this gamb…" | | 5 | "She felt the lingering sting of his betrayal, but underneath it, the undeniable pull that had drawn them together from the very beginning." | | 6 | "His other arm came around her waist, drawing her close against the structured lines of his waistcoat, burying his face into the curve of her neck." | | 7 | "Rory closed her eyes, resting her forehead against his shoulder, letting the heat of him burn away the weeks of cold, bitter silence." |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 2 | | matches | | 0 | "she whispered, the hurt finally bleeding through the anger" | | 1 | "Lucien promised, his grip tightening around her waist" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 15 | | fancyCount | 8 | | fancyTags | | 0 | "Lucien interrupted softly (interrupt)" | | 1 | "he repeated (repeat)" | | 2 | "she whispered (whisper)" | | 3 | "she murmured (murmur)" | | 4 | "Lucien agreed (agree)" | | 5 | "she lied softly (lie)" | | 6 | "she whispered (whisper)" | | 7 | "Lucien promised (promise)" |
| | dialogueSentences | 34 | | tagDensity | 0.441 | | leniency | 0.882 | | rawRatio | 0.533 | | effectiveRatio | 0.471 | |