| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 27 | | adverbTagCount | 1 | | adverbTags | | 0 | "She looked around [around]" |
| | dialogueSentences | 64 | | tagDensity | 0.422 | | leniency | 0.844 | | rawRatio | 0.037 | | effectiveRatio | 0.031 | |
| 94.11% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1699 | | totalAiIsmAdverbs | 2 | | 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) | |
| 88.23% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1699 | | totalAiIsms | 4 | | found | | | highlights | | 0 | "familiar" | | 1 | "grave" | | 2 | "silence" |
| |
| 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 | 79 | | matches | (empty) | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 79 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 116 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 84 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1705 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 26 | | unquotedAttributions | 1 | | matches | | 0 | "She looked at the crescent of her own scar, pale on the left wrist, the tin at Barry Island, the summer they were eleven…" |
| |
| 16.67% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 58 | | wordCount | 1035 | | uniqueNames | 17 | | maxNameDensity | 1.93 | | worstName | "Nia" | | maxWindowNameDensity | 4.5 | | worstWindowName | "Nia" | | discoveredNames | | Nest | 1 | | Golden | 1 | | Empress | 1 | | Miss | 1 | | Cheung | 1 | | Soho | 1 | | Silas | 5 | | Prague | 1 | | Price | 1 | | Rory | 17 | | Dr | 1 | | Cardiff | 1 | | Nia | 20 | | Shiraz | 1 | | Barry | 1 | | Island | 1 | | Four | 3 |
| | persons | | 0 | "Miss" | | 1 | "Cheung" | | 2 | "Silas" | | 3 | "Price" | | 4 | "Rory" | | 5 | "Dr" | | 6 | "Nia" | | 7 | "Shiraz" |
| | places | | 0 | "Soho" | | 1 | "Prague" | | 2 | "Cardiff" | | 3 | "Barry" | | 4 | "Island" |
| | globalScore | 0.534 | | windowScore | 0.167 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 53 | | 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 | 1705 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 116 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 57 | | mean | 29.91 | | std | 27.87 | | cv | 0.932 | | sampleLengths | | 0 | 108 | | 1 | 51 | | 2 | 20 | | 3 | 53 | | 4 | 2 | | 5 | 74 | | 6 | 35 | | 7 | 23 | | 8 | 1 | | 9 | 23 | | 10 | 13 | | 11 | 8 | | 12 | 15 | | 13 | 39 | | 14 | 5 | | 15 | 5 | | 16 | 9 | | 17 | 57 | | 18 | 3 | | 19 | 84 | | 20 | 1 | | 21 | 5 | | 22 | 4 | | 23 | 38 | | 24 | 16 | | 25 | 3 | | 26 | 23 | | 27 | 1 | | 28 | 8 | | 29 | 14 | | 30 | 8 | | 31 | 71 | | 32 | 3 | | 33 | 12 | | 34 | 88 | | 35 | 17 | | 36 | 61 | | 37 | 46 | | 38 | 48 | | 39 | 33 | | 40 | 104 | | 41 | 6 | | 42 | 14 | | 43 | 40 | | 44 | 36 | | 45 | 64 | | 46 | 8 | | 47 | 86 | | 48 | 21 | | 49 | 25 |
| |
| 87.50% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 79 | | matches | | 0 | "been lit" | | 1 | "been reorganized" | | 2 | "was gone" | | 3 | "was written" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 164 | | matches | | 0 | "was drinking" | | 1 | "was looking" |
| |
| 19.70% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 6 | | semicolonCount | 1 | | flaggedSentences | 5 | | totalSentences | 116 | | ratio | 0.043 | | matches | | 0 | "Rory read her the way she read everyone now — hands, posture, the angle of the phone against her ear, the distance to the bookshelf at the back — and had reached the end of the calculation, no threat, no tail, before the woman turned and the bottom dropped out of the arithmetic." | | 1 | "She looked at the crescent of her own scar, pale on the left wrist, the tin at Barry Island, the summer they were eleven, Nia shrieking on the wet rocks beside her — and made herself look up." | | 2 | "Silas had drifted to the far end of the bar, polishing a glass that was already clean, giving them the room the way he gave everyone room — one eye on the door, one on the bookshelf, both hands quiet." | | 3 | "\"Havard would've had me dead by forty.\" And then Rory said, in a low, mournful voice, a book balanced on one palm: \"Ladies, the law is a jealous mistress, and she will not wait,\" and Nia laughed — the real one, head back, the sound that used to set off the fire alarm in halls because it never came quietly — and the laugh filled the small bar and then died into a silence where both of them could hear the girl still living inside it." | | 4 | "\"Don't lose this number. I mean it. I've had four years of practice being angry at you and none of it works by post.\" The door opened; the green light washed over her face." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1035 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 24 | | adverbRatio | 0.02318840579710145 | | lyAdverbCount | 9 | | lyAdverbRatio | 0.008695652173913044 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 116 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 116 | | mean | 14.7 | | std | 15.55 | | cv | 1.058 | | sampleLengths | | 0 | 46 | | 1 | 34 | | 2 | 28 | | 3 | 14 | | 4 | 37 | | 5 | 20 | | 6 | 53 | | 7 | 2 | | 8 | 27 | | 9 | 8 | | 10 | 2 | | 11 | 37 | | 12 | 6 | | 13 | 18 | | 14 | 11 | | 15 | 5 | | 16 | 18 | | 17 | 1 | | 18 | 3 | | 19 | 15 | | 20 | 3 | | 21 | 2 | | 22 | 8 | | 23 | 5 | | 24 | 7 | | 25 | 1 | | 26 | 10 | | 27 | 5 | | 28 | 2 | | 29 | 37 | | 30 | 5 | | 31 | 5 | | 32 | 6 | | 33 | 3 | | 34 | 3 | | 35 | 22 | | 36 | 29 | | 37 | 3 | | 38 | 3 | | 39 | 13 | | 40 | 27 | | 41 | 44 | | 42 | 1 | | 43 | 5 | | 44 | 4 | | 45 | 11 | | 46 | 19 | | 47 | 8 | | 48 | 16 | | 49 | 3 |
| |
| 55.46% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.4051724137931034 | | totalSentences | 116 | | uniqueOpeners | 47 | |
| 52.91% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 1 | | totalSentences | 63 | | matches | | 0 | "Then she was gone, and" |
| | ratio | 0.016 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 14 | | totalSentences | 63 | | matches | | 0 | "She knew the latch, knew" | | 1 | "She stayed on the stool." | | 2 | "It was, she would think" | | 3 | "She looked at the maps," | | 4 | "She shook her head, rallied" | | 5 | "She looked around the room" | | 6 | "She was looking at the" | | 7 | "It came out flat, no" | | 8 | "I'll explain everything soon." | | 9 | "Her voice sounded far away" | | 10 | "She looked at the crescent" | | 11 | "She pressed the heel of" | | 12 | "She stood, wound herself into" | | 13 | "He set the glass in" |
| | ratio | 0.222 | |
| 31.43% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 54 | | totalSentences | 63 | | matches | | 0 | "The rain had emptied the" | | 1 | "Rory sat at the end" | | 2 | "The silver signet on his" | | 3 | "The door opened at twenty" | | 4 | "Rory read her the way" | | 5 | "The last time Rory had" | | 6 | "Havard's contracts lectures, at the" | | 7 | "The bookshelf was three steps" | | 8 | "She knew the latch, knew" | | 9 | "The old reflex rose in" | | 10 | "She stayed on the stool." | | 11 | "It was, she would think" | | 12 | "The phone lowered." | | 13 | "Recognition arrived on Nia's face" | | 14 | "Silas said from the shelves," | | 15 | "Nia blinked at him, then" | | 16 | "Rory pulled out the next" | | 17 | "She looked at the maps," | | 18 | "The Shiraz arrived." | | 19 | "Nia wrapped both hands around" |
| | ratio | 0.857 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 63 | | matches | (empty) | | ratio | 0 | |
| 32.97% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 26 | | technicalSentenceCount | 4 | | matches | | 0 | "Rory sat at the end of the bar with the Golden Empress bag at her feet, reconciling Miss Cheung's receipts against a rain that had made a liar of every delivery…" | | 1 | "She looked at the maps, at the black-and-white photographs, at the barman with the grey-streaked auburn beard who was now setting down a whiskey Rory hadn't ord…" | | 2 | "Silas had drifted to the far end of the bar, polishing a glass that was already clean, giving them the room the way he gave everyone room — one eye on the door,…" | | 3 | "Rory looked at her oldest friend's sharp new haircut and careful coat and the ring box that was surely in one of those pockets." |
| |
| 87.96% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 27 | | uselessAdditionCount | 2 | | matches | | 0 | "Silas said, not turning" | | 1 | "She shook, rallied" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 12 | | fancyCount | 1 | | fancyTags | | | dialogueSentences | 64 | | tagDensity | 0.188 | | leniency | 0.375 | | rawRatio | 0.083 | | effectiveRatio | 0.031 | |