| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 20 | | adverbTagCount | 1 | | adverbTags | | 0 | "Eva said quietly [quietly]" |
| | dialogueSentences | 37 | | tagDensity | 0.541 | | leniency | 1 | | rawRatio | 0.05 | | effectiveRatio | 0.05 | |
| 93.92% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1644 | | totalAiIsmAdverbs | 2 | | 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) | |
| 48.30% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1644 | | totalAiIsms | 17 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | word | "carried the weight" | | count | 1 |
| | 9 | | | 10 | | | 11 | | | 12 | | | 13 | | | 14 | |
| | highlights | | 0 | "pulse" | | 1 | "throb" | | 2 | "traced" | | 3 | "flickered" | | 4 | "stomach" | | 5 | "perfect" | | 6 | "pulsed" | | 7 | "whisper" | | 8 | "carried the weight" | | 9 | "rhythmic" | | 10 | "constructed" | | 11 | "glistening" | | 12 | "calculating" | | 13 | "structure" | | 14 | "warmth" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "air was thick with" | | count | 1 |
|
| | highlights | | 0 | "The air was thick with" |
| |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 0 | | narrationSentences | 93 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 93 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 110 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 61 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1664 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 17 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1385 | | uniqueNames | 4 | | maxNameDensity | 1.3 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 3 | | Rory | 18 | | Eva | 7 | | Nyx | 10 |
| | persons | | 0 | "Heartstone" | | 1 | "Rory" | | 2 | "Eva" | | 3 | "Nyx" |
| | places | (empty) | | globalScore | 0.85 | | windowScore | 0.833 | |
| 70.63% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 63 | | glossingSentenceCount | 2 | | matches | | 0 | "quite meet anymore" | | 1 | "something close to a grimace" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1664 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 110 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 43 | | mean | 38.7 | | std | 25.13 | | cv | 0.649 | | sampleLengths | | 0 | 72 | | 1 | 38 | | 2 | 69 | | 3 | 43 | | 4 | 33 | | 5 | 35 | | 6 | 39 | | 7 | 24 | | 8 | 49 | | 9 | 15 | | 10 | 4 | | 11 | 61 | | 12 | 62 | | 13 | 29 | | 14 | 59 | | 15 | 49 | | 16 | 6 | | 17 | 2 | | 18 | 8 | | 19 | 25 | | 20 | 109 | | 21 | 18 | | 22 | 44 | | 23 | 54 | | 24 | 60 | | 25 | 10 | | 26 | 48 | | 27 | 90 | | 28 | 63 | | 29 | 48 | | 30 | 23 | | 31 | 59 | | 32 | 26 | | 33 | 5 | | 34 | 65 | | 35 | 27 | | 36 | 7 | | 37 | 24 | | 38 | 73 | | 39 | 6 | | 40 | 50 | | 41 | 24 | | 42 | 9 |
| |
| 97.72% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 93 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 214 | | matches | | 0 | "were walking" | | 1 | "wasn't looking" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 20 | | semicolonCount | 2 | | flaggedSentences | 18 | | totalSentences | 110 | | ratio | 0.164 | | matches | | 0 | "She pressed her palm flat against it through her jacket and felt the heat answer her — a slow, deep throb, the rhythm of something vast stirring beneath the ground." | | 1 | "The atmosphere dragged at her skin in long, lazy ribbons, all flowing one direction — toward the dead end of the alley where two brick walls met at an angle." | | 2 | "Their violet eyes traced the seam and the corners of their mouth — the only feature that ever really moved — tightened into something close to a grimace." | | 3 | "Their form solidified further — the loose edges of shadow sharpening, a suggestion of shoulders, arms, the geometry of a person who'd once been one." | | 4 | "The seam hummed — a low note she felt in her molars." | | 5 | "Not orange — not sunset, not dawn — a warm, saturated gold that had no sun in it anywhere she could find, just a diffuse glow that reached down and touched everything equally, so that shadows fell soft and short in every direction, as though the world were lit from inside itself." | | 6 | "In this light, they looked less like shadow and more like a charcoal sketch someone had pressed too hard on — dense, dark, faintly vibrating." | | 7 | "The air was thick with fragrance — yeast, black pepper, ripe stone fruit, woodsmoke, the sharp acid tang of fermenting wine." | | 8 | "Beyond the vineyards, orchards rose in dense stands — trees with bark the color of dark chocolate, their branches draped with fruit Rory couldn't name: oval things split open to reveal spirals of pale gold, clusters of small blue spheres that pulsed faintly with their own light, long pale fingers of something that hung in pairs and released a high, sweet perfume." | | 9 | "The vineyard rows opened around them, and as they passed between the vines, Rory noticed the fruit leaning — tilting on their stems, turning to track their movement like sunflowers tracking the sun." | | 10 | "Then music — strings, maybe, plucked in quick bursts that rose and fell like birdsong if birdsong were made of sharpened notes." | | 11 | "Buildings rose along the flagstone road — low, wide structures with open fronts, their walls tiled in deep reds and greens, their doorways hung with strings of dried peppers and braids of garlic so thick they brushed the tops of Rory's head." | | 12 | "She caught glimpses: a counter piled with jointed meat glistening under a glaze of something dark; a woman with flour to her elbows rolling dough on a surface the size of a dining table; a crowd of figures seated at long benches, eating with both hands, their faces rapt, their plates refilled before they'd finished." | | 13 | "They were people, but wrong in ways Rory couldn't place — the way they moved too fluidly, or the way the amber light seemed to pool in the hollows of their necks, or the way none of them looked up as the three of them walked past." | | 14 | "He stopped — a full stop, frozen mid-stride, one hand still on his apron strings." | | 15 | "The Heartstone pulsed against Rory's collarbone — hard, sharp, a warning or an approval, she couldn't tell." | | 16 | "The road bent ahead, curving around a structure that rose taller than anything they'd seen so far — a tower of some kind, its surface covered in tile mosaics that depicted feasts, tables groaning under dishes, figures reaching, figures eating, figures with their mouths open wide." | | 17 | "The crescent scar on her left wrist — the old one from childhood — had flushed red, the skin raised slightly, as though the wound had reopened without breaking." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 239 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 8 | | adverbRatio | 0.03347280334728033 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.0041841004184100415 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 110 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 110 | | mean | 15.13 | | std | 12.52 | | cv | 0.828 | | sampleLengths | | 0 | 10 | | 1 | 30 | | 2 | 32 | | 3 | 9 | | 4 | 22 | | 5 | 7 | | 6 | 3 | | 7 | 30 | | 8 | 6 | | 9 | 30 | | 10 | 15 | | 11 | 28 | | 12 | 7 | | 13 | 22 | | 14 | 4 | | 15 | 15 | | 16 | 15 | | 17 | 5 | | 18 | 7 | | 19 | 25 | | 20 | 7 | | 21 | 17 | | 22 | 7 | | 23 | 8 | | 24 | 8 | | 25 | 17 | | 26 | 16 | | 27 | 3 | | 28 | 12 | | 29 | 4 | | 30 | 3 | | 31 | 41 | | 32 | 17 | | 33 | 10 | | 34 | 52 | | 35 | 17 | | 36 | 4 | | 37 | 6 | | 38 | 2 | | 39 | 15 | | 40 | 7 | | 41 | 25 | | 42 | 12 | | 43 | 3 | | 44 | 21 | | 45 | 8 | | 46 | 17 | | 47 | 6 | | 48 | 2 | | 49 | 8 |
| |
| 69.70% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.44545454545454544 | | totalSentences | 110 | | uniqueOpeners | 49 | |
| 85.47% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 78 | | matches | | 0 | "Then music — strings, maybe," | | 1 | "Then to Rory, and something" |
| | ratio | 0.026 | |
| 71.28% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 29 | | totalSentences | 78 | | matches | | 0 | "She pressed her palm flat" | | 1 | "She held her phone out" | | 2 | "Their violet eyes traced the" | | 3 | "Its glow had deepened from" | | 4 | "Their form solidified further —" | | 5 | "She shoved the phone into" | | 6 | "She stepped through first." | | 7 | "She stumbled forward onto soil" | | 8 | "Her mouth hung open." | | 9 | "She closed it, opened it" | | 10 | "Their violet eyes darted left" | | 11 | "Her stomach clenched with a" | | 12 | "They stood at the crest" | | 13 | "Their whisper carried the weight" | | 14 | "They descended the hillside." | | 15 | "She kept her eyes forward" | | 16 | "She'd picked up a garnet" | | 17 | "It was warm." | | 18 | "It turned in her grip," | | 19 | "She dropped it and wiped" |
| | ratio | 0.372 | |
| 30.51% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 67 | | totalSentences | 78 | | matches | | 0 | "The Heartstone pulled at Rory's" | | 1 | "She pressed her palm flat" | | 2 | "The pendant had been doing" | | 3 | "Eva's voice came tight behind" | | 4 | "She held her phone out" | | 5 | "Rory felt it." | | 6 | "The atmosphere dragged at her" | | 7 | "Nyx materialized from the shadow" | | 8 | "Their violet eyes traced the" | | 9 | "The sound arrived before their" | | 10 | "Rory looked down at the" | | 11 | "Its glow had deepened from" | | 12 | "Their form solidified further —" | | 13 | "Rory's jaw set" | | 14 | "She shoved the phone into" | | 15 | "The amber light from the" | | 16 | "Rory almost smiled." | | 17 | "The seam hummed — a" | | 18 | "She stepped through first." | | 19 | "The world folded." |
| | ratio | 0.859 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 78 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 48 | | technicalSentenceCount | 11 | | matches | | 0 | "The sound arrived before their mouth finished moving, displaced, as though the words had travelled a split second ahead through the cold." | | 1 | "Their form solidified further — the loose edges of shadow sharpening, a suggestion of shoulders, arms, the geometry of a person who'd once been one." | | 2 | "She stumbled forward onto soil that gave beneath her boots like risen dough, warm, yielding, impossibly alive." | | 3 | "Not orange — not sunset, not dawn — a warm, saturated gold that had no sun in it anywhere she could find, just a diffuse glow that reached down and touched ever…" | | 4 | "They stood at the crest of a hill overlooking a valley that stretched in every direction until the amber sky swallowed it." | | 5 | "Vineyard rows ran in perfect, precise lines down the slopes, their leaves black-green and glossy, each vine heavy with fruit that gleamed like polished garnet." | | 6 | "The vineyard rows opened around them, and as they passed between the vines, Rory noticed the fruit leaning — tilting on their stems, turning to track their move…" | | 7 | "She caught glimpses: a counter piled with jointed meat glistening under a glaze of something dark; a woman with flour to her elbows rolling dough on a surface t…" | | 8 | "His voice carried the sing-song cadence of someone who'd spoken only in kitchens for a long time." | | 9 | "The road bent ahead, curving around a structure that rose taller than anything they'd seen so far — a tower of some kind, its surface covered in tile mosaics th…" | | 10 | "The amber sky caught the tiles and threw the images back in shifting, restless light, as though the mosaics moved when she wasn't looking directly at them." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 20 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 14.86% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 5 | | fancyTags | | 0 | "Nyx whispered (whisper)" | | 1 | "Nyx murmured (murmur)" | | 2 | "Eva corrected (correct)" | | 3 | "Nyx whispered (whisper)" | | 4 | "they whispered (whisper)" |
| | dialogueSentences | 37 | | tagDensity | 0.378 | | leniency | 0.757 | | rawRatio | 0.357 | | effectiveRatio | 0.27 | |