| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 1 | | adverbTagCount | 0 | | adverbTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.091 | | leniency | 0.182 | | rawRatio | 0 | | effectiveRatio | 0 | |
| 100.00% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 1598 | | totalAiIsmAdverbs | 0 | | found | (empty) | | highlights | (empty) | |
| 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) | |
| 81.23% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 1598 | | totalAiIsms | 6 | | found | | | highlights | | 0 | "flicker" | | 1 | "footsteps" | | 2 | "echo" | | 3 | "pulse" | | 4 | "pulsed" |
| |
| 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 | 1 | | narrationSentences | 180 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 0 | | hedgeCount | 2 | | narrationSentences | 180 | | filterMatches | (empty) | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 190 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | repeatedSegmentCount | 0 | | maxSentenceWordsSeen | 33 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 0 | | markdownWords | 0 | | totalWords | 1598 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 4 | | unquotedAttributions | 0 | | matches | (empty) | |
| 92.71% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 38 | | wordCount | 1571 | | uniqueNames | 14 | | maxNameDensity | 1.15 | | worstName | "Aurora" | | maxWindowNameDensity | 2 | | worstWindowName | "Aurora" | | discoveredNames | | Golden | 1 | | Empress | 1 | | Carter | 2 | | Aurora | 18 | | Silas | 2 | | Richmond | 1 | | Park | 1 | | London | 1 | | Cardiff | 3 | | Jennifer | 1 | | Sunday | 1 | | Brendan | 1 | | Rory | 1 | | One | 4 |
| | persons | | 0 | "Carter" | | 1 | "Aurora" | | 2 | "Silas" | | 3 | "Jennifer" | | 4 | "Brendan" | | 5 | "Rory" | | 6 | "One" |
| | places | | 0 | "Richmond" | | 1 | "Park" | | 2 | "London" | | 3 | "Cardiff" |
| | globalScore | 0.927 | | windowScore | 1 | |
| 100.00% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 128 | | 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 | 1598 | | matches | (empty) | |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 2 | | totalSentences | 190 | | matches | | 0 | "passing that light" | | 1 | "faced that direction" |
| |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 94 | | mean | 17 | | std | 15.86 | | cv | 0.933 | | sampleLengths | | 0 | 19 | | 1 | 17 | | 2 | 19 | | 3 | 50 | | 4 | 50 | | 5 | 8 | | 6 | 45 | | 7 | 10 | | 8 | 24 | | 9 | 42 | | 10 | 22 | | 11 | 4 | | 12 | 7 | | 13 | 50 | | 14 | 7 | | 15 | 55 | | 16 | 12 | | 17 | 26 | | 18 | 4 | | 19 | 3 | | 20 | 32 | | 21 | 5 | | 22 | 47 | | 23 | 7 | | 24 | 3 | | 25 | 10 | | 26 | 27 | | 27 | 9 | | 28 | 10 | | 29 | 11 | | 30 | 18 | | 31 | 30 | | 32 | 4 | | 33 | 10 | | 34 | 1 | | 35 | 41 | | 36 | 4 | | 37 | 7 | | 38 | 42 | | 39 | 15 | | 40 | 4 | | 41 | 4 | | 42 | 10 | | 43 | 24 | | 44 | 18 | | 45 | 2 | | 46 | 8 | | 47 | 2 | | 48 | 5 | | 49 | 2 |
| |
| 100.00% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 1 | | totalSentences | 180 | | matches | | |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 1 | | totalVerbs | 262 | | matches | | |
| 100.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 0 | | semicolonCount | 1 | | flaggedSentences | 1 | | totalSentences | 190 | | ratio | 0.005 | | matches | | 0 | "One step carried the hiss of tyres on wet asphalt; the next held only the crush of her boot through grass." |
| |
| 100.00% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1579 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 35 | | adverbRatio | 0.022165927802406588 | | lyAdverbCount | 6 | | lyAdverbRatio | 0.0037998733375554147 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 190 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 190 | | mean | 8.41 | | std | 5.56 | | cv | 0.661 | | sampleLengths | | 0 | 19 | | 1 | 2 | | 2 | 1 | | 3 | 6 | | 4 | 6 | | 5 | 2 | | 6 | 19 | | 7 | 20 | | 8 | 5 | | 9 | 25 | | 10 | 20 | | 11 | 30 | | 12 | 8 | | 13 | 10 | | 14 | 15 | | 15 | 20 | | 16 | 10 | | 17 | 2 | | 18 | 1 | | 19 | 21 | | 20 | 2 | | 21 | 12 | | 22 | 8 | | 23 | 11 | | 24 | 9 | | 25 | 4 | | 26 | 2 | | 27 | 2 | | 28 | 14 | | 29 | 4 | | 30 | 7 | | 31 | 9 | | 32 | 16 | | 33 | 9 | | 34 | 16 | | 35 | 7 | | 36 | 11 | | 37 | 10 | | 38 | 9 | | 39 | 13 | | 40 | 12 | | 41 | 8 | | 42 | 4 | | 43 | 7 | | 44 | 6 | | 45 | 3 | | 46 | 10 | | 47 | 4 | | 48 | 3 | | 49 | 13 |
| |
| 47.89% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 14 | | diversityRatio | 0.33157894736842103 | | totalSentences | 190 | | uniqueOpeners | 63 | |
| 100.00% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 5 | | totalSentences | 163 | | matches | | 0 | "Then she had chained her" | | 1 | "Then came one more step," | | 2 | "Only the grass within the" | | 3 | "Instead, the ground softened beneath" | | 4 | "Then her own voice spoke" |
| | ratio | 0.031 | |
| 99.75% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 49 | | totalSentences | 163 | | matches | | 0 | "She had found the note" | | 1 | "She had photographed the note," | | 2 | "She did not intend to" | | 3 | "Its silver chain had caught" | | 4 | "She could see the railing" | | 5 | "She could not hear the" | | 6 | "She checked her phone." | | 7 | "Her voice entered the clearing" | | 8 | "They stood around her now," | | 9 | "She had passed dead bracken" | | 10 | "Their colours held in the" | | 11 | "She stepped away from the" | | 12 | "Her phone changed to midnight." | | 13 | "She would give the writer" | | 14 | "She took four paces towards" | | 15 | "She heard five." | | 16 | "She turned with the torch." | | 17 | "Her boot settled." | | 18 | "She changed direction." | | 19 | "She pressed her tongue against" |
| | ratio | 0.301 | |
| 61.23% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 130 | | totalSentences | 163 | | matches | | 0 | "The note had used her" | | 1 | "The clearing beyond the oak" | | 2 | "She had found the note" | | 3 | "Yu-Fei had been at the" | | 4 | "She had photographed the note," | | 5 | "She did not intend to" | | 6 | "The pendant rested beneath her" | | 7 | "Its silver chain had caught" | | 8 | "The crimson stone, no bigger" | | 9 | "The path remained behind her," | | 10 | "She could see the railing" | | 11 | "She could not hear the" | | 12 | "She checked her phone." | | 13 | "The scheduled message sat in" | | 14 | "Her voice entered the clearing" | | 15 | "The note’s directions had described" | | 16 | "They stood around her now," | | 17 | "Roots had buckled the ground" | | 18 | "She had passed dead bracken" | | 19 | "November had stripped the park" |
| | ratio | 0.798 | |
| 30.67% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 163 | | matches | | 0 | "Now the torch beam entered" |
| | ratio | 0.006 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 65 | | technicalSentenceCount | 2 | | matches | | 0 | "The single name carried Cardiff in its vowels and the note of impatience that used to bring Aurora in from the garden when she was nine, one shoe missing and bo…" | | 1 | "She had complained about the rain, asked whether Brendan had remembered his hospital appointment, and told Rory to eat something that had not come out of a card…" |
| |
| 100.00% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 1 | | uselessAdditionCount | 0 | | matches | (empty) | |
| 100.00% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 1 | | fancyCount | 0 | | fancyTags | (empty) | | dialogueSentences | 11 | | tagDensity | 0.091 | | leniency | 0.182 | | rawRatio | 0 | | effectiveRatio | 0 | |