| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 12 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 47 | | tagDensity | 0.255 | | leniency | 0.511 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 80.42% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1277 | | totalAiIsmAdverbs | 5 | | found | | | highlights | | 0 | "slowly" | | 1 | "very" | | 2 | "carefully" |
| |
| 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) | |
| 92.17% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1277 | | totalAiIsms | 2 | | found | | | highlights | | |
| 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 | 50 | | matches | (empty) | |
| 85.71% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 1 | | hedgeCount | 1 | | narrationSentences | 50 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 85 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 80 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1293 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 11 | | unquotedAttributions | 0 | | matches | (empty) | |
| 33.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 51 | | wordCount | 919 | | uniqueNames | 7 | | maxNameDensity | 2.29 | | worstName | "Mairead" | | maxWindowNameDensity | 4 | | worstWindowName | "Mairead" | | discoveredNames | | Raven | 1 | | Nest | 1 | | Rory | 19 | | Silas | 6 | | Mairead | 21 | | Cardiff | 2 | | Jameson | 1 |
| | persons | | 0 | "Raven" | | 1 | "Nest" | | 2 | "Rory" | | 3 | "Silas" | | 4 | "Mairead" | | 5 | "Jameson" |
| | places | | | globalScore | 0.357 | | windowScore | 0.333 | |
| 66.67% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 30 | | glossingSentenceCount | 1 | | matches | | |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.773 | | wordCount | 1293 | | matches | | 0 | "not what I am, but it's what I do" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 0 | | totalSentences | 85 | | matches | (empty) | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 50 | | mean | 25.86 | | std | 32.21 | | cv | 1.245 | | sampleLengths | | 0 | 96 | | 1 | 30 | | 2 | 5 | | 3 | 72 | | 4 | 6 | | 5 | 102 | | 6 | 1 | | 7 | 10 | | 8 | 1 | | 9 | 88 | | 10 | 14 | | 11 | 3 | | 12 | 43 | | 13 | 2 | | 14 | 4 | | 15 | 48 | | 16 | 5 | | 17 | 4 | | 18 | 5 | | 19 | 4 | | 20 | 65 | | 21 | 24 | | 22 | 92 | | 23 | 2 | | 24 | 2 | | 25 | 4 | | 26 | 65 | | 27 | 44 | | 28 | 4 | | 29 | 10 | | 30 | 2 | | 31 | 15 | | 32 | 52 | | 33 | 4 | | 34 | 97 | | 35 | 1 | | 36 | 2 | | 37 | 1 | | 38 | 3 | | 39 | 4 | | 40 | 100 | | 41 | 20 | | 42 | 4 | | 43 | 8 | | 44 | 50 | | 45 | 7 | | 46 | 1 | | 47 | 7 | | 48 | 16 | | 49 | 44 |
| |
| 77.19% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 4 | | totalSentences | 50 | | matches | | 0 | "being told" | | 1 | "was gone" | | 2 | "was, landed" | | 3 | "were tired" |
| |
| 0.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 5 | | totalVerbs | 154 | | matches | | 0 | "was considering" | | 1 | "was already pouring" | | 2 | "was polishing" | | 3 | "was certainly listening" | | 4 | "was not listening" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 2 | | flaggedSentences | 7 | | totalSentences | 85 | | ratio | 0.082 | | matches | | 0 | "Behind her, the bar kept its usual low hum — the tap of a glass being set down, the clack of someone's ring against mahogany, Silas's voice somewhere in the back room murmuring to a regular in the patient, unhurried cadence that used to remind her, when she'd first moved in above the place, of her father reading briefs aloud over breakfast." | | 1 | "She wore a wool coat that was expensive and a little too big, and her hands — Rory noticed because she had always noticed Mairead's hands, which had been the delicate hands of a pianist who never practiced — were now marked along the knuckles with something that looked like old burns." | | 2 | "The crescent scar on her wrist caught the light — faint, silver, the same scar Mairead had been there for when she got it, the summer they were eight and the garden wall had crumbled under them both." | | 3 | "Mairead turned to look at her properly, and her eyes — which had always been the color of weak tea, unremarkable and lovely — were unremarkable still, but they were tired in a way that Rory recognized, because she saw it sometimes in the mirror, and more often in Silas, and once in her own mother, the week before she'd stopped being able to teach." | | 4 | "The bar seemed, for a moment, to have gone quiet, though of course it hadn't; her own hearing had simply narrowed." | | 5 | "The rain had thickened outside; Rory could hear it now, a proper hiss against the pavement." | | 6 | "She thought of the kitchen floor in Cardiff, and the tea towel, and the way she had promised Mairead — a promise so unremarkable she had forgotten making it until this moment — that they would always, always tell each other the bad things first." |
| |
| 91.51% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 664 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 33 | | adverbRatio | 0.04969879518072289 | | lyAdverbCount | 4 | | lyAdverbRatio | 0.006024096385542169 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 85 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 85 | | mean | 15.21 | | std | 18.05 | | cv | 1.186 | | sampleLengths | | 0 | 34 | | 1 | 62 | | 2 | 30 | | 3 | 4 | | 4 | 1 | | 5 | 33 | | 6 | 3 | | 7 | 5 | | 8 | 31 | | 9 | 4 | | 10 | 2 | | 11 | 20 | | 12 | 30 | | 13 | 52 | | 14 | 1 | | 15 | 10 | | 16 | 1 | | 17 | 2 | | 18 | 60 | | 19 | 4 | | 20 | 8 | | 21 | 14 | | 22 | 6 | | 23 | 8 | | 24 | 3 | | 25 | 22 | | 26 | 4 | | 27 | 17 | | 28 | 2 | | 29 | 4 | | 30 | 5 | | 31 | 38 | | 32 | 2 | | 33 | 3 | | 34 | 3 | | 35 | 2 | | 36 | 4 | | 37 | 5 | | 38 | 4 | | 39 | 2 | | 40 | 20 | | 41 | 21 | | 42 | 11 | | 43 | 11 | | 44 | 24 | | 45 | 68 | | 46 | 24 | | 47 | 2 | | 48 | 2 | | 49 | 4 |
| |
| 59.61% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 11 | | diversityRatio | 0.43529411764705883 | | totalSentences | 85 | | uniqueOpeners | 37 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 41 | | matches | | 0 | "Of course it was Mairead." | | 1 | "Then it was gone." |
| | ratio | 0.049 | |
| 100.00% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 9 | | totalSentences | 41 | | matches | | 0 | "She was halfway through her" | | 1 | "It was Mairead." | | 2 | "She wore a wool coat" | | 3 | "He drifted back toward the" | | 4 | "She said all of this" | | 5 | "They sat with that." | | 6 | "She thought of all the" | | 7 | "She thought of the kitchen" | | 8 | "She reached across the small" |
| | ratio | 0.22 | |
| 33.17% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 35 | | totalSentences | 41 | | matches | | 0 | "The green neon of the" | | 1 | "She was halfway through her" | | 2 | "the woman said" | | 3 | "Rory turned slowly, because part" | | 4 | "It was Mairead." | | 5 | "Mairead, whom she had last" | | 6 | "The girl Rory remembered had" | | 7 | "This woman was thinner, harder," | | 8 | "She wore a wool coat" | | 9 | "Rory caught Silas's eye over" | | 10 | "That was his trick." | | 11 | "That was how he'd made" | | 12 | "He drifted back toward the" | | 13 | "Mairead smiled, and in the" | | 14 | "Rory lowered her hand, self-conscious." | | 15 | "The crescent scar on her" | | 16 | "Mairead always noticed." | | 17 | "Rory watched Mairead's profile and" | | 18 | "A vertical line between the" | | 19 | "Rory asked, and the question," |
| | ratio | 0.854 | |
| 0.00% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 0 | | totalSentences | 41 | | matches | (empty) | | ratio | 0 | |
| 0.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 23 | | technicalSentenceCount | 8 | | matches | | 0 | "Behind her, the bar kept its usual low hum — the tap of a glass being set down, the clack of someone's ring against mahogany, Silas's voice somewhere in the bac…" | | 1 | "Rory turned slowly, because part of her already knew, had known from the particular way the door had hesitated before opening, as though whoever stood on the ot…" | | 2 | "The girl Rory remembered had been soft-edged and freckled, with a mouth that was always half-open in laughter or surprise." | | 3 | "This woman was thinner, harder, her hair cropped close to her skull in a way that made her skull look too present, too much like a thing under the skin." | | 4 | "She wore a wool coat that was expensive and a little too big, and her hands — Rory noticed because she had always noticed Mairead's hands, which had been the de…" | | 5 | "Rory caught Silas's eye over her shoulder, a silent request, and Silas, who missed nothing, was already pouring the Jameson Mairead used to drink without being …" | | 6 | "Mairead turned to look at her properly, and her eyes — which had always been the color of weak tea, unremarkable and lovely — were unremarkable still, but they …" | | 7 | "Silas, at the far end, was polishing a glass with the unhurried attention of a man who was not listening and was certainly listening." |
| |
| 83.33% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 12 | | uselessAdditionCount | 1 | | matches | | 0 | "She said, as though she'd rehearsed it, or as though she didn't want to give Rory time to interrupt" |
| |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 8 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 47 | | tagDensity | 0.17 | | leniency | 0.34 | | rawRatio | 0 | | effectiveRatio | 0 | |