| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 16 | | adverbTagCount | 1 | | adverbTags | | 0 | "Isolde said mildly [mildly]" |
| | dialogueSentences | 24 | | tagDensity | 0.667 | | leniency | 1 | | rawRatio | 0.063 | | effectiveRatio | 0.063 | |
| 96.85% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1586 | | 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) | |
| 21.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1586 | | totalAiIsms | 25 | | found | | | highlights | | 0 | "could feel" | | 1 | "throb" | | 2 | "pulse" | | 3 | "warmth" | | 4 | "perfect" | | 5 | "flickered" | | 6 | "shimmered" | | 7 | "pulsed" | | 8 | "resolving" | | 9 | "whisper" | | 10 | "silk" | | 11 | "chill" | | 12 | "wavered" | | 13 | "silence" | | 14 | "vibrated" | | 15 | "sense of" |
| |
| 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 | 51 | | matches | (empty) | |
| 2.80% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 5 | | narrationSentences | 51 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 56 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 109 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1592 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 76.14% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 66 | | wordCount | 1354 | | uniqueNames | 18 | | maxNameDensity | 1.48 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Park | 1 | | December | 2 | | Isolde | 14 | | Aurora | 20 | | Nyx | 11 | | Evan | 2 | | Richmond | 2 | | Fae-Forged | 1 | | Blade | 1 | | Ask | 1 | | Unease | 1 | | Hel | 2 | | Veil | 1 | | Earth | 1 | | Fae | 3 | | Realms | 1 | | Wardens | 1 | | Cardiff | 1 |
| | persons | | 0 | "Isolde" | | 1 | "Aurora" | | 2 | "Nyx" | | 3 | "Evan" | | 4 | "Unease" | | 5 | "Wardens" |
| | places | | 0 | "Park" | | 1 | "December" | | 2 | "Richmond" | | 3 | "Cardiff" |
| | globalScore | 0.761 | | windowScore | 0.833 | |
| 28.05% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 41 | | glossingSentenceCount | 2 | | matches | | 0 | "silhouette that seemed to drink light rather than reflect it" | | 1 | "as if listening" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.628 | | wordCount | 1592 | | matches | | 0 | "not a voice, but a pressure, a low note" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 56 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 37.9 | | std | 28.29 | | cv | 0.746 | | sampleLengths | | 0 | 62 | | 1 | 10 | | 2 | 85 | | 3 | 58 | | 4 | 15 | | 5 | 50 | | 6 | 60 | | 7 | 13 | | 8 | 77 | | 9 | 12 | | 10 | 89 | | 11 | 10 | | 12 | 27 | | 13 | 34 | | 14 | 3 | | 15 | 109 | | 16 | 46 | | 17 | 47 | | 18 | 3 | | 19 | 1 | | 20 | 12 | | 21 | 96 | | 22 | 38 | | 23 | 28 | | 24 | 40 | | 25 | 33 | | 26 | 55 | | 27 | 17 | | 28 | 58 | | 29 | 10 | | 30 | 7 | | 31 | 26 | | 32 | 74 | | 33 | 23 | | 34 | 29 | | 35 | 20 | | 36 | 78 | | 37 | 7 | | 38 | 45 | | 39 | 9 | | 40 | 55 | | 41 | 21 |
| |
| 50.22% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 8 | | totalSentences | 51 | | matches | | 0 | "been held" | | 1 | "being unstepped" | | 2 | "been closed" | | 3 | "was gone" | | 4 | "being filtered" | | 5 | "was covered" | | 6 | "was left" | | 7 | "is offered" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 209 | | matches | | 0 | "was like stepping" | | 1 | "were breathing" | | 2 | "was already moving" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 4 | | semicolonCount | 0 | | flaggedSentences | 4 | | totalSentences | 56 | | ratio | 0.071 | | matches | | 0 | "Aurora glanced back. Nyx’s outline flickered at the edges, as if they might slip out of the world entirely. She had met them three weeks ago, when the pendant first began to warm during her deliveries and she had gone looking for answers in the way she always did — by asking the wrong person until the right one answered. Nyx had been waiting in the service entrance of the restaurant, smelling of rain and old paper." | | 1 | "Aurora crossed the threshold. The change was not sudden. It was like stepping into water. The cold that had been waiting at her ankles fell away. The air grew soft and scented with things that should not bloom in December — honeysuckle, damp moss, the clean iron smell after a storm. Light pooled in the clearing without a source. Wildflowers bloomed year-round here, Isolde had said once, and now Aurora saw it. A carpet of blossoms in impossible colour, low and dense, ringing the clearing like a living border. She knelt instinctively, brushed a finger against a white star that should have been closed for winter. It was warm." | | 2 | "Aurora saw it then — a faint shimmering distortion at the base of the arch, like heat rising off summer tarmac but cold to the eye. It wavered between the roots. The pendant flared warm against her chest, a distinct pulse, and the crimson gem caught the strange light and threw it back in a thin red glow." | | 3 | "The silence that followed was deeper than before. Even Nyx was still. Then, from between the roots, a sound came — not a voice, but a pressure, a low note that vibrated in Aurora’s teeth. The Veil, the barrier between Earth and Hel and the Fae Realms, was a metaphysical line, Nyx had explained, monitored by Wardens, thinning at winter solstice. She could feel it now, the way the air pulled at her skin." |
| |
| 94.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1227 | | adjectiveStacks | 1 | | stackExamples | | 0 | "slender leaf-shaped dagger" |
| | adverbCount | 40 | | adverbRatio | 0.032599837000814993 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.007334963325183374 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 56 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 56 | | mean | 28.43 | | std | 25.98 | | cv | 0.914 | | sampleLengths | | 0 | 9 | | 1 | 38 | | 2 | 15 | | 3 | 10 | | 4 | 20 | | 5 | 28 | | 6 | 35 | | 7 | 2 | | 8 | 6 | | 9 | 19 | | 10 | 33 | | 11 | 15 | | 12 | 16 | | 13 | 34 | | 14 | 60 | | 15 | 5 | | 16 | 8 | | 17 | 77 | | 18 | 12 | | 19 | 89 | | 20 | 10 | | 21 | 27 | | 22 | 34 | | 23 | 3 | | 24 | 109 | | 25 | 46 | | 26 | 47 | | 27 | 3 | | 28 | 1 | | 29 | 2 | | 30 | 10 | | 31 | 96 | | 32 | 38 | | 33 | 20 | | 34 | 8 | | 35 | 40 | | 36 | 33 | | 37 | 55 | | 38 | 17 | | 39 | 58 | | 40 | 10 | | 41 | 7 | | 42 | 26 | | 43 | 74 | | 44 | 23 | | 45 | 18 | | 46 | 5 | | 47 | 6 | | 48 | 16 | | 49 | 4 |
| |
| 70.83% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.44642857142857145 | | totalSentences | 56 | | uniqueOpeners | 25 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 46 | | matches | (empty) | | ratio | 0 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 8 | | totalSentences | 46 | | matches | | 0 | "It had been warm since" | | 1 | "She could feel it through" | | 2 | "Her silver hair caught what" | | 3 | "It always is, but tonight" | | 4 | "She had not told Nyx" | | 5 | "Her pulse kicked." | | 6 | "He became this" | | 7 | "She took a step closer," |
| | ratio | 0.174 | |
| 0.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 43 | | totalSentences | 46 | | matches | | 0 | "The park was dark before" | | 1 | "Richmond Park at dusk in" | | 2 | "Aurora pulled her coat tighter" | | 3 | "It had been warm since" | | 4 | "She could feel it through" | | 5 | "The deep crimson stone was" | | 6 | "The chain had appeared in" | | 7 | "Isolde walked ahead without making" | | 8 | "Her silver hair caught what" | | 9 | "Aurora asked. Her voice sounded" | | 10 | "Isolde turned her pale lavender" | | 11 | "The stones were always" | | 12 | "Nyx stood just behind Aurora’s" | | 13 | "It always is, but tonight" | | 14 | "Aurora glanced back. Nyx’s outline" | | 15 | "She had not told Nyx" | | 16 | "The standing stones rose out" | | 17 | "Aurora obeyed because the cool-headed" | | 18 | "Isolde stepped first. She left" | | 19 | "Aurora crossed the threshold. The" |
| | ratio | 0.935 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 46 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 25 | | technicalSentenceCount | 11 | | matches | | 0 | "Richmond Park at dusk in December should have been bare branches and frozen mud, but the air over the old oak copse felt thick, as if the cold had been held at …" | | 1 | "Nyx stood just behind Aurora’s left shoulder, half in the shadow of a bench. In solid form they were taller than Aurora by a good six inches, a humanoid silhoue…" | | 2 | "Aurora glanced back. Nyx’s outline flickered at the edges, as if they might slip out of the world entirely. She had met them three weeks ago, when the pendant f…" | | 3 | "Aurora obeyed because the cool-headed part of her that had kept her alive after Evan insisted on data first. The pendant pulsed once, warm against her skin." | | 4 | "Isolde stepped first. She left no footprints. Aurora watched the grass spring back immediately behind her, as if it remembered being unstepped on. The half-fae’…" | | 5 | "Aurora crossed the threshold. The change was not sudden. It was like stepping into water. The cold that had been waiting at her ankles fell away. The air grew s…" | | 6 | "The sound changed, too. The distant traffic of Richmond was gone. In its place was a low hum, like bees in a wall, and a faint rustle as if the trees were breat…" | | 7 | "Isolde was already moving deeper into the grove, where the trees grew closer and the light grew softer, as though the world were being filtered through silk. Au…" | | 8 | "The clearing opened into a narrow path lined with standing stones. Each stone was covered in carvings worn smooth by time, spirals and half-moons and shapes tha…" | | 9 | "The silence that followed was deeper than before. Even Nyx was still. Then, from between the roots, a sound came — not a voice, but a pressure, a low note that …" | | 10 | "Aurora did. Wonder and unease braided together, the sense of standing on a threshold where the world was both more beautiful and more dangerous than she had eve…" |
| |
| 75.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 10 | | uselessAdditionCount | 1 | | matches | | 0 | "Isolde said, not looking back" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 24 | | tagDensity | 0.25 | | leniency | 0.5 | | rawRatio | 0 | | effectiveRatio | 0 | |