| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 11 | | adverbTagCount | 1 | | adverbTags | | 0 | "Nyx said quietly [quietly]" |
| | dialogueSentences | 25 | | tagDensity | 0.44 | | leniency | 0.88 | | rawRatio | 0.091 | | effectiveRatio | 0.08 | |
| 95.86% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1208 | | 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) | |
| 79.30% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1208 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "warmth" | | 1 | "flickered" | | 2 | "lurch" | | 3 | "stomach" | | 4 | "depths" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "hung in the air" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 66 | | matches | (empty) | |
| 99.57% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 66 | | filterMatches | (empty) | | hedgeMatches | | |
| 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 | 53 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 2 | | markdownWords | 2 | | totalWords | 1220 | | ratio | 0.002 | | matches | | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 27 | | wordCount | 1005 | | uniqueNames | 11 | | maxNameDensity | 0.8 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Rory" | | discoveredNames | | January | 1 | | Richmond | 1 | | Park | 1 | | Eva | 1 | | Tomas | 2 | | Rory | 8 | | Nyx | 8 | | Shade | 2 | | Heartstone | 1 | | Fae | 1 | | Varga | 1 |
| | persons | | 0 | "Eva" | | 1 | "Tomas" | | 2 | "Rory" | | 3 | "Nyx" | | 4 | "Shade" | | 5 | "Varga" |
| | places | | | globalScore | 1 | | windowScore | 1 | |
| 93.18% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 44 | | glossingSentenceCount | 1 | | matches | | 0 | "seemed lacquered painted, unreal" |
| |
| 36.07% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.639 | | wordCount | 1220 | | matches | | 0 | "not bending in any wind but *turning*, deliberate as cats, blooms of impossible blue" | | 1 | "not minutes but the precise length of their journey" |
| |
| 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 | 29 | | mean | 42.07 | | std | 33.28 | | cv | 0.791 | | sampleLengths | | 0 | 79 | | 1 | 29 | | 2 | 22 | | 3 | 5 | | 4 | 32 | | 5 | 4 | | 6 | 83 | | 7 | 35 | | 8 | 5 | | 9 | 95 | | 10 | 1 | | 11 | 82 | | 12 | 5 | | 13 | 96 | | 14 | 5 | | 15 | 2 | | 16 | 73 | | 17 | 99 | | 18 | 16 | | 19 | 64 | | 20 | 53 | | 21 | 19 | | 22 | 37 | | 23 | 17 | | 24 | 93 | | 25 | 41 | | 26 | 18 | | 27 | 73 | | 28 | 37 |
| |
| 99.95% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 66 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 152 | | matches | | 0 | "was already retreating" | | 1 | "was going" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 79 | | ratio | 0.139 | | matches | | 0 | "Her breath fogged in the cold air on the outside of the stones — and then didn't, as she leaned her head between them." | | 1 | "The Shade had gone almost entirely incorporeal in the thin winter light, a smear of darkness clinging to the lee of a holly bush, but at her glance they solidified — drawing inward until the silhouette of shoulders and a head took shape, the violet glow of their eyes kindling like two struck matches." | | 2 | "The change struck her in the lungs first — air thick and sweet and green, heavy with pollen and the heady rot of overripe fruit." | | 3 | "\"This place doesn't like me. Too much light. Too much... living.\" They drew their form tighter, more solid than Rory had ever seen them, almost a man — six feet and more of dark, with the suggestion of a long coat hanging from those shadow shoulders." | | 4 | "Rory felt it in the soles of her feet through her boots — a slow, vast rhythm, an inhale and exhale that wasn't hers and wasn't Nyx's." | | 5 | "She kept looking for the sun and finding only a high golden haze, the whole sky one diffuse glow that cast no shadows — and she realized, with a lurch in her stomach, that *she* cast no shadow either." | | 6 | "The clearing should have been small — Tomas had called it a clearing, after all — but the trees kept parting ahead of them, revealing new depths, new hollows." | | 7 | "A sound began to thread through the green hush — music, maybe, or what music dreamed of being: a high, wandering melody with no instrument she could name behind it, rising and falling like a question never quite asked." | | 8 | "\"Rory.\" Nyx's grip closed on her wrist — solid, shockingly so, cold as the Fae blade sheathed at her hip." | | 9 | "Beyond them lay a true clearing — wide and round and ringed with hawthorn in full white bloom, petals drifting down through the still air to settle on the grass without ever seeming to land." | | 10 | "Rory understood that instantly — that the seer had been waiting not minutes but the precise length of their journey, that the grove had unspooled exactly as far as it needed to bring them here, no farther." |
| |
| 92.12% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1000 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 49 | | adverbRatio | 0.049 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.014 | |
| 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 | 15.44 | | std | 12.51 | | cv | 0.81 | | sampleLengths | | 0 | 27 | | 1 | 15 | | 2 | 4 | | 3 | 6 | | 4 | 27 | | 5 | 5 | | 6 | 24 | | 7 | 17 | | 8 | 5 | | 9 | 5 | | 10 | 13 | | 11 | 19 | | 12 | 4 | | 13 | 54 | | 14 | 14 | | 15 | 15 | | 16 | 25 | | 17 | 3 | | 18 | 2 | | 19 | 5 | | 20 | 5 | | 21 | 26 | | 22 | 25 | | 23 | 5 | | 24 | 6 | | 25 | 33 | | 26 | 1 | | 27 | 24 | | 28 | 10 | | 29 | 46 | | 30 | 2 | | 31 | 5 | | 32 | 7 | | 33 | 27 | | 34 | 36 | | 35 | 26 | | 36 | 5 | | 37 | 2 | | 38 | 5 | | 39 | 39 | | 40 | 4 | | 41 | 2 | | 42 | 23 | | 43 | 2 | | 44 | 29 | | 45 | 41 | | 46 | 3 | | 47 | 17 | | 48 | 7 | | 49 | 12 |
| |
| 68.35% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 1 | | diversityRatio | 0.4177215189873418 | | totalSentences | 79 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 59 | | matches | | 0 | "Only Nyx trailed a faint" | | 1 | "Then she stepped forward into" |
| | ratio | 0.034 | |
| 84.41% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 59 | | matches | | 0 | "It was January in Richmond" | | 1 | "Her breath fogged in the" | | 2 | "He was already retreating, hands" | | 3 | "She stepped between the stones." | | 4 | "She staggered a half-step, blinking." | | 5 | "They made a low sound" | | 6 | "They drew their form tighter," | | 7 | "She brushed one with her" | | 8 | "She kept looking for the" | | 9 | "She jerked back." | | 10 | "She stood quickly and didn't" | | 11 | "It pulled at something beneath" | | 12 | "She found her feet drifting" | | 13 | "She blinked the fog from" | | 14 | "Her heart was going too" | | 15 | "She didn't answer that." | | 16 | "She only nodded and let" | | 17 | "She had been waiting." | | 18 | "Her voice was soft, amused," | | 19 | "She tilted her head, and" |
| | ratio | 0.339 | |
| 44.75% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 49 | | totalSentences | 59 | | matches | | 0 | "The standing stones rose out" | | 1 | "Rory stopped at the threshold" | | 2 | "The bark was warm." | | 3 | "That was the first wrong" | | 4 | "It was January in Richmond" | | 5 | "Her breath fogged in the" | | 6 | "He was already retreating, hands" | | 7 | "Rory looked at Nyx." | | 8 | "The Shade had gone almost" | | 9 | "Nyx said, their voice the" | | 10 | "Rory's fingers found the Heartstone" | | 11 | "She stepped between the stones." | | 12 | "The cold vanished all at" | | 13 | "The change struck her in" | | 14 | "She staggered a half-step, blinking." | | 15 | "The Shade slid through the" | | 16 | "They made a low sound" | | 17 | "They drew their form tighter," | | 18 | "The clearing breathed around them." | | 19 | "That was the only word" |
| | ratio | 0.831 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 59 | | matches | (empty) | | ratio | 0 | |
| 66.33% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 28 | | technicalSentenceCount | 3 | | matches | | 0 | "Behind her, Eva's friend-of-a-friend, a wiry man named Tomas who'd claimed to know the way, hung back." | | 1 | "The Shade had gone almost entirely incorporeal in the thin winter light, a smear of darkness clinging to the lee of a holly bush, but at her glance they solidif…" | | 2 | "She brushed one with her knee and it chimed, a single clear bell-note that hung in the air far longer than sound had any right to." |
| |
| 79.55% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 11 | | uselessAdditionCount | 1 | | matches | | 0 | "Nyx said, their voice the dry hiss of wind through reeds" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 5 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 25 | | tagDensity | 0.2 | | leniency | 0.4 | | rawRatio | 0.2 | | effectiveRatio | 0.08 | |