| 51.85% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 13 | | adverbTagCount | 2 | | adverbTags | | 0 | "Nyx said quietly [quietly]" | | 1 | "Isolde turned back [back]" |
| | dialogueSentences | 27 | | tagDensity | 0.481 | | leniency | 0.963 | | rawRatio | 0.154 | | effectiveRatio | 0.148 | |
| 82.47% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1141 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "very" | | 1 | "perfectly" | | 2 | "slightly" |
| |
| 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) | |
| 78.09% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1141 | | totalAiIsms | 5 | | found | | | highlights | | 0 | "could feel" | | 1 | "pulse" | | 2 | "furrowed" | | 3 | "warmth" | | 4 | "weight" |
| |
| 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 | 76 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 76 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 90 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 65 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1152 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 8 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 39 | | wordCount | 961 | | uniqueNames | 13 | | maxNameDensity | 1.04 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 10 | | Richmond | 3 | | Park | 3 | | Kew | 1 | | Isabella | 2 | | Plantation | 2 | | Heartstone | 1 | | Hel | 1 | | May | 1 | | January | 2 | | Varga | 1 | | Isolde | 5 | | Nyx | 7 |
| | persons | | 0 | "Aurora" | | 1 | "January" | | 2 | "Isolde" | | 3 | "Nyx" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Kew" | | 3 | "Isabella" | | 4 | "Plantation" | | 5 | "Hel" |
| | globalScore | 0.98 | | windowScore | 0.833 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 56 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1152 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 90 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 42 | | mean | 27.43 | | std | 28.62 | | cv | 1.044 | | sampleLengths | | 0 | 15 | | 1 | 73 | | 2 | 29 | | 3 | 10 | | 4 | 5 | | 5 | 59 | | 6 | 12 | | 7 | 4 | | 8 | 45 | | 9 | 46 | | 10 | 7 | | 11 | 1 | | 12 | 13 | | 13 | 59 | | 14 | 8 | | 15 | 99 | | 16 | 6 | | 17 | 7 | | 18 | 7 | | 19 | 57 | | 20 | 3 | | 21 | 77 | | 22 | 6 | | 23 | 27 | | 24 | 5 | | 25 | 4 | | 26 | 41 | | 27 | 6 | | 28 | 43 | | 29 | 39 | | 30 | 2 | | 31 | 9 | | 32 | 92 | | 33 | 12 | | 34 | 6 | | 35 | 33 | | 36 | 7 | | 37 | 37 | | 38 | 3 | | 39 | 105 | | 40 | 9 | | 41 | 24 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 76 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 165 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 11 | | semicolonCount | 0 | | flaggedSentences | 11 | | totalSentences | 90 | | ratio | 0.122 | | matches | | 0 | "Around her, the park stretched like a held breath — still, moonlit, the old oaks throwing long shadows across the frosted grass." | | 1 | "Nyx moved alongside her — or moved was perhaps too generous a word." | | 2 | "A change in pressure, almost — the way the air before a storm thickens and pulls." | | 3 | "Then she saw the next one, and the next — eight of them in a loose, uneven ring, each canted at a different angle as though the ground had shifted beneath them over centuries." | | 4 | "It became less hostile — the cold of a cellar rather than a street." | | 5 | "Richmond Park didn't have clearings like this — the space was too large, too perfectly round, the tree line too complete." | | 6 | "The moment they crossed, their form solidified slightly — became more present somehow, their edges sharper against the diffused light of the clearing." | | 7 | "A sound reached her — low and continuous, like water over smooth stone, except there was no water, no stream anywhere visible." | | 8 | "Isolde Varga was exactly what the man in the pub had failed to adequately describe — silver hair that reached her waist, pale lavender eyes that caught the moonlight and gave it back different, a face entirely without age in the way that had nothing to do with youth and everything to do with time not having touched her the same way it touched other things." | | 9 | "\"The wolf who walks to the river has questions about its thirst. That does not mean the river will quench it.\" Her eyes dropped to where the pendant sat beneath Aurora's coat, hidden from view — and yet Isolde looked at it with the particular focus of someone watching something move." | | 10 | "At the far edge of the clearing, something shifted in the tree line — a slow, vast movement, like something enormous turning its attention." |
| |
| 93.68% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 953 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 45 | | adverbRatio | 0.0472193074501574 | | lyAdverbCount | 16 | | lyAdverbRatio | 0.016789087093389297 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 90 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 90 | | mean | 12.8 | | std | 10.67 | | cv | 0.834 | | sampleLengths | | 0 | 15 | | 1 | 21 | | 2 | 6 | | 3 | 22 | | 4 | 24 | | 5 | 16 | | 6 | 8 | | 7 | 5 | | 8 | 10 | | 9 | 5 | | 10 | 12 | | 11 | 6 | | 12 | 25 | | 13 | 13 | | 14 | 3 | | 15 | 12 | | 16 | 4 | | 17 | 11 | | 18 | 21 | | 19 | 6 | | 20 | 7 | | 21 | 13 | | 22 | 2 | | 23 | 31 | | 24 | 7 | | 25 | 1 | | 26 | 13 | | 27 | 2 | | 28 | 11 | | 29 | 16 | | 30 | 16 | | 31 | 10 | | 32 | 2 | | 33 | 2 | | 34 | 8 | | 35 | 8 | | 36 | 5 | | 37 | 30 | | 38 | 34 | | 39 | 22 | | 40 | 4 | | 41 | 2 | | 42 | 7 | | 43 | 7 | | 44 | 10 | | 45 | 14 | | 46 | 33 | | 47 | 2 | | 48 | 1 | | 49 | 16 |
| |
| 61.11% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 5 | | diversityRatio | 0.4 | | totalSentences | 90 | | uniqueOpeners | 36 | |
| 47.62% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 70 | | matches | | | ratio | 0.014 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 21 | | totalSentences | 70 | | matches | | 0 | "She held it up anyway," | | 1 | "She didn't like that answer," | | 2 | "She'd been told that much" | | 3 | "She'd spent two weeks telling" | | 4 | "She moved along the perimeter" | | 5 | "Her boots soaked through at" | | 6 | "Their silhouette kept pace without" | | 7 | "She could feel it too," | | 8 | "She pressed her fingers to" | | 9 | "She'd expected carved monoliths, something" | | 10 | "It became less hostile —" | | 11 | "Their eyes cut toward her" | | 12 | "They stepped through" | | 13 | "They looked down at their" | | 14 | "they said, mostly to themselves" | | 15 | "It came from the air" | | 16 | "She stood still and listened." | | 17 | "She wore a long coat" | | 18 | "Her feet, Aurora noticed, left" | | 19 | "She tilted her head, and" |
| | ratio | 0.3 | |
| 24.29% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 61 | | totalSentences | 70 | | matches | | 0 | "The map on Aurora's phone" | | 1 | "She held it up anyway," | | 2 | "The GPS circle spun and" | | 3 | "January had stripped everything back" | | 4 | "Nyx's voice came from somewhere" | | 5 | "Aurora pocketed the phone" | | 6 | "She didn't like that answer," | | 7 | "Isolde's grove wasn't on any" | | 8 | "She'd been told that much" | | 9 | "The grove was in Richmond" | | 10 | "She'd spent two weeks telling" | | 11 | "The Isabella Plantation sat dark" | | 12 | "She moved along the perimeter" | | 13 | "The grass here was longer," | | 14 | "Her boots soaked through at" | | 15 | "Nyx moved alongside her —" | | 16 | "Their silhouette kept pace without" | | 17 | "She could feel it too," | | 18 | "A change in pressure, almost" | | 19 | "She pressed her fingers to" |
| | ratio | 0.871 | |
| 71.43% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 70 | | matches | | | ratio | 0.014 | |
| 23.81% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 36 | | technicalSentenceCount | 6 | | matches | | 0 | "Then she saw the next one, and the next — eight of them in a loose, uneven ring, each canted at a different angle as though the ground had shifted beneath them …" | | 1 | "The lichen on the stones nearest her was vivid green despite the frost, and when she crouched to look, tiny white flowers threaded through it, open and blooming…" | | 2 | "The grove opened up beyond the standing stones in a way that made no geographic sense." | | 3 | "The grass was ankle-deep and soft, silvered by moonlight, spotted with flowers that had no business existing in January." | | 4 | "They looked down at their own hands with something resembling surprise, flexing fingers that trailed wisps of shadow." | | 5 | "Isolde Varga was exactly what the man in the pub had failed to adequately describe — silver hair that reached her waist, pale lavender eyes that caught the moon…" |
| |
| 86.54% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 13 | | uselessAdditionCount | 1 | | matches | | 0 | "they said, mostly to themselves" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 27 | | tagDensity | 0.111 | | leniency | 0.222 | | rawRatio | 0 | | effectiveRatio | 0 | |