| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 1 | | adverbTags | | 0 | "The notes wrapped around [around]" |
| | dialogueSentences | 34 | | tagDensity | 0.529 | | leniency | 1 | | rawRatio | 0.056 | | effectiveRatio | 0.056 | |
| 94.34% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1767 | | totalAiIsmAdverbs | 2 | | 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) | |
| 37.75% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1767 | | totalAiIsms | 22 | | found | | 0 | | | 1 | | | 2 | | | 3 | | | 4 | | | 5 | | | 6 | | | 7 | | | 8 | | | 9 | | | 10 | | | 11 | | | 12 | | word | "down her spine" | | count | 1 |
| | 13 | | | 14 | | | 15 | | | 16 | | | 17 | |
| | highlights | | 0 | "pulse" | | 1 | "flickered" | | 2 | "gloom" | | 3 | "silk" | | 4 | "perfect" | | 5 | "shimmered" | | 6 | "scanning" | | 7 | "weight" | | 8 | "whisper" | | 9 | "etched" | | 10 | "crystal" | | 11 | "unreadable" | | 12 | "down her spine" | | 13 | "stomach" | | 14 | "throbbed" | | 15 | "beacon" | | 16 | "charged" | | 17 | "determined" |
| |
| 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 | 1 | | narrationSentences | 115 | | matches | | |
| 93.17% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 4 | | narrationSentences | 115 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 134 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 36 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1757 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 15 | | unquotedAttributions | 0 | | matches | (empty) | |
| 77.23% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 68 | | wordCount | 1443 | | uniqueNames | 19 | | maxNameDensity | 1.46 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Heartstone | 4 | | Veil | 1 | | Nyx | 11 | | Fae | 3 | | Grove | 1 | | Cardiff | 2 | | London | 3 | | Richmond | 2 | | Park | 2 | | Rory | 21 | | Welsh | 1 | | Isolde | 8 | | Yu-Fei | 1 | | Cheung | 1 | | Evan | 3 | | Gaelic | 1 | | Earth | 1 | | Unease | 1 | | Dymas | 1 |
| | persons | | 0 | "Heartstone" | | 1 | "Nyx" | | 2 | "Rory" | | 3 | "Isolde" | | 4 | "Yu-Fei" | | 5 | "Cheung" | | 6 | "Evan" | | 7 | "Gaelic" | | 8 | "Earth" | | 9 | "Unease" |
| | places | | 0 | "Veil" | | 1 | "Fae" | | 2 | "Grove" | | 3 | "Cardiff" | | 4 | "London" | | 5 | "Richmond" | | 6 | "Park" |
| | globalScore | 0.772 | | windowScore | 0.833 | |
| 43.62% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 94 | | glossingSentenceCount | 4 | | matches | | 0 | "patterns that seemed to move when observed directly" | | 1 | "felt like crushed diamonds" | | 2 | "as if preparing for something" | | 3 | "felt like cool silk and electricity com" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.569 | | wordCount | 1757 | | matches | | 0 | "not the canopy above but star-filled skies from distant realms" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 134 | | matches | (empty) | |
| 80.55% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 48 | | mean | 36.6 | | std | 15.81 | | cv | 0.432 | | sampleLengths | | 0 | 68 | | 1 | 33 | | 2 | 65 | | 3 | 41 | | 4 | 26 | | 5 | 35 | | 6 | 47 | | 7 | 33 | | 8 | 3 | | 9 | 55 | | 10 | 8 | | 11 | 58 | | 12 | 57 | | 13 | 46 | | 14 | 21 | | 15 | 17 | | 16 | 34 | | 17 | 29 | | 18 | 40 | | 19 | 41 | | 20 | 27 | | 21 | 35 | | 22 | 60 | | 23 | 61 | | 24 | 29 | | 25 | 53 | | 26 | 29 | | 27 | 26 | | 28 | 28 | | 29 | 38 | | 30 | 39 | | 31 | 56 | | 32 | 46 | | 33 | 23 | | 34 | 14 | | 35 | 48 | | 36 | 33 | | 37 | 25 | | 38 | 16 | | 39 | 64 | | 40 | 44 | | 41 | 35 | | 42 | 28 | | 43 | 41 | | 44 | 25 | | 45 | 23 | | 46 | 48 | | 47 | 6 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 115 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 250 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 10 | | semicolonCount | 0 | | flaggedSentences | 10 | | totalSentences | 134 | | ratio | 0.075 | | matches | | 0 | "Wildflowers bloomed in impossible colors—violets that shimmered gold at their edges, roses with petals that shifted from crimson to sapphire as the light changed." | | 1 | "Nyx drifted forward, their form condensing into something almost human—tall, six-foot-two silhouette wrapped in living darkness." | | 2 | "The ground beneath their feet transformed from damp soil to something else entirely—moss that glowed with soft bioluminescence, pulsing in time with Rory's heartbeat." | | 3 | "The notes wrapped around Rory's mind, coaxing memories forward—her mother's voice singing Welsh lullabies, the clink of glasses at Silas' bar below her flat, the roar of motorbikes outside the Golden Empress during rush hour." | | 4 | "The melody grew stronger, accompanied now by the sound of running water and something else—whispers that sounded almost like voices speaking in languages Rory half-recognized." | | 5 | "In the center stood a single tree unlike any other—its trunk split into seven spiraling branches that reached toward a sky that definitely wasn't Earth's." | | 6 | "She reached out and plucked a fruit from one of the lower branches—a sphere that shifted colors from deep emerald to blood red in her palm." | | 7 | "\"Through here. Trapped between then. The grove remembers my human name.\" Nyx's form shuddered, becoming briefly more solid—revealing the faint outline of a man with sharp features before dissolving back into shadow." | | 8 | "Shapes moved in that darkness—tall figures with horns, winged creatures, and something that looked almost like Nyx but larger, more ancient." | | 9 | "Questions burned in her throat—about her parents' hidden knowledge, about why a demon prince's token had found its way to her, about the nightmares that had plagued her since childhood." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 512 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 15 | | adverbRatio | 0.029296875 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.0078125 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 134 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 134 | | mean | 13.11 | | std | 7.49 | | cv | 0.571 | | sampleLengths | | 0 | 17 | | 1 | 26 | | 2 | 25 | | 3 | 16 | | 4 | 10 | | 5 | 7 | | 6 | 25 | | 7 | 24 | | 8 | 16 | | 9 | 17 | | 10 | 24 | | 11 | 6 | | 12 | 20 | | 13 | 16 | | 14 | 14 | | 15 | 5 | | 16 | 9 | | 17 | 14 | | 18 | 5 | | 19 | 19 | | 20 | 24 | | 21 | 5 | | 22 | 4 | | 23 | 3 | | 24 | 13 | | 25 | 35 | | 26 | 7 | | 27 | 3 | | 28 | 5 | | 29 | 13 | | 30 | 23 | | 31 | 22 | | 32 | 18 | | 33 | 15 | | 34 | 12 | | 35 | 12 | | 36 | 22 | | 37 | 8 | | 38 | 16 | | 39 | 6 | | 40 | 15 | | 41 | 9 | | 42 | 8 | | 43 | 16 | | 44 | 17 | | 45 | 1 | | 46 | 12 | | 47 | 17 | | 48 | 23 | | 49 | 9 |
| |
| 60.95% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 10 | | diversityRatio | 0.41044776119402987 | | totalSentences | 134 | | uniqueOpeners | 55 | |
| 31.15% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 107 | | matches | | 0 | "Instead she squared her shoulders" |
| | ratio | 0.009 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 19 | | totalSentences | 107 | | matches | | 0 | "She glanced sideways at Nyx," | | 1 | "Her bare feet left no" | | 2 | "They stepped through the ring" | | 3 | "She couldn't tell anymore." | | 4 | "She shook her head to" | | 5 | "She felt ridiculous carrying it" | | 6 | "She yanked her hand back" | | 7 | "She crossed the stream in" | | 8 | "Their form thinned until they" | | 9 | "Her stomach twisted with unease" | | 10 | "She approached the central tree," | | 11 | "She reached out and plucked" | | 12 | "She trailed off, pale lavender" | | 13 | "she said, voice low" | | 14 | "Her bright blue eyes reflected" | | 15 | "She reached out with her" | | 16 | "It felt like cool silk" | | 17 | "She could turn back now," | | 18 | "she called back to her" |
| | ratio | 0.178 | |
| 16.07% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 95 | | totalSentences | 107 | | matches | | 0 | "Rory gripped the Heartstone pendant" | | 1 | "The silver chain felt cooler" | | 2 | "She glanced sideways at Nyx," | | 3 | "Isolde murmured, her silver hair" | | 4 | "Her bare feet left no" | | 5 | "The three of them stood" | | 6 | "Wildflowers bloomed in impossible colors—violets" | | 7 | "Aurora's shoulder-length black hair caught" | | 8 | "Rory asked, her bright blue" | | 9 | "The scar on her left" | | 10 | "Isolde smiled without showing her" | | 11 | "Nyx drifted forward, their form" | | 12 | "The whisper of their voice" | | 13 | "They stepped through the ring" | | 14 | "The air changed instantly, growing" | | 15 | "The temperature dropped several degrees." | | 16 | "Rory's breath misted in front" | | 17 | "The ground beneath their feet" | | 18 | "She couldn't tell anymore." | | 19 | "A distant melody drifted through" |
| | ratio | 0.888 | |
| 46.73% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 107 | | matches | | 0 | "Even now she delivered noodles" |
| | ratio | 0.009 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 65 | | technicalSentenceCount | 15 | | matches | | 0 | "The silver chain felt cooler than the gem itself, which warmed like living blood whenever they drew near one of those shimmering tears in the Veil." | | 1 | "The three of them stood at the threshold of the Fae Grove, where ancient oak trunks twisted into unnatural arches that formed a perfect circle." | | 2 | "Wildflowers bloomed in impossible colors—violets that shimmered gold at their edges, roses with petals that shifted from crimson to sapphire as the light change…" | | 3 | "Nyx drifted forward, their form condensing into something almost human—tall, six-foot-two silhouette wrapped in living darkness." | | 4 | "The ground beneath their feet transformed from damp soil to something else entirely—moss that glowed with soft bioluminescence, pulsing in time with Rory's hear…" | | 5 | "Flowers the size of dinner plates opened and closed like breathing creatures, releasing puffs of golden pollen that danced in the air." | | 6 | "The water was ice cold, sending a jolt up her arm that made her scar burn." | | 7 | "The melody grew stronger, accompanied now by the sound of running water and something else—whispers that sounded almost like voices speaking in languages Rory h…" | | 8 | "In the center stood a single tree unlike any other—its trunk split into seven spiraling branches that reached toward a sky that definitely wasn't Earth's." | | 9 | "The canopy above showed three moons in different phases, their light casting overlapping shadows that moved independently of any logical light source." | | 10 | "She approached the central tree, boots crunching on ground that felt like crushed diamonds." | | 11 | "The flowers around the clearing began to close, their petals folding inward as if preparing for something." | | 12 | "Shapes moved in that darkness—tall figures with horns, winged creatures, and something that looked almost like Nyx but larger, more ancient." | | 13 | "The ground beneath her feet rippled like water, each footprint leaving temporary impressions that filled with starlight." | | 14 | "The sounds of London faded completely, replaced by the whispering of ancient powers and the distant call of something that knew Rory's true name." |
| |
| 69.44% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 2 | | matches | | 0 | "she said, voice low" | | 1 | "she called back, voice steadier than she felt" |
| |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 8 | | fancyTags | | 0 | "Isolde murmured (murmur)" | | 1 | "Nyx whispered (whisper)" | | 2 | "she muttered (mutter)" | | 3 | "Rory snapped (snap)" | | 4 | "Nyx observed (observe)" | | 5 | "Rory breathed (breathe)" | | 6 | "Isolde warned (warn)" | | 7 | "she called back (call back)" |
| | dialogueSentences | 34 | | tagDensity | 0.324 | | leniency | 0.647 | | rawRatio | 0.727 | | effectiveRatio | 0.471 | |