| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 14 | | adverbTagCount | 1 | | adverbTags | | 0 | "Nyx repeated quietly [quietly]" |
| | dialogueSentences | 23 | | tagDensity | 0.609 | | leniency | 1 | | rawRatio | 0.071 | | effectiveRatio | 0.071 | |
| 93.73% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1596 | | 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) | |
| 71.80% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1596 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "shimmered" | | 1 | "pulse" | | 2 | "warmth" | | 3 | "rhythmic" | | 4 | "flickered" | | 5 | "imposing" | | 6 | "pulsed" |
| |
| 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 | 84 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 84 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 93 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 51 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1614 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 12 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 45 | | wordCount | 1403 | | uniqueNames | 12 | | maxNameDensity | 1.28 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Rory" | | discoveredNames | | Rory | 18 | | Richmond | 1 | | Park | 1 | | Ahead | 1 | | July | 1 | | Heartstone | 1 | | Eva | 8 | | Nyx | 9 | | Veil | 1 | | January | 1 | | Varga | 1 | | Isolde | 2 |
| | persons | | 0 | "Rory" | | 1 | "Eva" | | 2 | "Nyx" | | 3 | "Varga" | | 4 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "July" |
| | globalScore | 0.859 | | windowScore | 0.833 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 57 | | glossingSentenceCount | 4 | | matches | | 0 | "felt like courage" | | 1 | "felt like walking into a held breath" | | 2 | "gold that seemed to come from everywhere and nowhere, the light of an afternoon that had forgotten to end" | | 3 | "seemed lit from beneath" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.62 | | wordCount | 1614 | | matches | | 0 | "Not the loose scatter of a planted wood but a deliberate ring, eight trunks, each one broad enough" |
| |
| 94.98% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 93 | | matches | | 0 | "found that truth" | | 1 | "saw that it" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 41 | | mean | 39.37 | | std | 27.61 | | cv | 0.701 | | sampleLengths | | 0 | 65 | | 1 | 8 | | 2 | 70 | | 3 | 26 | | 4 | 26 | | 5 | 35 | | 6 | 56 | | 7 | 17 | | 8 | 25 | | 9 | 23 | | 10 | 87 | | 11 | 5 | | 12 | 44 | | 13 | 81 | | 14 | 16 | | 15 | 79 | | 16 | 42 | | 17 | 3 | | 18 | 50 | | 19 | 50 | | 20 | 73 | | 21 | 24 | | 22 | 7 | | 23 | 2 | | 24 | 35 | | 25 | 14 | | 26 | 110 | | 27 | 13 | | 28 | 25 | | 29 | 84 | | 30 | 45 | | 31 | 11 | | 32 | 87 | | 33 | 53 | | 34 | 33 | | 35 | 22 | | 36 | 19 | | 37 | 24 | | 38 | 58 | | 39 | 57 | | 40 | 10 |
| |
| 88.55% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 84 | | matches | | 0 | "been invited " | | 1 | "been told" | | 2 | "been scattered" | | 3 | "been poured" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 227 | | matches | | 0 | "were blooming " | | 1 | "were arguing" | | 2 | "were leading" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 15 | | semicolonCount | 4 | | flaggedSentences | 14 | | totalSentences | 93 | | ratio | 0.151 | | matches | | 0 | "Nyx had stopped ten paces behind them, and in the failing light they were almost nothing — a silhouette too dark for the dusk to hold, two violet glimmers where a face would be." | | 1 | "She told herself it was because she was the one with the pendant, the one who had been invited — the letter, if you could call the single line pressed into grey paper an invitation, had borne only an address inside the park and a name she had had to look up." | | 2 | "The cold didn't break; it changed texture, becoming dry and close, and for one vertiginous instant she heard her own pulse hammered loud in both ears." | | 3 | "Wildflowers covered the clearing in every direction, and they were blooming — foxglove and snowdrop and crocus and things she had no name for, pale blue bells that chimed without wind, blossoms the colour of arterial blood pushing up through frost-rimed grass." | | 4 | "It moved wrong, too; when Rory tilted her head she could swear it slid sideways, and the shadows the standing stones cast did not agree with each other, each trunk throwing its dark in a slightly different direction as if the light were arguing with itself." | | 5 | "Once inside, they drew themselves taller — solidifying, edges sharpening — and Rory watched their head turn, a slow sweep of the clearing, and heard the small dry sound they made in the back of their throat." | | 6 | "The grass beneath her fingers was warm — warmer than the air, warm as skin — and it came away too easily, roots and all, revealing soil the colour of wine." | | 7 | "The clearing did not shrink; if anything it widened as they walked, the oaks leaning back to give them room, and the flowers gave way to moss that glowed faintly between the stones, so that the ground seemed lit from beneath." | | 8 | "The moss-thick rocks that littered the clearing had not been scattered by accident; as Rory walked, arranging them in her head the way she used to arrange case notes, a pattern surfaced — a spiral, turning inward, each stone a little larger than the last." | | 9 | "It lay there giving off a faint luminescence, and when she reached toward it — some impulse older than the caution she had spent a decade cultivating — her fingers met cold." | | 10 | "The unnatural ones — the ones Nyx had flagged, drifting free of their objects — drew in a sharp collective breath and went still." | | 11 | "She was not tall and she was not imposing and she left no impression in the moss beneath her bare feet — Rory looked, looked hard, and saw nothing, not a bend of a blade, not a smudge of dew." | | 12 | "The pendant pulsed hot against Rory's chest, a second heartbeat, and somewhere beyond the standing stones something answered it — a low warmth in the amber air, a door opening very far away." | | 13 | "Rory looked once back the way they had come, at the shimmer between the oaks where the park ought to have been visible, and saw that it had gone — or that it was now facing the other direction, leading somewhere she had not agreed to go." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1394 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 54 | | adverbRatio | 0.03873744619799139 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.007173601147776184 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 93 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 93 | | mean | 17.35 | | std | 13.31 | | cv | 0.767 | | sampleLengths | | 0 | 8 | | 1 | 23 | | 2 | 34 | | 3 | 8 | | 4 | 8 | | 5 | 28 | | 6 | 26 | | 7 | 8 | | 8 | 2 | | 9 | 24 | | 10 | 3 | | 11 | 23 | | 12 | 8 | | 13 | 27 | | 14 | 6 | | 15 | 34 | | 16 | 16 | | 17 | 9 | | 18 | 8 | | 19 | 25 | | 20 | 9 | | 21 | 14 | | 22 | 3 | | 23 | 52 | | 24 | 32 | | 25 | 5 | | 26 | 8 | | 27 | 26 | | 28 | 10 | | 29 | 42 | | 30 | 6 | | 31 | 33 | | 32 | 16 | | 33 | 4 | | 34 | 29 | | 35 | 46 | | 36 | 5 | | 37 | 37 | | 38 | 3 | | 39 | 14 | | 40 | 19 | | 41 | 17 | | 42 | 2 | | 43 | 31 | | 44 | 4 | | 45 | 13 | | 46 | 3 | | 47 | 41 | | 48 | 29 | | 49 | 4 |
| |
| 59.86% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.3978494623655914 | | totalSentences | 93 | | uniqueOpeners | 37 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 73 | | matches | | 0 | "Then the path bent behind" | | 1 | "Then the park was behind" | | 2 | "Once inside, they drew themselves" | | 3 | "Somewhere far off there was" | | 4 | "Then it flickered, blurred, and" |
| | ratio | 0.068 | |
| 99.45% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 22 | | totalSentences | 73 | | matches | | 0 | "She stopped walking." | | 1 | "Their voice came from several" | | 2 | "She told herself it was" | | 3 | "She stepped through the shimmer." | | 4 | "It felt like walking into" | | 5 | "It should not have been" | | 6 | "It was the wrong season" | | 7 | "It moved wrong, too; when" | | 8 | "She let it fall." | | 9 | "Her crescent scar, thin and" | | 10 | "They moved deeper." | | 11 | "She walked with her phone" | | 12 | "She turned the screen so" | | 13 | "She could see it here" | | 14 | "She trusted her eyes." | | 15 | "It was leaf-shaped, slender, the" | | 16 | "It lay there giving off" | | 17 | "She picked it up, and" | | 18 | "She was not tall and" | | 19 | "Her eyes dropped to the" |
| | ratio | 0.301 | |
| 76.44% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 56 | | totalSentences | 73 | | matches | | 0 | "The park had been ordinary" | | 1 | "That was the thing Rory" | | 2 | "The bark was pale, almost" | | 3 | "She stopped walking." | | 4 | "The Heartstone at her throat" | | 5 | "Eva, who had driven them" | | 6 | "Rory looked back" | | 7 | "Nyx had stopped ten paces" | | 8 | "Their voice came from several" | | 9 | "Nyx's glow dimmed in what" | | 10 | "Rory went first." | | 11 | "She told herself it was" | | 12 | "She stepped through the shimmer." | | 13 | "It felt like walking into" | | 14 | "The cold didn't break; it" | | 15 | "Wildflowers covered the clearing in" | | 16 | "It should not have been" | | 17 | "It was the wrong season" | | 18 | "Eva said behind her, and" | | 19 | "The sky was wrong." |
| | ratio | 0.767 | |
| 68.49% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 73 | | matches | | 0 | "Because the stones were leading" |
| | ratio | 0.014 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 42 | | technicalSentenceCount | 11 | | matches | | 0 | "The bark was pale, almost bone-coloured, and carved in places with grooves that might have been language or might have been the slow work of beetles." | | 1 | "But the truth was simpler and less noble: she had spent twenty-five years being careful, and she was so tired of it that tiredness had curdled into something th…" | | 2 | "Wildflowers covered the clearing in every direction, and they were blooming — foxglove and snowdrop and crocus and things she had no name for, pale blue bells t…" | | 3 | "It was the wrong season entirely, wrong light, wrong everything, and yet the flowers went on with their business with the serene indifference of something that …" | | 4 | "There was no sun and no moon, only a diffuse amber-gold that seemed to come from everywhere and nowhere, the light of an afternoon that had forgotten to end." | | 5 | "It moved wrong, too; when Rory tilted her head she could swear it slid sideways, and the shadows the standing stones cast did not agree with each other, each tr…" | | 6 | "Somewhere far off there was a sound like a forge, low and rhythmic, and under it something that might have been singing in a language assembled entirely from vo…" | | 7 | "The moss-thick rocks that littered the clearing had not been scattered by accident; as Rory walked, arranging them in her head the way she used to arrange case …" | | 8 | "It was leaf-shaped, slender, the blade a soft white metal that looked as though it had been poured rather than forged." | | 9 | "The cold of a January windowpane, of deep water, of something that had never once been near a fire." | | 10 | "The shadows had contracted into a single dense knot of dark at the base of the largest oak, and standing inside it, as if the dark were a doorway she had been l…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 14 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 1 | | fancyTags | | 0 | "Nyx repeated quietly (repeat)" |
| | dialogueSentences | 23 | | tagDensity | 0.478 | | leniency | 0.957 | | rawRatio | 0.091 | | effectiveRatio | 0.087 | |