| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 26 | | tagDensity | 0.462 | | leniency | 0.923 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1273 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 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) | |
| 13.59% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1273 | | totalAiIsms | 22 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | | | 15 | | | 16 | | | 17 | | | 18 | | | 19 | |
| | highlights | | 0 | "chill" | | 1 | "scanning" | | 2 | "whisper" | | 3 | "impose" | | 4 | "silence" | | 5 | "reminder" | | 6 | "surreal" | | 7 | "silk" | | 8 | "loomed" | | 9 | "pulse" | | 10 | "warmth" | | 11 | "racing" | | 12 | "stomach" | | 13 | "lurched" | | 14 | "desire" | | 15 | "flickered" | | 16 | "pulsed" | | 17 | "rhythmic" | | 18 | "throb" | | 19 | "unreadable" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 89 | | matches | (empty) | |
| 78.65% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 4 | | narrationSentences | 89 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 103 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 35 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1270 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 75.50% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 57 | | wordCount | 1141 | | uniqueNames | 17 | | maxNameDensity | 1.49 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Veil | 2 | | Heartstone | 1 | | Pendant | 1 | | Nyx | 7 | | Isolde | 8 | | Varga | 1 | | London | 3 | | Fae-Forged | 3 | | Blade | 3 | | Rory | 17 | | Fae | 4 | | Grove | 1 | | Pre-Law | 1 | | Seer | 2 | | Belphegor | 1 | | Wardens | 1 | | Shade | 1 |
| | persons | | 0 | "Veil" | | 1 | "Nyx" | | 2 | "Isolde" | | 3 | "Varga" | | 4 | "Blade" | | 5 | "Rory" | | 6 | "Seer" | | 7 | "Belphegor" | | 8 | "Wardens" |
| | places | | | globalScore | 0.755 | | windowScore | 0.833 | |
| 56.25% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 80 | | glossingSentenceCount | 3 | | matches | | 0 | "sounded like a whisper carried on the wind" | | 1 | "looked like bone, smooth and warm" | | 2 | "as if sensing their intent" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1270 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 103 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 27 | | mean | 47.04 | | std | 29.97 | | cv | 0.637 | | sampleLengths | | 0 | 67 | | 1 | 53 | | 2 | 73 | | 3 | 56 | | 4 | 36 | | 5 | 81 | | 6 | 44 | | 7 | 61 | | 8 | 45 | | 9 | 7 | | 10 | 64 | | 11 | 9 | | 12 | 26 | | 13 | 66 | | 14 | 24 | | 15 | 63 | | 16 | 15 | | 17 | 47 | | 18 | 65 | | 19 | 27 | | 20 | 25 | | 21 | 28 | | 22 | 52 | | 23 | 35 | | 24 | 10 | | 25 | 33 | | 26 | 158 |
| |
| 89.49% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 89 | | matches | | 0 | "been absorbed" | | 1 | "was paved" | | 2 | "been cooked" | | 3 | "being was" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 7 | | totalVerbs | 192 | | matches | | 0 | "was vibrating" | | 1 | "was anchoring" | | 2 | "was looking" | | 3 | "was coming" | | 4 | "was humming" | | 5 | "was holding" | | 6 | "was bleeding" |
| |
| 59.64% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 3 | | semicolonCount | 1 | | flaggedSentences | 3 | | totalSentences | 103 | | ratio | 0.029 | | matches | | 0 | "Massive shapes loomed in the distance—feasting tables stretched for miles, laden with dishes that defied categorization." | | 1 | "The solstice was coming; the Wardens said the rift would strengthen again." | | 2 | "Together, the three of them—the delivery girl, the Shade, and the Seer—walked toward the feast." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1152 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small crescent-shaped scar" |
| | adverbCount | 31 | | adverbRatio | 0.026909722222222224 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.012152777777777778 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 103 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 103 | | mean | 12.33 | | std | 6.58 | | cv | 0.534 | | sampleLengths | | 0 | 8 | | 1 | 28 | | 2 | 14 | | 3 | 17 | | 4 | 5 | | 5 | 17 | | 6 | 15 | | 7 | 12 | | 8 | 4 | | 9 | 13 | | 10 | 20 | | 11 | 24 | | 12 | 16 | | 13 | 13 | | 14 | 12 | | 15 | 31 | | 16 | 7 | | 17 | 24 | | 18 | 5 | | 19 | 6 | | 20 | 13 | | 21 | 14 | | 22 | 17 | | 23 | 9 | | 24 | 22 | | 25 | 10 | | 26 | 10 | | 27 | 14 | | 28 | 10 | | 29 | 17 | | 30 | 11 | | 31 | 7 | | 32 | 17 | | 33 | 9 | | 34 | 5 | | 35 | 24 | | 36 | 16 | | 37 | 7 | | 38 | 8 | | 39 | 8 | | 40 | 16 | | 41 | 19 | | 42 | 9 | | 43 | 4 | | 44 | 8 | | 45 | 1 | | 46 | 9 | | 47 | 17 | | 48 | 9 | | 49 | 8 |
| |
| 49.19% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3300970873786408 | | totalSentences | 103 | | uniqueOpeners | 34 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 87 | | matches | (empty) | | ratio | 0 | |
| 72.87% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 32 | | totalSentences | 87 | | matches | | 0 | "Her fingers brushed the silver" | | 1 | "It burned hot against her" | | 2 | "They were already part shadow" | | 3 | "Their eyes, faintly glowing violet," | | 4 | "Her pale lavender eyes widened" | | 5 | "She left no prints behind," | | 6 | "She adjusted her grip on" | | 7 | "It wasn't the grey London" | | 8 | "It was a heavy, warm" | | 9 | "They extended a hand, fingers" | | 10 | "She looked at her wrist," | | 11 | "They began to move forward." | | 12 | "She flinched, her hand going" | | 13 | "It was vibrating now, the" | | 14 | "She realized the artifact was" | | 15 | "She was looking for Belphegor's" | | 16 | "They needed to stop the" | | 17 | "She adjusted the Fae-Forged Blade." | | 18 | "It was humming now, the" | | 19 | "They moved deeper, the vines" |
| | ratio | 0.368 | |
| 23.22% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 76 | | totalSentences | 87 | | matches | | 0 | "The air smelled of ozone" | | 1 | "Rory held her breath, her" | | 2 | "Her fingers brushed the silver" | | 3 | "It burned hot against her" | | 4 | "They were already part shadow" | | 5 | "Their eyes, faintly glowing violet," | | 6 | "Nyx sounded like a whisper" | | 7 | "The silver hair that fell" | | 8 | "Her pale lavender eyes widened" | | 9 | "She left no prints behind," | | 10 | "Rory asked, her voice sounding" | | 11 | "She adjusted her grip on" | | 12 | "The weapon was always cold" | | 13 | "Isolde repeated, tilting her head" | | 14 | "A cluster of violet orchids" | | 15 | "The sky above them was" | | 16 | "It wasn't the grey London" | | 17 | "It was a heavy, warm" | | 18 | "Rory blinked, her bright blue" | | 19 | "The sun, or what passed" |
| | ratio | 0.874 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 87 | | matches | (empty) | | ratio | 0 | |
| 48.52% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 53 | | technicalSentenceCount | 7 | | matches | | 0 | "The weapon was always cold to the touch, a constant, biting reminder of the winter moon, but here it felt numb, as if the cold had already been absorbed by noth…" | | 1 | "A cluster of violet orchids grew from the black stone beneath Rory's boots, blooming in seconds, only to wither into ash before fully opening." | | 2 | "There was no path, only a sprawling descent into a valley of vines that hung like curtains of heavy silk, dripping with golden sap." | | 3 | "Massive shapes loomed in the distance—feasting tables stretched for miles, laden with dishes that defied categorization." | | 4 | "The pendant pulsed warmly, a rhythmic throb that matched the heartbeat in her ears." | | 5 | "There were no sounds of eating, only the rustle of leaves and the hum of the blade, as if the world itself was holding its breath, waiting to see if they would …" | | 6 | "The amber light caught the scar on her wrist, and for a moment, it looked as if the old injury was bleeding light, a tiny constellation in a world of one sun." |
| |
| 0.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 4 | | matches | | 0 | "Rory asked, her voice sounding too loud in the stillness" | | 1 | "Nyx murmured, the sound vibrating directly in Rory's bones" | | 2 | "Isolde said, her voice smooth as silk sheeting" | | 3 | "Rory snapped, though her voice lacked heat" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 6 | | fancyTags | | 0 | "Isolde repeated (repeat)" | | 1 | "Nyx murmured (murmur)" | | 2 | "Rory breathed (breathe)" | | 3 | "Nyx whispered (whisper)" | | 4 | "Rory snapped (snap)" | | 5 | "Nyx corrected (correct)" |
| | dialogueSentences | 26 | | tagDensity | 0.462 | | leniency | 0.923 | | rawRatio | 0.5 | | effectiveRatio | 0.462 | |