| 0.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 1 | | adverbTags | | 0 | "she said aloud [aloud]" |
| | dialogueSentences | 6 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |
| 86.39% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1102 | | totalAiIsmAdverbs | 3 | | found | | | highlights | | 0 | "perfectly" | | 1 | "very" | | 2 | "gently" |
| |
| 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) | |
| 72.78% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1102 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "pulse" | | 1 | "echo" | | 2 | "silence" | | 3 | "pulsed" | | 4 | "measured" |
| |
| 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 | 80 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 0 | | narrationSentences | 80 | | filterMatches | (empty) | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 82 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 50 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 37 | | totalWords | 1115 | | ratio | 0.033 | | matches | | 0 | "the grove, after the moon clears the oaks" | | 1 | "aware" | | 2 | "Time moves differently here," | | 3 | "An hour can be a minute. A minute can be a year. Don't dawdle, and for God's sake don't eat anything." | | 4 | "show yourself." | | 5 | "Malphora," |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 5 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 14 | | wordCount | 1096 | | uniqueNames | 9 | | maxNameDensity | 0.55 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Rory | 6 | | Golden | 1 | | Empress | 1 | | Isolde | 1 | | Eva | 1 | | God | 1 | | Aurora | 1 |
| | persons | | 0 | "Rory" | | 1 | "Empress" | | 2 | "Isolde" | | 3 | "Eva" | | 4 | "God" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "Golden" |
| | globalScore | 1 | | windowScore | 1 | |
| 51.96% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 51 | | glossingSentenceCount | 2 | | matches | | 0 | "quite faces, their canopies knitting together overhead into something that swallowed the sky" | | 1 | "looked like a photograph of somewhere she" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.897 | | wordCount | 1115 | | matches | | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 82 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 32 | | mean | 34.84 | | std | 28.25 | | cv | 0.811 | | sampleLengths | | 0 | 42 | | 1 | 83 | | 2 | 4 | | 3 | 67 | | 4 | 13 | | 5 | 67 | | 6 | 5 | | 7 | 82 | | 8 | 6 | | 9 | 27 | | 10 | 5 | | 11 | 79 | | 12 | 29 | | 13 | 58 | | 14 | 4 | | 15 | 13 | | 16 | 70 | | 17 | 4 | | 18 | 21 | | 19 | 58 | | 20 | 10 | | 21 | 64 | | 22 | 43 | | 23 | 61 | | 24 | 29 | | 25 | 16 | | 26 | 86 | | 27 | 8 | | 28 | 32 | | 29 | 4 | | 30 | 10 | | 31 | 15 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 0 | | totalSentences | 80 | | matches | (empty) | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 176 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 13 | | semicolonCount | 1 | | flaggedSentences | 12 | | totalSentences | 82 | | ratio | 0.146 | | matches | | 0 | "But the note had been specific — *the grove, after the moon clears the oaks* — and the note had come folded inside a delivery slip from the Golden Empress, tucked beneath a carton of cold spring rolls she hadn't ordered anyone to pick up." | | 1 | "She knew them at once — ancient oaks grown into the shape of pillars, their bark folded and gnarled into faces that weren't quite faces, their canopies knitting together overhead into something that swallowed the sky." | | 2 | "The clearing opened beyond, the wildflowers that bloomed year-round catching the light in pale washes — foxglove, bluebell, something white she had no name for." | | 3 | "There was a wind; she could hear it moving in the trees outside the grove, a low continuous hush like the sea heard through a wall." | | 4 | "Not gradually — all at once, the way it does when you walk from sun into a cellar, and with it came the silence." | | 5 | "The little second-counter beneath the clock had frozen on 11, and as she stared at it she became certain — with the cold, falling certainty of a dream tipping into nightmare — that it had been showing 11 since she crossed the stones." | | 6 | "Far off, somewhere on the other side of the clearing, soft and delighted and entirely wrong — because there was no child, because it was midnight in a sealed park, because the laugh had a texture to it like fabric tearing." | | 7 | "She made herself walk forward, torch high, into the heart of the grove, telling herself the laugh had been an owl, a fox, the friction of branches — telling herself in her father's barrister voice, the voice for difficult juries, that there was a reasonable account of every fact before her." | | 8 | "Just past the throw of the beam, at the place where light gave up and darkness began, a paleness shifted — tall, slender, there and then not, the way a face appears in the corner of your eye and dissolves when you turn." | | 9 | "The same wrongness in the way it held still — too still, the stillness of something that has just this instant stopped moving because you looked." | | 10 | "The laugh came again — closer, behind her, low by her ear, no longer a child's." | | 11 | "The pendant flared so hot against her chest that she gasped and clutched it, and in the red light spilling between her fingers she saw, for one heartbeat, the whole clearing illuminated as if by a struck match — and she was not alone in it." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1087 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 38 | | adverbRatio | 0.034958601655933765 | | lyAdverbCount | 8 | | lyAdverbRatio | 0.007359705611775529 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 82 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 82 | | mean | 13.6 | | std | 12.87 | | cv | 0.947 | | sampleLengths | | 0 | 42 | | 1 | 6 | | 2 | 12 | | 3 | 45 | | 4 | 7 | | 5 | 13 | | 6 | 4 | | 7 | 31 | | 8 | 11 | | 9 | 12 | | 10 | 4 | | 11 | 9 | | 12 | 13 | | 13 | 36 | | 14 | 5 | | 15 | 10 | | 16 | 16 | | 17 | 5 | | 18 | 19 | | 19 | 7 | | 20 | 25 | | 21 | 5 | | 22 | 26 | | 23 | 6 | | 24 | 9 | | 25 | 3 | | 26 | 15 | | 27 | 5 | | 28 | 3 | | 29 | 24 | | 30 | 9 | | 31 | 28 | | 32 | 5 | | 33 | 10 | | 34 | 8 | | 35 | 6 | | 36 | 6 | | 37 | 9 | | 38 | 4 | | 39 | 4 | | 40 | 3 | | 41 | 4 | | 42 | 43 | | 43 | 4 | | 44 | 13 | | 45 | 5 | | 46 | 41 | | 47 | 24 | | 48 | 4 | | 49 | 7 |
| |
| 52.03% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.3780487804878049 | | totalSentences | 82 | | uniqueOpeners | 31 | |
| 87.72% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 76 | | matches | | 0 | "Just past the throw of" | | 1 | "Then the glow guttered." |
| | ratio | 0.026 | |
| 77.89% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 27 | | totalSentences | 76 | | matches | | 0 | "She wasn't supposed to be" | | 1 | "It was warm now." | | 2 | "She'd learned to trust the" | | 3 | "It was simply *aware*, and" | | 4 | "She knew them at once" | | 5 | "She'd been here twice in" | | 6 | "She swept the torch left," | | 7 | "They should have been swaying." | | 8 | "Her voice came out smaller" | | 9 | "It didn't echo." | | 10 | "It went into the grove" | | 11 | "She stepped across the boundary." | | 12 | "She turned and looked back" | | 13 | "It looked very far away." | | 14 | "It looked like a photograph" | | 15 | "She watched it." | | 16 | "It did not change." | | 17 | "She lowered the phone." | | 18 | "It was a child laughing." | | 19 | "It rose and dipped and" |
| | ratio | 0.355 | |
| 45.53% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 63 | | totalSentences | 76 | | matches | | 0 | "The cab driver had refused" | | 1 | "She wasn't supposed to be" | | 2 | "The park closed at dusk," | | 3 | "The handwriting matched nothing she'd" | | 4 | "The pendant at her throat" | | 5 | "It was warm now." | | 6 | "Rory pressed two fingers to" | | 7 | "The faint inner glow lit" | | 8 | "She'd learned to trust the" | | 9 | "Tonight it wasn't screaming." | | 10 | "It was simply *aware*, and" | | 11 | "The standing stones came up" | | 12 | "She knew them at once" | | 13 | "The boundary of Isolde's grove." | | 14 | "The threshold between one world" | | 15 | "She'd been here twice in" | | 16 | "Rory stopped at the line" | | 17 | "She swept the torch left," | | 18 | "The clearing opened beyond, the" | | 19 | "They should have been swaying." |
| | ratio | 0.829 | |
| 65.79% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 76 | | matches | | 0 | "Now it tasted of nothing." |
| | ratio | 0.013 | |
| 40.82% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 35 | | technicalSentenceCount | 5 | | matches | | 0 | "She knew them at once — ancient oaks grown into the shape of pillars, their bark folded and gnarled into faces that weren't quite faces, their canopies knitting…" | | 1 | "The clearing opened beyond, the wildflowers that bloomed year-round catching the light in pale washes — foxglove, bluebell, something white she had no name for." | | 2 | "The same wrongness in the way it held still — too still, the stillness of something that has just this instant stopped moving because you looked." | | 3 | "The pendant flared so hot against her chest that she gasped and clutched it, and in the red light spilling between her fingers she saw, for one heartbeat, the w…" | | 4 | "They stood among the flowers, a dozen of them, two dozen, tall and pale and watching, their stillness the stillness of the bluebells, their faces almost faces, …" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 2 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 6 | | tagDensity | 0.333 | | leniency | 0.667 | | rawRatio | 0 | | effectiveRatio | 0 | |