| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said softly [softly]" |
| | dialogueSentences | 26 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.077 | | effectiveRatio | 0.077 | |
| 87.83% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1233 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "quickly" | | 1 | "very" | | 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) | |
| 59.45% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1233 | | totalAiIsms | 10 | | found | | | highlights | | 0 | "whisper" | | 1 | "could feel" | | 2 | "warmth" | | 3 | "chill" | | 4 | "weight" | | 5 | "lurch" | | 6 | "flickered" |
| |
| 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 | 64 | | matches | (empty) | |
| 98.21% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 64 | | filterMatches | (empty) | | hedgeMatches | | 0 | "seemed to" | | 1 | "happened to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 76 | | 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 | 1245 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 35 | | wordCount | 1026 | | uniqueNames | 14 | | maxNameDensity | 0.78 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Nyx" | | discoveredNames | | Aurora | 8 | | Richmond | 1 | | Park | 1 | | Nyx | 7 | | Shade | 2 | | Eva | 6 | | Heartstone | 1 | | Hel | 1 | | November | 1 | | Cardiff | 2 | | August | 1 | | London | 1 | | Fae | 1 | | Isolde | 2 |
| | persons | | 0 | "Aurora" | | 1 | "Nyx" | | 2 | "Shade" | | 3 | "Eva" | | 4 | "Heartstone" | | 5 | "November" | | 6 | "August" | | 7 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Hel" | | 3 | "Cardiff" | | 4 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 45.83% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 48 | | glossingSentenceCount | 2 | | matches | | 0 | "not quite sound, more a pressure against the inside of her ear, a whisper that the wind happened to be carrying" | | 1 | "it was, as if it had been waiting for permission to be seen: a thread of paler grass winding between the flowers toward the centre of the grove, where the golden light pooled thickest" |
| |
| 39.36% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 2 | | per1kWords | 1.606 | | wordCount | 1245 | | matches | | 0 | "not in beds or clumps but woven through the whole clearing, foxgloves" | | 1 | "not yet, but a constant low note of unease, the body knowing something th" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 76 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 33 | | mean | 37.73 | | std | 32.95 | | cv | 0.873 | | sampleLengths | | 0 | 7 | | 1 | 51 | | 2 | 92 | | 3 | 15 | | 4 | 58 | | 5 | 4 | | 6 | 31 | | 7 | 54 | | 8 | 66 | | 9 | 19 | | 10 | 5 | | 11 | 68 | | 12 | 4 | | 13 | 115 | | 14 | 3 | | 15 | 93 | | 16 | 13 | | 17 | 54 | | 18 | 12 | | 19 | 2 | | 20 | 71 | | 21 | 15 | | 22 | 83 | | 23 | 9 | | 24 | 25 | | 25 | 4 | | 26 | 71 | | 27 | 7 | | 28 | 8 | | 29 | 89 | | 30 | 12 | | 31 | 44 | | 32 | 41 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 64 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 157 | | matches | | 0 | "was pushing" | | 1 | "were quietly erasing" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 12 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 76 | | ratio | 0.132 | | matches | | 0 | "They rose in a rough ring, seven of them, their trunks twisted into shapes that suggested the half-remembered postures of giants — a bowed head here, a curved back there, branches flung up like arms frozen mid-reach." | | 1 | "Their voice arrived the way it always did — not quite sound, more a pressure against the inside of her ear, a whisper that the wind happened to be carrying." | | 2 | "The pendant at her throat had gone quiet hours ago — the Heartstone only stirred near Hel, and this was something else, something older and stranger." | | 3 | "Not warmth, exactly — more the absence of the damp November chill that had been gnawing at her since they left the road." | | 4 | "Wildflowers grew everywhere — not in beds or clumps but woven through the whole clearing, foxgloves and cornflowers and small white star-shaped things she had no name for, all of them blooming at once though half of them belonged to different months entirely." | | 5 | "Instead there was birdsong, layered and continuous, more birds than she could possibly be hearing, and beneath it the trickle of water she couldn't see, and beneath that — she had to hold her breath to catch it — a sound like a single sustained note from a glass rim, so faint it might have been inside her own skull." | | 6 | "The Shade extended one long arm — solidifying as they did it, the smoke gathering itself into something almost like a hand — and pointed." | | 7 | "She glanced down once and saw that Nyx left no mark on the grass — but then neither, she realised with a lurch, did she." | | 8 | "She could feel the cold weight of the Fae blade in her jacket — Isolde's last gift, given the last time, faintly luminous now even in this directionless gold, as if it recognised the place that had made it and was glad, or afraid, to be home." | | 9 | "On the far side of the pool, where the light bent strangely, a figure stood among the foxgloves — silver hair to the waist, pale eyes the colour of the cornflowers, leaving no shadow and no footprint in the impossible summer grass." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1019 | | adjectiveStacks | 1 | | stackExamples | | 0 | "small white star-shaped things" |
| | adverbCount | 39 | | adverbRatio | 0.038272816486751716 | | lyAdverbCount | 12 | | lyAdverbRatio | 0.011776251226692836 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 76 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 76 | | mean | 16.38 | | std | 13.47 | | cv | 0.822 | | sampleLengths | | 0 | 7 | | 1 | 45 | | 2 | 6 | | 3 | 6 | | 4 | 12 | | 5 | 10 | | 6 | 37 | | 7 | 27 | | 8 | 15 | | 9 | 28 | | 10 | 30 | | 11 | 4 | | 12 | 19 | | 13 | 12 | | 14 | 14 | | 15 | 20 | | 16 | 4 | | 17 | 16 | | 18 | 11 | | 19 | 26 | | 20 | 14 | | 21 | 15 | | 22 | 19 | | 23 | 5 | | 24 | 9 | | 25 | 23 | | 26 | 36 | | 27 | 4 | | 28 | 22 | | 29 | 17 | | 30 | 43 | | 31 | 7 | | 32 | 26 | | 33 | 3 | | 34 | 2 | | 35 | 5 | | 36 | 26 | | 37 | 60 | | 38 | 8 | | 39 | 3 | | 40 | 2 | | 41 | 2 | | 42 | 19 | | 43 | 8 | | 44 | 25 | | 45 | 4 | | 46 | 8 | | 47 | 2 | | 48 | 25 | | 49 | 36 |
| |
| 78.07% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 4 | | diversityRatio | 0.5 | | totalSentences | 76 | | uniqueOpeners | 38 | |
| 61.73% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 54 | | matches | | 0 | "Instead there was birdsong, layered" |
| | ratio | 0.019 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 54 | | matches | | 0 | "She had seen old trees" | | 1 | "They rose in a rough" | | 2 | "Their voice arrived the way" | | 3 | "She could feel the difference" | | 4 | "She heard Eva's small intake" | | 5 | "It was summer here." | | 6 | "It simply was, golden and" | | 7 | "She set her foot on" | | 8 | "It wasn't fear, not yet," | | 9 | "She glanced down once and" | | 10 | "Her wet trainers should have" | | 11 | "They came to the heart" | | 12 | "She could feel the cold" | | 13 | "she said softly" |
| | ratio | 0.259 | |
| 98.89% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 39 | | totalSentences | 54 | | matches | | 0 | "The standing stones came out" | | 1 | "She had seen old trees" | | 2 | "Cardiff had its share, gnarled" | | 3 | "They rose in a rough" | | 4 | "The bark had gone silver-grey" | | 5 | "The Shade stood just behind" | | 6 | "Their voice arrived the way" | | 7 | "The violet points of their" | | 8 | "Eva crowded up between them," | | 9 | "The screen showed nothing but" | | 10 | "Aurora's voice came out steadier" | | 11 | "The pendant at her throat" | | 12 | "She could feel the difference" | | 13 | "Eva said, but she didn't" | | 14 | "Aurora stepped across the line." | | 15 | "The cold went out of" | | 16 | "She heard Eva's small intake" | | 17 | "It was summer here." | | 18 | "That was the first impossible" | | 19 | "The grass underfoot was thick" |
| | ratio | 0.722 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 54 | | matches | (empty) | | ratio | 0 | |
| 53.57% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 32 | | technicalSentenceCount | 4 | | matches | | 0 | "One moment Aurora was pushing through the wet bracken of Richmond Park, her trainers soaked through and the late afternoon light going flat and grey behind the …" | | 1 | "They rose in a rough ring, seven of them, their trunks twisted into shapes that suggested the half-remembered postures of giants — a bowed head here, a curved b…" | | 2 | "And there it was, as if it had been waiting for permission to be seen: a thread of paler grass winding between the flowers toward the centre of the grove, where…" | | 3 | "She could feel the cold weight of the Fae blade in her jacket — Isolde's last gift, given the last time, faintly luminous now even in this directionless gold, a…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 73.08% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 2 | | fancyTags | | 0 | "Nyx murmured (murmur)" | | 1 | "she whispered (whisper)" |
| | dialogueSentences | 26 | | tagDensity | 0.423 | | leniency | 0.846 | | rawRatio | 0.182 | | effectiveRatio | 0.154 | |