| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 95.42% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2184 | | 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) | |
| 49.63% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2184 | | totalAiIsms | 22 | | found | | | highlights | | 0 | "warmth" | | 1 | "weight" | | 2 | "pulsed" | | 3 | "pulse" | | 4 | "silence" | | 5 | "traced" | | 6 | "rhythmic" | | 7 | "mechanical" | | 8 | "searing" | | 9 | "could feel" |
| |
| 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 | 183 | | matches | | |
| 96.02% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 4 | | narrationSentences | 183 | | filterMatches | | | hedgeMatches | | 0 | "seem to" | | 1 | "tried to" | | 2 | "began to" | | 3 | "seemed to" |
| |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 184 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 2205 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 10 | | unquotedAttributions | 1 | | matches | | 0 | "A phantom sensation, she told herself." |
| |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 30 | | wordCount | 2190 | | uniqueNames | 9 | | maxNameDensity | 0.5 | | worstName | "Rory" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Isolde" | | discoveredNames | | Sheen | 1 | | Gate | 1 | | Isolde | 10 | | Rory | 11 | | Heartstone | 1 | | Eva | 3 | | Cardiff | 1 | | London | 1 | | Tuesday | 1 |
| | persons | | | places | | 0 | "Sheen" | | 1 | "Cardiff" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 75.74% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 101 | | glossingSentenceCount | 3 | | matches | | 0 | "as if drawing in water" | | 1 | "something between the two, a controlled urgency" | | 2 | "hum that seemed to rise from the ground itself, vibrating through the soles of her shoes and into the bones of her ankles, a sound so deep it bypassed her ears entirely and settled directly into her chest" |
| |
| 0.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 7 | | per1kWords | 3.175 | | wordCount | 2205 | | matches | | 0 | "not with fanfare but with a subtle shift, a thinning of the dark as the trees dre" | | 1 | "Not at the tree line but somewhere behind her, circling, the way a thing circles" | | 2 | "no longer a faint inner warmth but" | | 3 | "Not with moisture or cold but with presence, as if the clearing had drawn a breath" | | 4 | "Not the warmth of a summer night but the dry, searing heat of something" | | 5 | "not clearly, not fully, but with enough certainty to know it was there" | | 6 | "not fully, but with enough certainty to know it was there" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 184 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 51 | | mean | 43.24 | | std | 36.89 | | cv | 0.853 | | sampleLengths | | 0 | 108 | | 1 | 72 | | 2 | 4 | | 3 | 111 | | 4 | 11 | | 5 | 89 | | 6 | 51 | | 7 | 117 | | 8 | 19 | | 9 | 1 | | 10 | 1 | | 11 | 1 | | 12 | 6 | | 13 | 64 | | 14 | 5 | | 15 | 57 | | 16 | 9 | | 17 | 3 | | 18 | 63 | | 19 | 8 | | 20 | 95 | | 21 | 5 | | 22 | 58 | | 23 | 57 | | 24 | 55 | | 25 | 35 | | 26 | 60 | | 27 | 3 | | 28 | 60 | | 29 | 6 | | 30 | 44 | | 31 | 79 | | 32 | 4 | | 33 | 70 | | 34 | 3 | | 35 | 50 | | 36 | 68 | | 37 | 5 | | 38 | 84 | | 39 | 90 | | 40 | 39 | | 41 | 5 | | 42 | 20 | | 43 | 132 | | 44 | 15 | | 45 | 81 | | 46 | 12 | | 47 | 74 | | 48 | 66 | | 49 | 5 |
| |
| 97.59% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 183 | | matches | | 0 | "been told " | | 1 | "were supposed" | | 2 | "been scraped" | | 3 | "was gone" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 3 | | totalVerbs | 350 | | matches | | 0 | "was glowing" | | 1 | "was holding" | | 2 | "was coming" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 21 | | semicolonCount | 0 | | flaggedSentences | 17 | | totalSentences | 184 | | ratio | 0.092 | | matches | | 0 | "That was to be expected, she'd been told — the grove swallowed radio waves like a stone sinks water — but the gesture had become automatic, a small nervous tic she couldn't seem to break." | | 1 | "The grove announced itself the way it always did — not with fanfare but with a subtle shift, a thinning of the dark as the trees drew closer and the air took on a different taste." | | 2 | "She hadn't needed to wear it, but the habit had settled into her the way habits do — without decision, without thought." | | 3 | "Eva, who had found Isolde, or who Isolde had found — Rory still didn't understand the geometry of it — and who had come to her last Tuesday with bright eyes and thin hands and a voice that shook when she spoke about healing." | | 4 | "No — not the deer." | | 5 | "Her voice came out flat and controlled, the way it always did when she was scared — not brave, just controlled, the fear locked behind a door she knew how to keep shut." | | 6 | "A geometry Rory had memorized the way she memorized case law — through repetition, through ritual, through the kind of rote learning that made her feel stupid and safe at the same time." | | 7 | "She could smell it — green and vegetal and raw, like a wound." | | 8 | "Running in the grove was inadvisable — Isolde had said that too, with a look on her face that Rory had taken for superstition and was no longer sure she understood." | | 9 | "It was subtle — so subtle that if she had been anyone else, anyone less practiced at reading rooms and moods and the small lies people told with their bodies, she would have missed it." | | 10 | "She flinched — hard, instinctive, her whole body contracting — and spun to face the empty air." | | 11 | "Not running, not walking fast — something between the two, a controlled urgency that kept her dignity and possibly saved her life." | | 12 | "It was slow, deliberate, rhythmic — the way a heartbeat sounds when someone is standing directly behind you." | | 13 | "Rory saw it the way she saw things at the corner of her eye — not clearly, not fully, but with enough certainty to know it was there and not there, present and absent, a shape that her brain refused to assemble into anything she could name." | | 14 | "But it was there, and the hum was coming from it, or through it, or around it — she couldn't tell, the sound had no origin she could point to, it was everywhere and nowhere, in the stones and the soil and the spaces between her heartbeats." | | 15 | "The crimson light was blinding now, and beneath the light — she had never noticed this before, in all the times she had worn it, in all the times she had held it — beneath the light there was something else." | | 16 | "Taking a step — a single, deliberate displacement of weight, the way a body does when it has decided to cross a distance it has already crossed a thousand times." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 2170 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 68 | | adverbRatio | 0.03133640552995392 | | lyAdverbCount | 11 | | lyAdverbRatio | 0.005069124423963134 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 184 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 184 | | mean | 11.98 | | std | 11.45 | | cv | 0.956 | | sampleLengths | | 0 | 5 | | 1 | 2 | | 2 | 35 | | 3 | 5 | | 4 | 10 | | 5 | 39 | | 6 | 8 | | 7 | 4 | | 8 | 36 | | 9 | 1 | | 10 | 1 | | 11 | 17 | | 12 | 7 | | 13 | 4 | | 14 | 6 | | 15 | 4 | | 16 | 16 | | 17 | 2 | | 18 | 6 | | 19 | 12 | | 20 | 18 | | 21 | 6 | | 22 | 10 | | 23 | 24 | | 24 | 2 | | 25 | 5 | | 26 | 10 | | 27 | 11 | | 28 | 12 | | 29 | 22 | | 30 | 16 | | 31 | 2 | | 32 | 3 | | 33 | 18 | | 34 | 8 | | 35 | 1 | | 36 | 7 | | 37 | 14 | | 38 | 18 | | 39 | 19 | | 40 | 10 | | 41 | 32 | | 42 | 44 | | 43 | 5 | | 44 | 2 | | 45 | 24 | | 46 | 4 | | 47 | 1 | | 48 | 14 | | 49 | 1 |
| |
| 36.41% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 25 | | diversityRatio | 0.2826086956521739 | | totalSentences | 184 | | uniqueOpeners | 52 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 148 | | matches | (empty) | | ratio | 0 | |
| 92.97% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 47 | | totalSentences | 148 | | matches | | 0 | "She had arrived forty minutes" | | 1 | "She had walked from the" | | 2 | "She had been here four" | | 3 | "She knew its rhythms." | | 4 | "She stopped at the ring" | | 5 | "It holds warmth the way" | | 6 | "She tucked her hand under" | | 7 | "She hadn't needed to wear" | | 8 | "Her fingers found it through" | | 9 | "It pulsed when she was" | | 10 | "She sat down on the" | | 11 | "She was here because Eva" | | 12 | "She closed her eyes." | | 13 | "She opened her eyes and" | | 14 | "She had never noticed that" | | 15 | "She had sat in this" | | 16 | "She checked the pendant again." | | 17 | "she said to the clearing," | | 18 | "Her voice came out flat" | | 19 | "She walked the perimeter, making" |
| | ratio | 0.318 | |
| 68.11% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 116 | | totalSentences | 148 | | matches | | 0 | "Rory checked her phone again." | | 1 | "That was to be expected," | | 2 | "The screen read 11:47 PM." | | 3 | "She had arrived forty minutes" | | 4 | "She had walked from the" | | 5 | "The animals had known something," | | 6 | "The grove announced itself the" | | 7 | "The kind of air that" | | 8 | "She had been here four" | | 9 | "She knew its rhythms." | | 10 | "Tonight something was different." | | 11 | "She stopped at the ring" | | 12 | "That was the first wrong" | | 13 | "The stones were supposed to" | | 14 | "Isolde had told her that" | | 15 | "The grove remembers, Isolde had" | | 16 | "It holds warmth the way" | | 17 | "She tucked her hand under" | | 18 | "The Heartstone pendant lay flat" | | 19 | "She hadn't needed to wear" |
| | ratio | 0.784 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 148 | | matches | (empty) | | ratio | 0 | |
| 60.44% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 78 | | technicalSentenceCount | 9 | | matches | | 0 | "She had walked from the car park at Sheen Gate with the easy confidence of someone who had done this before, following the deer trails past the herd of fallow d…" | | 1 | "Eva, who had found Isolde, or who Isolde had found — Rory still didn't understand the geometry of it — and who had come to her last Tuesday with bright eyes and…" | | 2 | "Silence pressed in from all sides, heavier than before, the kind of silence that isn't an absence of noise but the presence of something listening." | | 3 | "She walked the perimeter, making the circuit that Isolde had traced for her with her long pale fingers, dragging them through the soil as if drawing in water." | | 4 | "She turned with it, pivoting on her heel, keeping the central stone between herself and the sound." | | 5 | "The crimson gem inside was glowing, no longer a faint inner warmth but a steady, arterial light that painted the skin beneath her collarbone red." | | 6 | "Not running, not walking fast — something between the two, a controlled urgency that kept her dignity and possibly saved her life." | | 7 | "A hum that seemed to rise from the ground itself, vibrating through the soles of her shoes and into the bones of her ankles, a sound so deep it bypassed her ear…" | | 8 | "Not the warmth of a summer night but the dry, searing heat of something that had been burning for a very long time and had learned to be patient." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 2 | | tagDensity | 0.5 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |