| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 22 | | tagDensity | 0.409 | | leniency | 0.818 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 84.86% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1321 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "very" | | 1 | "carefully" | | 2 | "softly" |
| |
| 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) | |
| 50.79% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1321 | | totalAiIsms | 13 | | found | | | highlights | | 0 | "silence" | | 1 | "wavering" | | 2 | "whisper" | | 3 | "flicked" | | 4 | "unreadable" | | 5 | "pulse" | | 6 | "warmth" | | 7 | "comforting" |
| |
| 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 | 79 | | matches | (empty) | |
| 70.52% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 3 | | narrationSentences | 79 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 89 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 54 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1337 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 92.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 34 | | wordCount | 1221 | | uniqueNames | 12 | | maxNameDensity | 1.15 | | worstName | "Rory" | | maxWindowNameDensity | 2 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 14 | | February | 1 | | London | 2 | | Nyx | 5 | | June | 1 | | Eva | 5 | | Heartstone | 1 | | Grove | 1 | | Richmond | 1 | | Park | 1 | | English | 1 | | Fae | 1 |
| | persons | | 0 | "Rory" | | 1 | "Nyx" | | 2 | "Eva" | | 3 | "Grove" |
| | places | | 0 | "London" | | 1 | "Richmond" | | 2 | "Park" |
| | globalScore | 0.927 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 54 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1337 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 89 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 34 | | mean | 39.32 | | std | 33.43 | | cv | 0.85 | | sampleLengths | | 0 | 30 | | 1 | 80 | | 2 | 10 | | 3 | 2 | | 4 | 97 | | 5 | 52 | | 6 | 44 | | 7 | 16 | | 8 | 4 | | 9 | 3 | | 10 | 36 | | 11 | 9 | | 12 | 8 | | 13 | 102 | | 14 | 6 | | 15 | 95 | | 16 | 72 | | 17 | 10 | | 18 | 2 | | 19 | 94 | | 20 | 77 | | 21 | 8 | | 22 | 43 | | 23 | 33 | | 24 | 8 | | 25 | 11 | | 26 | 77 | | 27 | 3 | | 28 | 97 | | 29 | 48 | | 30 | 29 | | 31 | 50 | | 32 | 55 | | 33 | 26 |
| |
| 78.61% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 6 | | totalSentences | 79 | | matches | | 0 | "was gone" | | 1 | "is gone" | | 2 | "was swallowed" | | 3 | "being unlocked" | | 4 | "been made" | | 5 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 188 | | matches | | 0 | "was standing" | | 1 | "were blooming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 16 | | semicolonCount | 0 | | flaggedSentences | 12 | | totalSentences | 89 | | ratio | 0.135 | | matches | | 0 | "Not faded — gone, the way a candle is gone when you pinch the wick." | | 1 | "\"The Veil is thin here. Thinner than I have felt it in three hundred years.\" They lifted a hand — a limb of smoke and shadow — and the wildflowers at their feet bent toward it, petals trembling." | | 2 | "Then they smiled — or the shape of a smile moved through the darkness where their face should have been — and said nothing more." | | 3 | "Every blade of grass, every leaf, every open petal held a rim of frost so fine it glittered — and yet none of the blossoms had withered." | | 4 | "It lay cool against her palm at first — and then it gave a single slow pulse of heat, like a heartbeat answering a heartbeat, and she felt the warmth travel up her wrist, past the small crescent of scar, and settle somewhere behind her ribs." | | 5 | "There was no path a moment ago, but now there was, unmistakably — a lane of soft moss between the oaks, edging deeper into the trees." | | 6 | "The oaks of Richmond Park — ordinary, English, heavy with the last of their dead leaves — thinned out and gave way to something older." | | 7 | "It smelled of rain and honey and something underneath that had no comparison — green and mineral and cold, like the water in a deep well." | | 8 | "Not slow — stopped, pinned to a minute somewhere around ten past six, the second hand jammed against its own shadow." | | 9 | "They stepped out into a clearing that should not have existed within the bounds of any London park — a wide bowl of grass ringed by eight standing stones, each one taller than Nyx, each one carved with spirals so worn that the pattern seemed to move when she looked directly at it." | | 10 | "Rory's hand moved to the hilt of the Fae blade at her hip, cold as always through the leather, and the fox tilted its head — patient, amused, unafraid." | | 11 | "The white fox stood, and flowed upward, and became — for the space of a single breath, longer than a breath — a tall silver-haired figure with no shoes and no footprints behind her, standing at the center of a clearing that did not belong to the world Rory had woken up in that morning." |
| |
| 93.60% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1211 | | adjectiveStacks | 1 | | stackExamples | | 0 | "tall silver-haired figure" |
| | adverbCount | 49 | | adverbRatio | 0.04046242774566474 | | lyAdverbCount | 13 | | lyAdverbRatio | 0.010734929810074319 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 89 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 89 | | mean | 15.02 | | std | 12.39 | | cv | 0.824 | | sampleLengths | | 0 | 30 | | 1 | 32 | | 2 | 6 | | 3 | 15 | | 4 | 12 | | 5 | 4 | | 6 | 11 | | 7 | 6 | | 8 | 4 | | 9 | 2 | | 10 | 6 | | 11 | 10 | | 12 | 5 | | 13 | 27 | | 14 | 11 | | 15 | 18 | | 16 | 20 | | 17 | 26 | | 18 | 7 | | 19 | 19 | | 20 | 38 | | 21 | 6 | | 22 | 5 | | 23 | 11 | | 24 | 4 | | 25 | 3 | | 26 | 11 | | 27 | 25 | | 28 | 9 | | 29 | 4 | | 30 | 4 | | 31 | 2 | | 32 | 34 | | 33 | 10 | | 34 | 4 | | 35 | 27 | | 36 | 25 | | 37 | 6 | | 38 | 15 | | 39 | 46 | | 40 | 8 | | 41 | 16 | | 42 | 10 | | 43 | 4 | | 44 | 26 | | 45 | 27 | | 46 | 15 | | 47 | 4 | | 48 | 6 | | 49 | 2 |
| |
| 60.67% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.4044943820224719 | | totalSentences | 89 | | uniqueOpeners | 36 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 70 | | matches | | 0 | "Somewhere, very far away, a" | | 1 | "Then they smiled — or" | | 2 | "Then the figure was gone," |
| | ratio | 0.043 | |
| 82.86% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 24 | | totalSentences | 70 | | matches | | 0 | "It had a texture." | | 1 | "It sat against the inside" | | 2 | "She was certain of it." | | 3 | "They had not spoken since" | | 4 | "They lifted a hand —" | | 5 | "she said, carefully" | | 6 | "It was the frost." | | 7 | "They were blooming and frozen" | | 8 | "It lay cool against her" | | 9 | "She pulled the chain out" | | 10 | "It simply existed, a small" | | 11 | "She suspected the second, and" | | 12 | "Their bark was pale and" | | 13 | "It smelled of rain and" | | 14 | "She could not make out" | | 15 | "She could only hear them," | | 16 | "She had been walking into" | | 17 | "It was the feeling of" | | 18 | "They stepped out into a" | | 19 | "It was not a fox." |
| | ratio | 0.343 | |
| 81.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 53 | | totalSentences | 70 | | matches | | 0 | "The oaks came together like" | | 1 | "The next, the hum was" | | 2 | "The silence that replaced it" | | 3 | "It had a texture." | | 4 | "It sat against the inside" | | 5 | "Eva's voice came out small" | | 6 | "Rory turned in a slow" | | 7 | "The standing oaks were still" | | 8 | "She was certain of it." | | 9 | "Nyx stood a little apart" | | 10 | "They had not spoken since" | | 11 | "They lifted a hand —" | | 12 | "The faint violet glow of" | | 13 | "Eva had gone very still," | | 14 | "she said, carefully" | | 15 | "Wildflowers spilled around their feet" | | 16 | "It was the frost." | | 17 | "Every blade of grass, every" | | 18 | "They were blooming and frozen" | | 19 | "Rory reached into her coat" |
| | ratio | 0.757 | |
| 71.43% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 70 | | matches | | | ratio | 0.014 | |
| 93.02% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 43 | | technicalSentenceCount | 3 | | matches | | 0 | "Wildflowers spilled around their feet in every direction, bluebells and wood anemones and something star-shaped and gold she had no name for, all of them bloomi…" | | 1 | "They were blooming and frozen at the same time, holding both seasons in each trembling stem, and the wind that moved through them was warm." | | 2 | "It came from everywhere at once, from the stones, from the flowers, from the air inside Rory's own skull, a woman's voice that was calm and clear and entirely u…" |
| |
| 13.89% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 2 | | matches | | 0 | "They lifted, petals trembling" | | 1 | "she said, carefully" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | 0 | "Eva whispered (whisper)" |
| | dialogueSentences | 22 | | tagDensity | 0.273 | | leniency | 0.545 | | rawRatio | 0.167 | | effectiveRatio | 0.091 | |