| 100.00% | Adverbs in dialogue tags | Target: ≤10% dialogue tags with adverbs | | totalTags | 21 | | adverbTagCount | 1 | | adverbTags | | 0 | "he said slowly [slowly]" |
| | dialogueSentences | 43 | | tagDensity | 0.488 | | leniency | 0.977 | | rawRatio | 0.048 | | effectiveRatio | 0.047 | |
| 92.23% | AI-ism adverb frequency | Target: <2% AI-ism adverbs (58 tracked) | | wordCount | 2573 | | totalAiIsmAdverbs | 4 | | found | | | highlights | | 0 | "very" | | 1 | "suddenly" | | 2 | "slowly" |
| |
| 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) | |
| 72.79% | AI-ism word frequency | Target: <2% AI-ism words (290 tracked) | | wordCount | 2573 | | totalAiIsms | 14 | | found | | | highlights | | 0 | "chill" | | 1 | "weight" | | 2 | "measured" | | 3 | "tracing" | | 4 | "tension" | | 5 | "warmth" | | 6 | "silence" | | 7 | "tenderness" | | 8 | "traced" | | 9 | "flicker" |
| |
| 100.00% | Cliché density | Target: ≤1 cliche(s) per 800-word window | | totalCliches | 1 | | maxInWindow | 1 | | found | | 0 | | label | "eyes widened/narrowed" | | count | 1 |
|
| | highlights | | |
| 100.00% | Emotion telling (show vs. tell) | Target: ≤3% sentences with emotion telling | | emotionTells | 1 | | narrationSentences | 133 | | matches | | |
| 100.00% | Filter word density | Target: ≤3% sentences with filter/hedge words | | filterCount | 2 | | hedgeCount | 1 | | narrationSentences | 133 | | filterMatches | | | hedgeMatches | | |
| 100.00% | Gibberish response detection | Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words) | | analyzedSentences | 155 | | gibberishSentences | 0 | | adjustedGibberishSentences | 0 | | longSentenceCount | 0 | | runOnParagraphCount | 0 | | giantParagraphCount | 0 | | wordSaladCount | 0 | | repetitionLoopCount | 0 | | controlTokenCount | 0 | | maxSentenceWordsSeen | 77 | | ratio | 0 | | matches | (empty) | |
| 100.00% | Markdown formatting overuse | Target: ≤5% words in markdown formatting | | markdownSpans | 1 | | markdownWords | 17 | | totalWords | 2564 | | ratio | 0.007 | | matches | | 0 | "Hi, it’s me, the girl who vanished after you saved her. Still alive. Still not a lawyer." |
| |
| 100.00% | Missing dialogue indicators (quotation marks) | Target: ≤10% speech attributions without quotation marks | | totalAttributions | 30 | | unquotedAttributions | 0 | | matches | (empty) | |
| 83.33% | Name drop frequency | Target: ≤1.0 per-name mentions per 100 words | | totalMentions | 46 | | wordCount | 1814 | | uniqueNames | 15 | | maxNameDensity | 0.83 | | worstName | "Aurora" | | maxWindowNameDensity | 2.5 | | worstWindowName | "Aurora" | | discoveredNames | | Aurora | 15 | | Carter | 2 | | London | 2 | | Raven | 2 | | Nest | 2 | | Silas | 11 | | Cardiff | 1 | | Evan | 2 | | Prague | 2 | | Irish | 1 | | Eva | 2 | | Spymaster | 1 | | Soho | 1 | | Welsh | 1 | | Yu-Fei | 1 |
| | persons | | 0 | "Aurora" | | 1 | "Carter" | | 2 | "Raven" | | 3 | "Silas" | | 4 | "Evan" | | 5 | "Eva" | | 6 | "Spymaster" | | 7 | "Yu-Fei" |
| | places | | 0 | "London" | | 1 | "Cardiff" | | 2 | "Prague" | | 3 | "Soho" |
| | globalScore | 1 | | windowScore | 0.833 | |
| 48.99% | Narrator intent-glossing | Target: ≤2% narration sentences with intent-glossing patterns | | analyzedSentences | 99 | | glossingSentenceCount | 4 | | matches | | 0 | "sounded like an old gate swinging on ruste" | | 1 | "crets and now, apparently, pint glasses" | | 2 | "felt like something she had to carry al" | | 3 | "felt like forgiveness in a language she" |
| |
| 100.00% | "Not X but Y" pattern overuse | Target: ≤1 "not X but Y" per 1000 words | | totalMatches | 1 | | per1kWords | 0.39 | | wordCount | 2564 | | matches | | 0 | "not lighter, exactly, but distributed more evenly between them" |
| |
| 100.00% | Overuse of "that" (subordinate clause padding) | Target: ≤2% sentences with "that" clauses | | thatCount | 1 | | totalSentences | 155 | | matches | | |
| 100.00% | Paragraph length variance | Target: CV ≥0.5 for paragraph word counts | | totalParagraphs | 56 | | mean | 45.79 | | std | 26.45 | | cv | 0.578 | | sampleLengths | | 0 | 85 | | 1 | 65 | | 2 | 86 | | 3 | 3 | | 4 | 99 | | 5 | 19 | | 6 | 23 | | 7 | 27 | | 8 | 57 | | 9 | 12 | | 10 | 64 | | 11 | 32 | | 12 | 4 | | 13 | 10 | | 14 | 41 | | 15 | 38 | | 16 | 65 | | 17 | 61 | | 18 | 36 | | 19 | 23 | | 20 | 72 | | 21 | 28 | | 22 | 58 | | 23 | 68 | | 24 | 48 | | 25 | 39 | | 26 | 7 | | 27 | 22 | | 28 | 38 | | 29 | 8 | | 30 | 11 | | 31 | 39 | | 32 | 76 | | 33 | 61 | | 34 | 60 | | 35 | 66 | | 36 | 65 | | 37 | 98 | | 38 | 29 | | 39 | 60 | | 40 | 54 | | 41 | 51 | | 42 | 32 | | 43 | 14 | | 44 | 17 | | 45 | 27 | | 46 | 84 | | 47 | 80 | | 48 | 95 | | 49 | 58 |
| |
| 97.35% | Passive voice overuse | Target: ≤2% passive sentences | | passiveCount | 3 | | totalSentences | 133 | | matches | | 0 | "been dusted" | | 1 | "was crooked" | | 2 | "being lifted" |
| |
| 100.00% | Past progressive (was/were + -ing) overuse | Target: ≤2% past progressive verbs | | pastProgressiveCount | 2 | | totalVerbs | 303 | | matches | | 0 | "were testing" | | 1 | "was only beginning" |
| |
| 0.00% | Em-dash & semicolon overuse | Target: ≤2% sentences with em-dashes/semicolons | | emDashCount | 8 | | semicolonCount | 5 | | flaggedSentences | 12 | | totalSentences | 155 | | ratio | 0.077 | | matches | | 0 | "The walls remained a museum of other people’s histories—maps of continents that no longer existed under their original names, black-and-white photographs of men in trilbies and women with victory-roll hairstyles." | | 1 | "His auburn hair had surrendered more ground to silver; the neatly trimmed beard followed suit." | | 2 | "The limp became more pronounced as he turned; she watched the minute adjustment of his hip, the way his left knee refused to bend with full trust." | | 3 | "Eva—childhood friend, the one who had pressed a train ticket to London into Aurora’s palm at 2 a.m." | | 4 | "When he spoke again his voice had dropped to the register she remembered from the secret room behind the bookshelf—the room where he had once taught her how to read a man’s intentions in the tension of his shoulders." | | 5 | "The Spymaster had always kept his emotions behind reinforced glass; now the glass had aged, grown thinner." | | 6 | "Around them the bar continued its quiet nighttime business—glasses clinking, a woman laughing too loudly at the corner table, rain tapping at the windows like impatient fingers." | | 7 | "The conversation did not end there; it stretched on through another round of whiskey, through shared memories of late-night conversations about MI6 protocol and Welsh lullabies, through the slow acknowledgment that time had taken pieces from both of them and given nothing back except the chance to sit here now, scarred and older and still, somehow, known." | | 8 | "Aurora traced the rim of her glass and felt the weight of the years settle differently—not lighter, exactly, but distributed more evenly between them." | | 9 | "They spoke of smaller things then—how the maps on the walls had yellowed further, how Yu-Fei’s spring rolls had improved, how the secret room behind the bookshelf still contained the same battered leather chair where she had once fallen asleep listening to him recount sanitized versions of his Prague mission." | | 10 | "The past had taken enough of the evening; they let it linger, like good whiskey, warming the spaces regret had carved out." | | 11 | "The rhythm of it—lock turning, chairs being lifted, the soft click of the lights—felt like forgiveness in a language she was only beginning to remember how to speak." |
| |
| 93.88% | Purple prose (modifier overload) | Target: <4% adverbs, <2% -ly adverbs, no adj stacking | | wordCount | 1830 | | adjectiveStacks | 0 | | stackExamples | (empty) | | adverbCount | 86 | | adverbRatio | 0.046994535519125684 | | lyAdverbCount | 28 | | lyAdverbRatio | 0.015300546448087432 | |
| 100.00% | Repeated phrase echo | Target: ≤20% sentences with echoes (window: 2) | | totalSentences | 155 | | echoCount | 0 | | echoWords | (empty) | |
| 100.00% | Sentence length variance | Target: CV ≥0.4 for sentence word counts | | totalSentences | 155 | | mean | 16.54 | | std | 12.56 | | cv | 0.759 | | sampleLengths | | 0 | 30 | | 1 | 29 | | 2 | 11 | | 3 | 15 | | 4 | 9 | | 5 | 30 | | 6 | 8 | | 7 | 9 | | 8 | 9 | | 9 | 17 | | 10 | 14 | | 11 | 15 | | 12 | 18 | | 13 | 3 | | 14 | 19 | | 15 | 3 | | 16 | 6 | | 17 | 5 | | 18 | 30 | | 19 | 22 | | 20 | 11 | | 21 | 25 | | 22 | 3 | | 23 | 16 | | 24 | 15 | | 25 | 8 | | 26 | 18 | | 27 | 9 | | 28 | 5 | | 29 | 17 | | 30 | 7 | | 31 | 20 | | 32 | 5 | | 33 | 3 | | 34 | 4 | | 35 | 8 | | 36 | 10 | | 37 | 27 | | 38 | 16 | | 39 | 11 | | 40 | 14 | | 41 | 15 | | 42 | 3 | | 43 | 4 | | 44 | 8 | | 45 | 2 | | 46 | 21 | | 47 | 20 | | 48 | 5 | | 49 | 9 |
| |
| 56.34% | Sentence opener variety | Target: ≥60% unique sentence openers | | consecutiveRepeats | 6 | | diversityRatio | 0.36129032258064514 | | totalSentences | 155 | | uniqueOpeners | 56 | |
| 55.56% | Adverb-first sentence starts | Target: ≥3% sentences starting with an adverb | | adverbCount | 2 | | totalSentences | 120 | | matches | | 0 | "Only the woman standing at" | | 1 | "Only Silas knew the real" |
| | ratio | 0.017 | |
| 93.33% | Pronoun-first sentence starts | Target: ≤30% sentences starting with a pronoun | | pronounCount | 38 | | totalSentences | 120 | | matches | | 0 | "She paused with one hand" | | 1 | "She found him behind the" | | 2 | "His auburn hair had surrendered" | | 3 | "She did not." | | 4 | "He looked up." | | 5 | "She crossed to the bar," | | 6 | "She slid onto a stool." | | 7 | "She saw him notice it." | | 8 | "He said nothing." | | 9 | "she told him" | | 10 | "He reached for a bottle" | | 11 | "He poured a second for" | | 12 | "He leaned against the back" | | 13 | "She took a slow sip." | | 14 | "She had tried." | | 15 | "She had not looked back." | | 16 | "He set the glass down" | | 17 | "She watched his face as" | | 18 | "he reminded her" | | 19 | "She saw it in the" |
| | ratio | 0.317 | |
| 68.33% | Subject-first sentence starts | Target: ≤72% sentences starting with a subject | | subjectCount | 94 | | totalSentences | 120 | | matches | | 0 | "The green neon sign above" | | 1 | "She paused with one hand" | | 2 | "The walls remained a museum" | | 3 | "Nothing had been dusted out" | | 4 | "The same low lamps cast" | | 5 | "Aurora’s bright blue eyes moved" | | 6 | "She found him behind the" | | 7 | "His auburn hair had surrendered" | | 8 | "The slight limp announced itself" | | 9 | "She did not." | | 10 | "The silver signet ring on" | | 11 | "He looked up." | | 12 | "Hazel eyes narrowed, then widened." | | 13 | "Recognition arrived in stages, the" | | 14 | "The girl he remembered had" | | 15 | "That girl had worn uncertainty" | | 16 | "The woman before him now" | | 17 | "The nickname sounded careful on" | | 18 | "She crossed to the bar," | | 19 | "A corner of his mouth" |
| | ratio | 0.783 | |
| 41.67% | Subordinate conjunction sentence starts | Target: ≥2% sentences starting with a subordinating conjunction | | subConjCount | 1 | | totalSentences | 120 | | matches | | 0 | "Now it sounded like an" |
| | ratio | 0.008 | |
| 100.00% | Technical jargon density | Target: ≤6% sentences with technical-jargon patterns | | analyzedSentences | 75 | | technicalSentenceCount | 4 | | matches | | 0 | "She found him behind the bar, polishing a glass that did not need polishing." | | 1 | "Recognition arrived in stages, the way old operatives process threat levels: first the shape of her, then the posture, finally the face that had hardened around…" | | 2 | "The limp made the movement awkward, but he compensated with the same economy of motion that had kept him alive in places far more dangerous than Soho." | | 3 | "She crossed to the window that overlooked the street, watching the green neon flicker once, twice, then hold steady." |
| |
| 77.38% | Useless dialogue additions | Target: ≤5% dialogue tags with trailing filler fragments | | totalTags | 21 | | uselessAdditionCount | 2 | | matches | | 0 | "She crossed, boots leaving faint damp prints on the scarred floorboards" | | 1 | "she continued, voice quieter now," |
| |
| 56.98% | Dialogue tag variety (said vs. fancy) | Target: ≤10% fancy dialogue tags | | totalTags | 14 | | fancyCount | 4 | | fancyTags | | 0 | "Aurora admitted (admit)" | | 1 | "she continued (continue)" | | 2 | "she agreed (agree)" | | 3 | "he corrected (correct)" |
| | dialogueSentences | 43 | | tagDensity | 0.326 | | leniency | 0.651 | | rawRatio | 0.286 | | effectiveRatio | 0.186 | |