| 94.44% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 2 | | adverbTags | | 0 | "she said lightly [lightly]" | | 1 | "Rory said abruptly [abruptly]" |
| | dialogueSentences | 35 | | tagDensity | 0.514 | | leniency | 1 | | rawRatio | 0.111 | | effectiveRatio | 0.111 | |
| 95.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1023 | | totalAiIsmAdverbs | 1 | | found | | | highlights | | |
| 100.00% | AI-ism character names | Target: 0 AI-default names (16 tracked, −20% each) | | codexExemptions | | | found | (empty) | |
| 100.00% | AI-ism location names | Target: 0 AI-default location names (33 tracked, −20% each) | | codexExemptions | (empty) | | found | (empty) | |
| 56.01% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1023 | | totalAiIsms | 9 | | found | | | highlights | | 0 | "comforting" | | 1 | "methodical" | | 2 | "traced" | | 3 | "gloom" | | 4 | "lilt" | | 5 | "weight" | | 6 | "silence" | | 7 | "etched" |
| |
| 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 | 82 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 0 | | narrationSentences | 82 | | filterMatches | | | hedgeMatches | (empty) | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 99 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 34 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1006 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 18 | | unquotedAttributions | 0 | | matches | (empty) | |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 62 | | wordCount | 829 | | uniqueNames | 17 | | maxNameDensity | 1.93 | | worstName | "Evan" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Evan" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Rory | 14 | | Silas | 12 | | Prague | 1 | | Yu | 3 | | Fei | 3 | | Wednesday | 1 | | Courbet | 1 | | Cardiff | 2 | | London | 1 | | Italian | 1 | | French | 1 | | Evan | 16 | | Rain | 2 | | Christmas | 1 | | Yu-Fei | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Silas" | | 4 | "Fei" | | 5 | "Evan" | | 6 | "Rain" | | 7 | "Christmas" | | 8 | "Yu-Fei" |
| | places | | 0 | "Prague" | | 1 | "Cardiff" | | 2 | "London" |
| | globalScore | 0.535 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 55 | | glossingSentenceCount | 0 | | matches | (empty) | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 0 | | per1kWords | 0 | | wordCount | 1006 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 99 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 46 | | mean | 21.87 | | std | 16.53 | | cv | 0.756 | | sampleLengths | | 0 | 89 | | 1 | 59 | | 2 | 45 | | 3 | 13 | | 4 | 48 | | 5 | 29 | | 6 | 24 | | 7 | 38 | | 8 | 20 | | 9 | 10 | | 10 | 20 | | 11 | 10 | | 12 | 32 | | 13 | 19 | | 14 | 25 | | 15 | 28 | | 16 | 27 | | 17 | 29 | | 18 | 37 | | 19 | 2 | | 20 | 7 | | 21 | 7 | | 22 | 15 | | 23 | 34 | | 24 | 29 | | 25 | 15 | | 26 | 14 | | 27 | 22 | | 28 | 7 | | 29 | 6 | | 30 | 7 | | 31 | 3 | | 32 | 13 | | 33 | 16 | | 34 | 31 | | 35 | 8 | | 36 | 32 | | 37 | 3 | | 38 | 17 | | 39 | 10 | | 40 | 2 | | 41 | 16 | | 42 | 37 | | 43 | 10 | | 44 | 32 | | 45 | 9 |
| |
| 96.71% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 2 | | totalSentences | 82 | | matches | | 0 | "been scratched" | | 1 | "was tailored" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 152 | | matches | | |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 9 | | semicolonCount | 0 | | flaggedSentences | 7 | | totalSentences | 99 | | ratio | 0.071 | | matches | | 0 | "Rory traced the crescent scar on her wrist absently as she waited for her usual order—Yu-Fei's cumin lamb and baskets of steaming bao—to be wrapped behind the bar." | | 1 | "Rory turned, expecting another Wednesday night regular—perhaps the journalist who nursed single malts while pretending not to eavesdrop, or the art forger who smelled of turpentine and talked too loudly about Courbet." | | 2 | "The overhead bulb caught highlights in his hair—longer now, threaded with premature silver at the temples." | | 3 | "She flexed her left hand—no ring." | | 4 | "On cue, Rory's phone buzzed—Yu-Fei's kitchen shift manager confirming her pickup time." | | 5 | "In the dim light, his crow's feet deepened—laughter lines Rory used to trace with her fingertips, now etched deeper by years she hadn't witnessed." | | 6 | "He gathered Evan's untouched second fifty-pound note—compensation for old wounds—and stuffed it into the till with finality." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 846 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 21 | | adverbRatio | 0.024822695035460994 | | lyAdverbCount | 10 | | lyAdverbRatio | 0.01182033096926714 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 99 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 99 | | mean | 10.16 | | std | 7.59 | | cv | 0.747 | | sampleLengths | | 0 | 27 | | 1 | 34 | | 2 | 28 | | 3 | 28 | | 4 | 31 | | 5 | 6 | | 6 | 32 | | 7 | 7 | | 8 | 13 | | 9 | 14 | | 10 | 16 | | 11 | 6 | | 12 | 12 | | 13 | 15 | | 14 | 14 | | 15 | 4 | | 16 | 12 | | 17 | 6 | | 18 | 2 | | 19 | 18 | | 20 | 7 | | 21 | 13 | | 22 | 20 | | 23 | 7 | | 24 | 3 | | 25 | 3 | | 26 | 17 | | 27 | 2 | | 28 | 8 | | 29 | 12 | | 30 | 12 | | 31 | 8 | | 32 | 8 | | 33 | 11 | | 34 | 16 | | 35 | 9 | | 36 | 12 | | 37 | 8 | | 38 | 8 | | 39 | 7 | | 40 | 18 | | 41 | 2 | | 42 | 6 | | 43 | 7 | | 44 | 11 | | 45 | 5 | | 46 | 12 | | 47 | 11 | | 48 | 14 | | 49 | 2 |
| |
| 80.47% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 2 | | diversityRatio | 0.494949494949495 | | totalSentences | 99 | | uniqueOpeners | 49 | |
| 92.59% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 72 | | matches | | 0 | "Instead, she saw a ghost" | | 1 | "Somewhere in the city, Evan" |
| | ratio | 0.028 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 20 | | totalSentences | 72 | | matches | | 0 | "He stood framed in the" | | 1 | "His navy peacoat was tailored," | | 2 | "he said, using the name" | | 3 | "His accent had smoothed out," | | 4 | "She flexed her left hand—no" | | 5 | "His shoes were Italian leather," | | 6 | "She didn't mention the leaky" | | 7 | "His limp was more pronounced" | | 8 | "She ignored Evan's glance at" | | 9 | "He smirked, swirling the whiskey" | | 10 | "she said lightly, taking her" | | 11 | "He drained his whiskey in" | | 12 | "They took the corner booth" | | 13 | "He studied his empty glass." | | 14 | "His thumb rubbed at a" | | 15 | "Her bao crumbled between her" | | 16 | "He opened his mouth, then" | | 17 | "he told Silas, who grunted" | | 18 | "He gathered Evan's untouched second" | | 19 | "She took a bite." |
| | ratio | 0.278 | |
| 43.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 60 | | totalSentences | 72 | | matches | | 0 | "The Raven's Nest smelled of" | | 1 | "Neon light bled green through" | | 2 | "The photograph behind him showed" | | 3 | "Rory traced the crescent scar" | | 4 | "Silas had insisted she eat" | | 5 | "The bell above the door" | | 6 | "Rory turned, expecting another Wednesday" | | 7 | "The name slipped out before" | | 8 | "He stood framed in the" | | 9 | "The overhead bulb caught highlights" | | 10 | "His navy peacoat was tailored," | | 11 | "Nothing like the boy who'd" | | 12 | "he said, using the name" | | 13 | "His accent had smoothed out," | | 14 | "Silas stopped polishing glasses." | | 15 | "Rory felt his gaze like" | | 16 | "She flexed her left hand—no" | | 17 | "Evan said, stepping closer" | | 18 | "His shoes were Italian leather," | | 19 | "The cuffs of his shirt" |
| | ratio | 0.833 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 72 | | matches | (empty) | | ratio | 0 | |
| 37.04% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 27 | | technicalSentenceCount | 4 | | matches | | 0 | "The Raven's Nest smelled of aged whiskey and wood polish, a comforting musk that clung to Rory's clothes whenever she descended the creaking stairs from her fla…" | | 1 | "Rory turned, expecting another Wednesday night regular—perhaps the journalist who nursed single malts while pretending not to eavesdrop, or the art forger who s…" | | 2 | "Nothing like the boy who'd bought second-hand blazers for moot court competitions." | | 3 | "Somewhere in the city, Evan was hailing a cab, adjusting his cufflinks, stepping back into a life that had grown around Rory's absence like bark around a nail." |
| |
| 97.22% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 1 | | matches | | 0 | "he shifted, deliberate" |
| |
| 7.14% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 11 | | fancyCount | 5 | | fancyTags | | 0 | "he shifted (shift)" | | 1 | "pound note (pound note)" | | 2 | "she corrected (correct)" | | 3 | "she agreed (agree)" | | 4 | "he muttered (mutter)" |
| | dialogueSentences | 35 | | tagDensity | 0.314 | | leniency | 0.629 | | rawRatio | 0.455 | | effectiveRatio | 0.286 | |