| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 3 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 3 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 97.07% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1709 | | totalAiIsmAdverbs | 1 | | 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) | |
| 53.19% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1709 | | totalAiIsms | 16 | | found | | | highlights | | 0 | "pulse" | | 1 | "warmth" | | 2 | "silence" | | 3 | "weight" | | 4 | "pulsed" | | 5 | "stomach" | | 6 | "etched" | | 7 | "quivered" | | 8 | "measured" | | 9 | "echo" |
| |
| 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 | 140 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 140 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 140 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 46 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1695 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 22 | | wordCount | 1690 | | uniqueNames | 9 | | maxNameDensity | 0.59 | | worstName | "Rory" | | maxWindowNameDensity | 1 | | worstWindowName | "Rory" | | discoveredNames | | Richmond | 1 | | Park | 1 | | Rory | 10 | | London | 2 | | Heartstone | 2 | | Silas | 1 | | Isolde | 1 | | Grove | 3 | | November | 1 |
| | persons | | 0 | "Rory" | | 1 | "Heartstone" | | 2 | "Silas" | | 3 | "Isolde" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 42.47% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 93 | | glossingSentenceCount | 4 | | matches | | 0 | "something between wood and bone" | | 1 | "looked like someone had poured color onto" | | 2 | "felt like frost under glass" | | 3 | "appeared again, cold and ordinary and blessedly man-made" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1695 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 140 | | matches | (empty) | |
| 64.46% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 28 | | mean | 60.54 | | std | 22.74 | | cv | 0.376 | | sampleLengths | | 0 | 87 | | 1 | 92 | | 2 | 97 | | 3 | 55 | | 4 | 53 | | 5 | 4 | | 6 | 40 | | 7 | 69 | | 8 | 67 | | 9 | 30 | | 10 | 99 | | 11 | 50 | | 12 | 81 | | 13 | 83 | | 14 | 19 | | 15 | 56 | | 16 | 56 | | 17 | 39 | | 18 | 63 | | 19 | 79 | | 20 | 66 | | 21 | 60 | | 22 | 61 | | 23 | 67 | | 24 | 67 | | 25 | 80 | | 26 | 43 | | 27 | 32 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 140 | | matches | | 0 | "been left" | | 1 | "were spaced" | | 2 | "been carved" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 0 | | totalVerbs | 277 | | matches | (empty) | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 14 | | semicolonCount | 9 | | flaggedSentences | 19 | | totalSentences | 140 | | ratio | 0.136 | | matches | | 0 | "The Heartstone hung against her collarbone, a thumbnail of deep crimson on its silver chain; each slow step made it pulse warmer, like a second, quieter heart." | | 1 | "She had come because the warmth had turned insistent three nights running—hot enough to wake her in the flat above Silas’s bar, hot enough that she could no longer pretend it was only her own blood." | | 2 | "Wildflowers lit the ground in impossible colors—bluebells, primroses, foxgloves blooming hard against the November cold." | | 3 | "Time felt loose already; the distant traffic sounds that should have reached her had fallen away the moment she stepped between the stones, as if the park itself had taken a breath and held it." | | 4 | "She pressed two fingers to the scar on her left wrist—old habit, a crescent nick from childhood that somehow steadied her—and took stock the way she always did when the world tilted: breathe, note exits, catalogue what should be there and what should not." | | 5 | "The flowers brushed her ankles; their petals were cool and wet, yet the scent rose heavier, almost like overripe fruit left too long." | | 6 | "Not a crack this time—something softer, a long drag across bark, like cloth or hair." | | 7 | "She had expected magic—or the rumor of it—but she had not expected the grove to notice her back." | | 8 | "The pendant disagreed; its heat jerked her attention toward the center where the wildflowers grew thickest, in a bed so dense it looked like someone had poured color onto the dirt and let it pool." | | 9 | "Inventory: no phone signal this deep (she had checked), no knife (she never carried one; delivery work didn’t warrant it), only the pendant and the stubborn knowledge that she could out-think worse people than whatever lived under flowers." | | 10 | "But now the standing stones themselves seemed wrong; the pale bark of the nearest oak had darkened in a long vertical streak as if something had run its weight down the trunk." | | 11 | "A soft laugh drifted across the clearing—too high, too brief, like a child catching itself." | | 12 | "The pendant burned hard against her palm; she realized she had closed her fist around it without meaning to." | | 13 | "She chose a direction less wrong—the way the trampled path had pointed earlier—and began walking with measured steps, never turning her back fully on the center." | | 14 | "The pendant’s warmth switched to cold so fast her skin tightened; the stone still glowed, but now the red light felt like frost under glass." | | 15 | "The standing stones shifted in her peripheral vision—leaning she was certain they had not leaned moments earlier—and the gap between the two tallest oaks narrowed by a handspan." | | 16 | "She expected the press of air to loosen, expected the ordinary park night to flood back—traffic, distant dogs, London itself." | | 17 | "Flower scent clung to her coat even outside the ring; petals stuck to her damp hair." | | 18 | "In the new silence Rory heard only her own boots tearing through undergrowth and, underneath that, a second pair of footfalls—lighter, bare, always just out of phase with hers so she could never match them, never stop long enough to prove they were merely echo." |
| |
| 86.96% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1712 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 94 | | adverbRatio | 0.054906542056074766 | | lyAdverbCount | 14 | | lyAdverbRatio | 0.008177570093457943 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 140 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 140 | | mean | 12.11 | | std | 9.7 | | cv | 0.801 | | sampleLengths | | 0 | 25 | | 1 | 13 | | 2 | 16 | | 3 | 6 | | 4 | 27 | | 5 | 36 | | 6 | 22 | | 7 | 34 | | 8 | 18 | | 9 | 20 | | 10 | 15 | | 11 | 9 | | 12 | 35 | | 13 | 6 | | 14 | 5 | | 15 | 44 | | 16 | 12 | | 17 | 6 | | 18 | 5 | | 19 | 3 | | 20 | 15 | | 21 | 12 | | 22 | 2 | | 23 | 2 | | 24 | 21 | | 25 | 19 | | 26 | 5 | | 27 | 8 | | 28 | 18 | | 29 | 4 | | 30 | 11 | | 31 | 23 | | 32 | 2 | | 33 | 15 | | 34 | 2 | | 35 | 6 | | 36 | 22 | | 37 | 11 | | 38 | 9 | | 39 | 12 | | 40 | 18 | | 41 | 6 | | 42 | 27 | | 43 | 21 | | 44 | 9 | | 45 | 1 | | 46 | 35 | | 47 | 9 | | 48 | 18 | | 49 | 2 |
| |
| 60.24% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 9 | | diversityRatio | 0.4 | | totalSentences | 140 | | uniqueOpeners | 56 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 6 | | totalSentences | 119 | | matches | | 0 | "Somewhere beyond the circle a" | | 1 | "Too low for a bird," | | 2 | "Then another sound from her" | | 3 | "Instead the darkness outside the" | | 4 | "Somewhere back in the circle" | | 5 | "Somewhere under the year-round flowers" |
| | ratio | 0.05 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 33 | | totalSentences | 119 | | matches | | 0 | "She swung one leg over," | | 1 | "Her trainers whispered through leaf" | | 2 | "She had come because the" | | 3 | "She found the standing stones" | | 4 | "They rose in a rough" | | 5 | "Their scent was thick, almost" | | 6 | "She pressed two fingers to" | | 7 | "Her own breathing sounded too" | | 8 | "she muttered under her breath," | | 9 | "Her voice came back to" | | 10 | "She lifted it free of" | | 11 | "She took two careful steps" | | 12 | "She had expected magic—or the" | | 13 | "She moved deeper, mapping the" | | 14 | "She crouched, careful of her" | | 15 | "she said, again for the" | | 16 | "She rose, wiped damp palms" | | 17 | "It gleamed wet and faintly" | | 18 | "She stepped back so quickly" | | 19 | "Their juice smelled coppery under" |
| | ratio | 0.277 | |
| 100.00% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 83 | | totalSentences | 119 | | matches | | 0 | "The iron gate of Richmond" | | 1 | "She swung one leg over," | | 2 | "The city glow of London" | | 3 | "Her trainers whispered through leaf" | | 4 | "The Heartstone hung against her" | | 5 | "She had come because the" | | 6 | "The pendant had been left" | | 7 | "Something had begun calling through" | | 8 | "She found the standing stones" | | 9 | "They rose in a rough" | | 10 | "Wildflowers lit the ground in" | | 11 | "Their scent was thick, almost" | | 12 | "Time felt loose already; the" | | 13 | "Rory stopped just inside the" | | 14 | "The pendant’s heat climbed higher." | | 15 | "She pressed two fingers to" | | 16 | "Her own breathing sounded too" | | 17 | "she muttered under her breath," | | 18 | "Her voice came back to" | | 19 | "The pendant pulsed again, stronger." |
| | ratio | 0.697 | |
| 42.02% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 119 | | matches | | | ratio | 0.008 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 68 | | technicalSentenceCount | 3 | | matches | | 0 | "Something had begun calling through it, a direction rather than a voice, and tonight the direction ended here, inside the trees that locals still called Isolde’…" | | 1 | "But now the standing stones themselves seemed wrong; the pale bark of the nearest oak had darkened in a long vertical streak as if something had run its weight …" | | 2 | "Instead the darkness outside the circle felt thicker, pressed close by unseen shoulders of trees that had crowded nearer." |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 3 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 0.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 3 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 3 | | tagDensity | 1 | | leniency | 1 | | rawRatio | 0.333 | | effectiveRatio | 0.333 | |