| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 9 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 13 | | tagDensity | 0.692 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 78.43% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1854 | | totalAiIsmAdverbs | 8 | | found | | | highlights | | 0 | "slowly" | | 1 | "very" | | 2 | "utterly" | | 3 | "gently" | | 4 | "softly" |
| |
| 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) | |
| 75.73% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1854 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "familiar" | | 1 | "echo" | | 2 | "warmth" | | 3 | "could feel" | | 4 | "pulse" | | 5 | "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 | 1 | | narrationSentences | 108 | | matches | | |
| 76.72% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 3 | | narrationSentences | 108 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 114 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 71 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 6 | | markdownWords | 45 | | totalWords | 1874 | | ratio | 0.024 | | matches | | 0 | "Midnight. Come alone. The thing in your cellar is not sleeping." | | 1 | "nothing small comes here. Nothing that has not learned to walk the ring." | | 2 | "Near a Hel portal" | | 3 | "It will tell you when to run." | | 4 | "the thing in your cellar is not sleeping" | | 5 | "Mam. Mam-mam." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 9 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 48 | | wordCount | 1720 | | uniqueNames | 18 | | maxNameDensity | 0.7 | | worstName | "Rory" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Isolde" | | discoveredNames | | Isolde | 8 | | Rory | 12 | | Richmond | 2 | | Park | 2 | | English | 4 | | November | 1 | | Come | 1 | | Seven | 1 | | Heartstone | 5 | | London | 1 | | Hel | 1 | | Golden | 1 | | Empress | 1 | | Welsh | 1 | | Jennifer | 1 | | Cardiff | 2 | | Carter | 1 | | Two | 3 |
| | persons | | 0 | "Isolde" | | 1 | "Rory" | | 2 | "Come" | | 3 | "Heartstone" | | 4 | "Jennifer" | | 5 | "Carter" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Hel" | | 4 | "Cardiff" |
| | globalScore | 1 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 70 | | glossingSentenceCount | 1 | | matches | | 0 | "felt like to be spoken to gently by som" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 4 | | per1kWords | 2.134 | | wordCount | 1874 | | matches | | 0 | "not all at once, but with a small hard click behind the eyes" | | 1 | "not on her skin but against it, a pressure, an attention" | | 2 | "not from the trunk but from somewhere under the roots, from the hollow, from the da" | | 3 | "not Isolde's voice but" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 114 | | matches | | 0 | "understood that the" | | 1 | "understood that it" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 44 | | mean | 42.59 | | std | 34 | | cv | 0.798 | | sampleLengths | | 0 | 5 | | 1 | 100 | | 2 | 4 | | 3 | 104 | | 4 | 65 | | 5 | 67 | | 6 | 3 | | 7 | 73 | | 8 | 8 | | 9 | 93 | | 10 | 6 | | 11 | 13 | | 12 | 105 | | 13 | 3 | | 14 | 45 | | 15 | 46 | | 16 | 14 | | 17 | 10 | | 18 | 94 | | 19 | 68 | | 20 | 3 | | 21 | 55 | | 22 | 6 | | 23 | 74 | | 24 | 81 | | 25 | 7 | | 26 | 77 | | 27 | 38 | | 28 | 8 | | 29 | 106 | | 30 | 40 | | 31 | 24 | | 32 | 18 | | 33 | 49 | | 34 | 11 | | 35 | 59 | | 36 | 65 | | 37 | 33 | | 38 | 21 | | 39 | 9 | | 40 | 82 | | 41 | 48 | | 42 | 8 | | 43 | 26 |
| |
| 92.27% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 108 | | matches | | 0 | "been left" | | 1 | "was lichened" | | 2 | "been broken" | | 3 | "been added" |
| |
| 85.55% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 4 | | totalVerbs | 233 | | matches | | 0 | "was attending" | | 1 | "was burning" | | 2 | "was passing" | | 3 | "was matching" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 19 | | semicolonCount | 1 | | flaggedSentences | 14 | | totalSentences | 114 | | ratio | 0.123 | | matches | | 0 | "Rory noticed it the way you notice a word misspelled in a familiar book — not all at once, but with a small hard click behind the eyes that wouldn't go away." | | 1 | "The air inside the ring was warm and sweet and it smelled of nothing she could name — not flowers, not earth, not rain." | | 2 | "Not an echo — there was never an echo here, that was one of the small wrongnesses she had catalogued — but there was no reply either, and no rustle of the long pale dress Isolde wore, no glimmer of her at the oak." | | 3 | "She had noticed that before and dismissed it; there was no wind inside the grove and the flowers were heavy-headed things, white and violet and blue." | | 4 | "Rory's hand went to the pendant and closed over it and the heat bit her palm — a real bite now, not a warmth — and she held still and counted." | | 5 | "The oak was enormous — she had thought so before, but in daylight it had been simply enormous, a thing to stand under and feel small." | | 6 | "She was thirty feet from the oak now and she could feel the tree the way you feel someone's body heat standing close in a queue — not on her skin but against it, a pressure, an attention." | | 7 | "This was lower and slower and it had a cadence to it — two sounds, then a pause, then two sounds, then a pause — and it came not from the trunk but from somewhere under the roots, from the hollow, from the dark inside the dark." | | 8 | "Not biting — burning, a slow steady pulse against her palm that matched the cadence of the sound, and the crimson glow of it came up through her closed fingers and lit the grass in a colour like a banked fire." | | 9 | "Not a shape — she never saw a shape, and later she would be grateful for that — only a place where the dark was a different weight, sliding along the inside of the standing stones from left to right, slow and considering." | | 10 | "Not behind her now — inside the ring, perhaps sixty feet off to her left, thin and high and patient." | | 11 | "And then, from the hollow between the roots, in a voice that was not Isolde's voice but that used Isolde's careful, amused cadence, as if it had learned to speak by listening at the other side of a very thin door —" | | 12 | "The Heartstone's pulse stuttered — a quick double-beat, like a warning, like a hand on her arm — and the thing in the ring slid a little further along the stones and the flowers at her feet turned their white faces toward the sound of the voice and did not move and did not move and did not move." | | 13 | "From the hollow between the roots the breathing went on — two sounds, a pause, two sounds — slower now, patient, settled in." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 374 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 11 | | adverbRatio | 0.029411764705882353 | | lyAdverbCount | 1 | | lyAdverbRatio | 0.00267379679144385 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 114 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 114 | | mean | 16.44 | | std | 15.29 | | cv | 0.93 | | sampleLengths | | 0 | 5 | | 1 | 32 | | 2 | 6 | | 3 | 40 | | 4 | 22 | | 5 | 4 | | 6 | 16 | | 7 | 25 | | 8 | 6 | | 9 | 3 | | 10 | 30 | | 11 | 24 | | 12 | 6 | | 13 | 23 | | 14 | 2 | | 15 | 34 | | 16 | 7 | | 17 | 3 | | 18 | 32 | | 19 | 25 | | 20 | 3 | | 21 | 12 | | 22 | 44 | | 23 | 17 | | 24 | 3 | | 25 | 5 | | 26 | 31 | | 27 | 5 | | 28 | 26 | | 29 | 31 | | 30 | 6 | | 31 | 13 | | 32 | 31 | | 33 | 1 | | 34 | 1 | | 35 | 1 | | 36 | 32 | | 37 | 9 | | 38 | 9 | | 39 | 12 | | 40 | 9 | | 41 | 3 | | 42 | 7 | | 43 | 21 | | 44 | 17 | | 45 | 19 | | 46 | 12 | | 47 | 15 | | 48 | 5 | | 49 | 9 |
| |
| 53.80% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 12 | | diversityRatio | 0.38596491228070173 | | totalSentences | 114 | | uniqueOpeners | 44 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 3 | | totalSentences | 95 | | matches | | 0 | "Of course she went in." | | 1 | "Somewhere behind her, far back" | | 2 | "Then the tree made a" |
| | ratio | 0.032 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 28 | | totalSentences | 95 | | matches | | 0 | "She had counted them on" | | 1 | "She stood at the gap" | | 2 | "It always bloomed." | | 3 | "She had come for a" | | 4 | "It was warm." | | 5 | "It was always faintly warm," | | 6 | "Her voice went out into" | | 7 | "She went in." | | 8 | "She had noticed that before" | | 9 | "She turned around." | | 10 | "she said, to the grove," | | 11 | "Her voice sounded thin and" | | 12 | "Its roots rose out of" | | 13 | "She was thirty feet from" | | 14 | "It was not a creak." | | 15 | "*It will tell you when" | | 16 | "She did not run." | | 17 | "She thought about this very" | | 18 | "It had been about where" | | 19 | "She was sure it was" |
| | ratio | 0.295 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 65 | | totalSentences | 95 | | matches | | 0 | "The standing stones were wrong." | | 1 | "Rory noticed it the way" | | 2 | "She had counted them on" | | 3 | "Tonight there were thirteen." | | 4 | "She stood at the gap" | | 5 | "It always bloomed." | | 6 | "Wildflowers in impossible abundance, blue" | | 7 | "The air inside the ring" | | 8 | "She had come for a" | | 9 | "Isolde's message had been left" | | 10 | "The thing in your cellar" | | 11 | "Rory touched the Heartstone through" | | 12 | "It was warm." | | 13 | "It was always faintly warm," | | 14 | "Her voice went out into" | | 15 | "The grove held its breath" | | 16 | "She went in." | | 17 | "The grass came up to" | | 18 | "The flowers did not move." | | 19 | "She had noticed that before" |
| | ratio | 0.684 | |
| 52.63% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 95 | | matches | | 0 | "Because the message had said" |
| | ratio | 0.011 | |
| 21.28% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 47 | | technicalSentenceCount | 8 | | matches | | 0 | "Rory noticed it the way you notice a word misspelled in a familiar book — not all at once, but with a small hard click behind the eyes that wouldn't go away." | | 1 | "She had counted them on her first visit, three weeks ago, walking the ring slowly while Isolde watched from the oak with the patient amusement of a woman who ha…" | | 2 | "The thing in your cellar is not sleeping.* Seven words in a thin black hand, and beneath them, a small drawing of a circle with a line through it that could hav…" | | 3 | "Not an echo — there was never an echo here, that was one of the small wrongnesses she had catalogued — but there was no reply either, and no rustle of the long …" | | 4 | "The crying was thin and high and it had the ragged, hiccupping quality of a child who has been at it for a long time and is losing the will for it." | | 5 | "Not biting — burning, a slow steady pulse against her palm that matched the cadence of the sound, and the crimson glow of it came up through her closed fingers …" | | 6 | "Mam-mam.* A Welsh word on an English tongue in a place that was neither." | | 7 | "And then, from the hollow between the roots, in a voice that was not Isolde's voice but that used Isolde's careful, amused cadence, as if it had learned to spea…" |
| |
| 69.44% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 9 | | uselessAdditionCount | 1 | | matches | | 0 | "Rory had, the settling of old timber, Silas' bar at closing" |
| |
| 7.14% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 7 | | fancyCount | 2 | | fancyTags | | 0 | "Rory whispered (whisper)" | | 1 | "the message had (have)" |
| | dialogueSentences | 13 | | tagDensity | 0.538 | | leniency | 1 | | rawRatio | 0.286 | | effectiveRatio | 0.286 | |