| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 1 | | adverbTags | | 0 | "Rory said slowly [slowly]" |
| | dialogueSentences | 32 | | tagDensity | 0.563 | | leniency | 1 | | rawRatio | 0.056 | | effectiveRatio | 0.056 | |
| 85.86% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1061 | | totalAiIsmAdverbs | 3 | | found | | 0 | | | 1 | | adverb | "deliberately" | | count | 1 |
| | 2 | |
| | highlights | | 0 | "quickly" | | 1 | "deliberately" | | 2 | "slowly" |
| |
| 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) | |
| 81.15% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1061 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "pulse" | | 1 | "crystal" | | 2 | "warmth" | | 3 | "depths" |
| |
| 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 | 46 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 46 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 60 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 49 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1048 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 50.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 36 | | wordCount | 767 | | uniqueNames | 11 | | maxNameDensity | 1.69 | | worstName | "Rory" | | maxWindowNameDensity | 3.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 13 | | Richmond | 1 | | Park | 1 | | English | 1 | | November | 1 | | Nyx | 6 | | London | 1 | | Heartstone | 2 | | Pendant | 1 | | Fae | 1 | | Isolde | 8 |
| | persons | | 0 | "Rory" | | 1 | "Nyx" | | 2 | "Pendant" | | 3 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "English" | | 3 | "London" |
| | globalScore | 0.653 | | windowScore | 0.5 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 30 | | glossingSentenceCount | 4 | | matches | | 0 | "centers that seemed to pulse faintly, like slow heartbeats—grew in tangled profusion between roots so massive they might have been the bones of some buried giant" | | 1 | "seemed empty" | | 2 | "not quite a smile" | | 3 | "as if listening" |
| |
| 9.16% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.908 | | wordCount | 1048 | | matches | | 0 | "No hand touched these but" | | 1 | "not sun-warm, but warm like skin, like something breathing slow" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 60 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 31 | | mean | 33.81 | | std | 20.73 | | cv | 0.613 | | sampleLengths | | 0 | 47 | | 1 | 24 | | 2 | 91 | | 3 | 11 | | 4 | 29 | | 5 | 57 | | 6 | 54 | | 7 | 11 | | 8 | 10 | | 9 | 38 | | 10 | 56 | | 11 | 13 | | 12 | 57 | | 13 | 25 | | 14 | 15 | | 15 | 36 | | 16 | 43 | | 17 | 3 | | 18 | 42 | | 19 | 42 | | 20 | 58 | | 21 | 8 | | 22 | 3 | | 23 | 41 | | 24 | 60 | | 25 | 27 | | 26 | 44 | | 27 | 32 | | 28 | 5 | | 29 | 43 | | 30 | 23 |
| |
| 97.64% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 46 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 142 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 1 | | flaggedSentences | 10 | | totalSentences | 60 | | ratio | 0.167 | | matches | | 0 | "The standing stones marked the edge of the world Rory knew, and she felt the change the moment she stepped past them—a pressure behind her ears, like diving too deep in a swimming pool, followed by a release that left her ears ringing in the sudden quiet." | | 1 | "Wildflowers she didn't recognize—blooms of deep violet with centers that seemed to pulse faintly, like slow heartbeats—grew in tangled profusion between roots so massive they might have been the bones of some buried giant." | | 2 | "The Heartstone Pendant lay cool against her collarbone—cool, not warm, which meant no portal nearby, which meant she could almost relax." | | 3 | "The path—if it was a path, if anything here followed rules she understood—curved between trees whose leaves chimed faintly when the wind touched them, a sound like wet fingers on crystal glasses." | | 4 | "Then the air near the pool folded—that was the only word Rory's mind could offer, folded, like paper creasing along an invisible line—and Isolde stood there, silver hair pooling around her feet, pale lavender eyes finding Rory's without any of the searching a normal gaze would need." | | 5 | "She led them along the pool's edge, and Rory saw now that the stillness of the water was a lie—beneath the surface, shapes moved, slow and vast, shadows of things too large for a pool of that size to contain." | | 6 | "\"Some of it mine. Some of it older than the grove itself. The water does not distinguish; it simply keeps what it is given.\" She did not slow her pace, so Rory forced her feet to follow, throat tight." | | 7 | "It was warm—not sun-warm, but warm like skin, like something breathing slow and patient beneath the surface." | | 8 | "In its center grew a single tree unlike the others—black-barked, its leaves the deep crimson of the Heartstone at Rory's throat, and as she stepped closer the pendant flared warm against her skin for the first time since they'd entered the grove." | | 9 | "Rory looked up into the crimson canopy, and for one dizzying moment she thought she saw, tangled in the leaves, the faint golden shimmer of amber sky—another world's light, trapped here, waiting." |
| |
| 89.84% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 782 | | adjectiveStacks | 1 | | stackExamples | | | adverbCount | 35 | | adverbRatio | 0.04475703324808184 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.010230179028132993 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 60 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 60 | | mean | 17.47 | | std | 13.32 | | cv | 0.763 | | sampleLengths | | 0 | 47 | | 1 | 16 | | 2 | 8 | | 3 | 24 | | 4 | 33 | | 5 | 34 | | 6 | 11 | | 7 | 23 | | 8 | 6 | | 9 | 21 | | 10 | 1 | | 11 | 35 | | 12 | 3 | | 13 | 32 | | 14 | 19 | | 15 | 7 | | 16 | 4 | | 17 | 3 | | 18 | 7 | | 19 | 5 | | 20 | 33 | | 21 | 27 | | 22 | 29 | | 23 | 8 | | 24 | 5 | | 25 | 10 | | 26 | 47 | | 27 | 10 | | 28 | 5 | | 29 | 10 | | 30 | 6 | | 31 | 9 | | 32 | 11 | | 33 | 25 | | 34 | 40 | | 35 | 3 | | 36 | 3 | | 37 | 3 | | 38 | 39 | | 39 | 42 | | 40 | 14 | | 41 | 17 | | 42 | 27 | | 43 | 5 | | 44 | 3 | | 45 | 3 | | 46 | 15 | | 47 | 26 | | 48 | 18 | | 49 | 42 |
| |
| 85.00% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.55 | | totalSentences | 60 | | uniqueOpeners | 33 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 35 | | matches | | 0 | "Then the air near the" | | 1 | "Somewhere behind them, the pool" |
| | ratio | 0.057 | |
| 71.43% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 13 | | totalSentences | 35 | | matches | | 0 | "she said, and hated how" | | 1 | "She kept one hand near" | | 2 | "They moved deeper." | | 3 | "She didn't like that answer." | | 4 | "She liked it less when" | | 5 | "It wasn't quite a greeting." | | 6 | "She led them along the" | | 7 | "She stopped walking." | | 8 | "She did not slow her" | | 9 | "They passed beneath an archway" | | 10 | "It was warm—not sun-warm, but" | | 11 | "She drew her hand back" | | 12 | "They came, at last, to" |
| | ratio | 0.371 | |
| 60.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 28 | | totalSentences | 35 | | matches | | 0 | "The standing stones marked the" | | 1 | "Nyx murmured beside her, their" | | 2 | "Here, the sky held no" | | 3 | "Wildflowers she didn't recognize—blooms of" | | 4 | "she said, and hated how" | | 5 | "Nyx's form rippled at the" | | 6 | "The Heartstone Pendant lay cool" | | 7 | "She kept one hand near" | | 8 | "They moved deeper." | | 9 | "The path—if it was a" | | 10 | "Rory found herself listening for" | | 11 | "She didn't like that answer." | | 12 | "She liked it less when" | | 13 | "The clearing opened without warning," | | 14 | "Nyx called, though the clearing" | | 15 | "It wasn't quite a greeting." | | 16 | "Isolde's mouth curved, not quite" | | 17 | "She led them along the" | | 18 | "She stopped walking." | | 19 | "She did not slow her" |
| | ratio | 0.8 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 35 | | matches | (empty) | | ratio | 0 | |
| 12.99% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 22 | | technicalSentenceCount | 4 | | matches | | 0 | "The standing stones marked the edge of the world Rory knew, and she felt the change the moment she stepped past them—a pressure behind her ears, like diving too…" | | 1 | "Wildflowers she didn't recognize—blooms of deep violet with centers that seemed to pulse faintly, like slow heartbeats—grew in tangled profusion between roots s…" | | 2 | "She kept one hand near the hilt of the Fae blade at her hip, its moonsilver cold even through the leather sheath, a small mercy in air that felt thick and warm …" | | 3 | "They came, at last, to a second clearing, smaller, ringed by wildflowers that leaned inward as if listening." |
| |
| 69.44% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 2 | | matches | | 0 | "Nyx called, though the clearing seemed empty" | | 1 | "Isolde's mouth curved, not quite a smile" |
| |
| 56.25% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 3 | | fancyTags | | 0 | "Nyx murmured (murmur)" | | 1 | "Rory admitted (admit)" | | 2 | "Isolde agreed (agree)" |
| | dialogueSentences | 32 | | tagDensity | 0.438 | | leniency | 0.875 | | rawRatio | 0.214 | | effectiveRatio | 0.188 | |