| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 18 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 60 | | tagDensity | 0.3 | | leniency | 0.6 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 96.30% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1351 | | 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) | |
| 85.20% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1351 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "measured" | | 1 | "pulse" | | 2 | "warmth" | | 3 | "flickered" |
| |
| 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 | 68 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 1 | | narrationSentences | 68 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 109 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 52 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1346 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 14 | | unquotedAttributions | 0 | | matches | (empty) | |
| 100.00% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 17 | | wordCount | 765 | | uniqueNames | 8 | | maxNameDensity | 0.65 | | worstName | "Silas" | | maxWindowNameDensity | 1.5 | | worstWindowName | "Silas" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Prague | 2 | | Vienna | 2 | | Silas | 5 | | Margaret | 2 | | London | 1 | | Old | 3 |
| | persons | | | places | | 0 | "Raven" | | 1 | "Prague" | | 2 | "Vienna" | | 3 | "London" |
| | globalScore | 1 | | windowScore | 1 | |
| 0.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 40 | | glossingSentenceCount | 3 | | matches | | 0 | "as though testing for weak boards" | | 1 | "something close to home" | | 2 | "tasted like something he'd once known how" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.743 | | wordCount | 1346 | | matches | | 0 | "not the loose-limbed confidence of someone who trusted the room, but a careful placement of each foot, as though testing for weak" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 109 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 62 | | mean | 21.71 | | std | 20.5 | | cv | 0.944 | | sampleLengths | | 0 | 70 | | 1 | 6 | | 2 | 10 | | 3 | 60 | | 4 | 9 | | 5 | 1 | | 6 | 1 | | 7 | 48 | | 8 | 54 | | 9 | 4 | | 10 | 7 | | 11 | 60 | | 12 | 7 | | 13 | 34 | | 14 | 5 | | 15 | 48 | | 16 | 7 | | 17 | 2 | | 18 | 58 | | 19 | 16 | | 20 | 1 | | 21 | 11 | | 22 | 10 | | 23 | 6 | | 24 | 1 | | 25 | 29 | | 26 | 18 | | 27 | 8 | | 28 | 1 | | 29 | 44 | | 30 | 6 | | 31 | 46 | | 32 | 28 | | 33 | 4 | | 34 | 2 | | 35 | 34 | | 36 | 15 | | 37 | 26 | | 38 | 44 | | 39 | 5 | | 40 | 44 | | 41 | 23 | | 42 | 5 | | 43 | 51 | | 44 | 7 | | 45 | 24 | | 46 | 5 | | 47 | 1 | | 48 | 4 | | 49 | 39 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 68 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 134 | | matches | | |
| 11.80% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 5 | | semicolonCount | 0 | | flaggedSentences | 5 | | totalSentences | 109 | | ratio | 0.046 | | matches | | 0 | "She moved differently than he remembered—not the loose-limbed confidence of someone who trusted the room, but a careful placement of each foot, as though testing for weak boards." | | 1 | "Sat on the second stool from the end—the same seat she'd always taken when they were partners, when they'd spend evenings here before he owned the place, back when it was still called something else and run by a man who owed favours to people who collected them with interest." | | 2 | "The photograph behind her, third from the left on the back wall—her and him in Vienna, 1997, standing outside a café that no longer existed." | | 3 | "The gesture struck him—she'd never been someone who held things carefully." | | 4 | "The swelling he'd noticed—her ring finger bent at an angle that hadn't been there before, the knuckle misshapen." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 771 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 28 | | adverbRatio | 0.03631647211413749 | | lyAdverbCount | 5 | | lyAdverbRatio | 0.00648508430609598 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 109 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 109 | | mean | 12.35 | | std | 11.57 | | cv | 0.937 | | sampleLengths | | 0 | 18 | | 1 | 28 | | 2 | 24 | | 3 | 6 | | 4 | 3 | | 5 | 7 | | 6 | 19 | | 7 | 13 | | 8 | 28 | | 9 | 3 | | 10 | 1 | | 11 | 5 | | 12 | 1 | | 13 | 1 | | 14 | 11 | | 15 | 4 | | 16 | 33 | | 17 | 4 | | 18 | 50 | | 19 | 4 | | 20 | 7 | | 21 | 2 | | 22 | 4 | | 23 | 25 | | 24 | 2 | | 25 | 27 | | 26 | 7 | | 27 | 10 | | 28 | 19 | | 29 | 5 | | 30 | 5 | | 31 | 26 | | 32 | 22 | | 33 | 7 | | 34 | 2 | | 35 | 5 | | 36 | 11 | | 37 | 11 | | 38 | 20 | | 39 | 11 | | 40 | 7 | | 41 | 9 | | 42 | 1 | | 43 | 11 | | 44 | 3 | | 45 | 1 | | 46 | 6 | | 47 | 6 | | 48 | 1 | | 49 | 25 |
| |
| 70.64% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 8 | | diversityRatio | 0.46788990825688076 | | totalSentences | 109 | | uniqueOpeners | 51 | |
| 0.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 0 | | totalSentences | 56 | | matches | (empty) | | ratio | 0 | |
| 34.29% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 26 | | totalSentences | 56 | | matches | | 0 | "He looked up." | | 1 | "Her hair had gone almost" | | 2 | "She moved differently than he" | | 3 | "She saw him." | | 4 | "She approached the bar." | | 5 | "They both knew it." | | 6 | "Her hair dark then, falling" | | 7 | "She didn't turn to look" | | 8 | "She set her hands flat" | | 9 | "Her knuckles had swollen, the" | | 10 | "She watched him pour" | | 11 | "He slid the glass across." | | 12 | "She picked it up with" | | 13 | "She nodded at his leg" | | 14 | "Her mouth twisted" | | 15 | "She finally drank, a measured" | | 16 | "She set the glass down" | | 17 | "His voice stayed level, the" | | 18 | "He picked up the cloth" | | 19 | "She laughed, a sound without" |
| | ratio | 0.464 | |
| 31.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 48 | | totalSentences | 56 | | matches | | 0 | "The green neon hummed its" | | 1 | "Silas stood behind the bar," | | 2 | "The bell above the frame" | | 3 | "He looked up." | | 4 | "The glass stopped moving in" | | 5 | "The woman who stepped inside" | | 6 | "Her hair had gone almost" | | 7 | "She moved differently than he" | | 8 | "She saw him." | | 9 | "The name sat between them" | | 10 | "She approached the bar." | | 11 | "They both knew it." | | 12 | "The photograph behind her, third" | | 13 | "Her hair dark then, falling" | | 14 | "She didn't turn to look" | | 15 | "She set her hands flat" | | 16 | "Her knuckles had swollen, the" | | 17 | "She watched him pour" | | 18 | "He slid the glass across." | | 19 | "She picked it up with" |
| | ratio | 0.857 | |
| 89.29% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 56 | | matches | | 0 | "Now she handled a glass" |
| | ratio | 0.018 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 6 | | matches | | 0 | "Silas stood behind the bar, polishing a glass that didn't need it, watching the door between the clink of his ring against the tumbler." | | 1 | "The woman who stepped inside wore a grey coat too heavy for the season, its shoulders dark with rain." | | 2 | "She moved differently than he remembered—not the loose-limbed confidence of someone who trusted the room, but a careful placement of each foot, as though testin…" | | 3 | "The swelling he'd noticed—her ring finger bent at an angle that hadn't been there before, the knuckle misshapen." | | 4 | "Someone passed the window, their shadow briefly crossing the photograph of Vienna, of the two of them younger and standing in a city that had been their assignm…" | | 5 | "She was already turning toward the door, her careful footfalls carrying her past the stools, past the tables, past the photograph that held a version of her tha…" |
| |
| 97.22% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 18 | | uselessAdditionCount | 1 | | matches | | 0 | "she said, not looking back" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 6 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 60 | | tagDensity | 0.1 | | leniency | 0.2 | | rawRatio | 0.167 | | effectiveRatio | 0.033 | |