Run: 2026-02-19-01KHT07K4GSB69FT1FEHPQ5ASH

Run Details

Duration:
1m 16s
Cost:
$0.001856
Provider:
Novita

Model input

System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <codex> <character id="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4415" name="Lucien Moreau" aliases="Lucien, Luc, the Frenchman" pronouns="he/him" species="Half-Demon" storyRole="Ally"> <eyeColor>heterochromatic — one amber, one black</eyeColor> <hair>slicked-back platinum blond</hair> <height>5'11"</height> <age>32</age> <cane>ivory-handled cane that conceals a thin blade</cane> <dress>tailored charcoal suits</dress> <description>An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.</description> <backstory>Born in Marseille to a human mother and a demon father from the realm of Avaros.</backstory> </character> <location id="858" name="Eva's Flat" aliases="Eva's place, the flat on Brick Lane" realm="Earth"> <cat>tabby cat named Ptolemy</cat> <security>three deadbolts on the front door</security> <description>A cramped one-bedroom flat above a curry house on Brick Lane, East London. Every surface is covered with books, scrolls, and research notes.</description> </location> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the romance genre. Two people who parted on complicated terms are forced together again when one shows up unannounced at the other's flat. There's history between them — attraction, hurt, and things left unsaid. Write the scene from the moment the door opens. Use the codex entries above as your world reference for characters and setting. Only include the prose of the scene without any markdown or commentary. </instructions>

Model response

AI
The three deadbolts clicked into place with a heavy thud, each sound serving as a physical barrier between her and the shadows of Brick Lane. She stood by the door for a long moment, listening to the low rumble of the curry house’s kitchen vibrators against the floorboards. Silence was safer. Predictability was safer. A sharp buzz shattered the stillness. Not the delivery chime, which didn't sound like that. It was harsh, insistent. Chari. Her heart hammered against her ribs, a frantic bird trapped in a cage. Eva was out. She couldn't be. Unless she’d sent him. Eva never sent him. She wouldn't. Rory’s hand trembled as she reached for the handle. She looked down at her wrist, checking the crescent-shaped scar beneath her sleeve, seeking the familiar anchor of old pain. It didn't help. Her fingers curled over the metal, her knuckles white. She unlatched the first bolt. Then the second. She slid the chain back, then the third. The door opened just a crack. Lucien Moreau filled the gap. He smelled of rain on hot asphalt and ozone, a scent that had once smelled like safety and now smelled like a headache that wouldn't go away. He stood there in a charcoal suit that looked more like a second skin than fabric, his platinum-blond hair slicked back severely. The light from the hallway caught his face, highlighting the strange, fractured mosaic of his eyes—one amber, the other absolute black. They held her in place, pinning her with a predatory intensity that stripped the breath from her lungs. “You shouldn't be here,” she whispered. Lucien didn't blink. The hand resting on the ivory handle of his cane flexed. “I do not ask for permission, Rory.” “I told you to leave London. I told you that the noise would bother you.” He stepped forward, the heavy door not budging an inch against her resistance. His collar was impeccable, the white pin sharp enough to draw blood, but his eyes darkened, the amber flickering like dying embers. “I received a message. You called for help. In code. In the Times crossword puzzle.” “That was Eva. She was—” “Don’t lie to me.” He didn't raise his voice. His tone was low, vibrating in the air between them. “Tell me to leave. Say the word, and I will walk back into the rain and never cross your threshold again.” His jaw worked, a muscle ticking beneath the skin. He wasn't moving, but the space around him seemed to shrink, pressing in on her. The downstairs neighbor’s radio started playing a Bollywood melody, muffled and distant. “Go away, Luc.” The name left her mouth like a stone dropping into a well. The corner of his mouth tilted. It wasn't a smile; it was a concession. “I cannot.” He shouldn't have been there. The Griffiths family was still watching, the echoes of Evan’s reach stretching across the city. Having a Half-Demon—born of the Avaros realm and possessing the negotiation skills of a seasoned diplomat—trailing after her like a guilty conscience was a death sentence, or at least, a headache that warranted a bottle of wine she couldn't afford. Rory sighed, the tension draining out of her shoulders until she felt boneless. She stepped back into the gloom of the hall and waved a hand, motioning him inside. He moved with a silent efficiency that unnerved her. He entered, the scent of him—expensive sandalwood and ancient magic—swirled around her, replacing the stagnant air of the flat. He set his cane against the wall with a deliberate, hollow *tap*. “Ptolemy,” she warned softly. The tabby cat on the armrest of the armchair leaped off, sprinting under the kitchenette, tail puffed to double its normal size. Lucien looked around the tiny space. The bookshelves were piled high with texts on demonology and arcane history, the floor a quilt of fabrics and loose papers. It was a chaotic nest, completely opposite his own sterility. He brushed a stray bookmark off a stack of leather-bound journals, his movement graceful, erasing the dust. “You live with your head in the clouds,” he said, his voice losing the icy sharpness as he spoke. He turned, leaning his hip against the wall, crossing one long leg over the other. The charcoal suit fabric stretched. “I prefer to know what is going on.” “You prefer to know what you are ignoring.” He tilted his head, the black eye staring into her blue one. “Why call me? The ex is gone. You ran.” “Evan isn't the problem. It’s what he left behind.” “Fear.” It wasn't a question. “Stupidity,” she corrected, crossing her arms over her chest. She ignored the way her pulse picked up. “I wasn't thinking clearly.” “And here I thought you were the cool one. The one with the plan.” “Plans fall apart.” She looked away, toward the window where the streetlights of Brick Lane painted flickering rectangles on the floor. “Sometimes you have to improvise.” “Impovise by summoning a demon,” he mused. The amusement was gone, replaced by a glint of the predator. “You know the laws, Rory. You work in that restaurant. You know the difference between a spirit and a demon.” “I summoned nothing.” “Then who is haunting your dreams?” The air grew cold. The flat’s radiator clanked, the sudden bang echoing like a gunshot. Rory remembered the nightmares—the feeling of fingers gripping her ankle, the suffocating weight pressing her into the mattress. It had started the night she fled. Lucien pushed off the wall. He moved too fast for a man his age. He stopped right in front of her, invading her personal space with the force of a physical blow. He was so tall he cast a shadow over her, blocking out the light from the hallway. “You are wearing the scent of sulfur,” he said, his breath ghosting over her forehead. “And fear.” She stared up at him, her heart hammering against her ribs. She could feel the hum of his energy, the latent heat of his half-blood. It was magnetic. It was terrifying. “I’m tired, Lucien.” “So am I.” He lowered his hand, the fingers long and pale, hovering inches from her wrist. The glint of the cane blade caught the light, then his hand pulled back, clenching into a fist at his side. “But I cannot leave you to drown.” “I don't need saving.” She tried to sound defiant, to channel the sharp, intelligent woman she was when she wasn't shaking in her boots. He laughed, a short, dry sound. “You are drowning. The water is up to your neck, and you are trying to wave your arms and pretend it’s a swim.” He turned and walked toward the stack of books, picking up a leather-bound tome. He didn't look at her as he flipped it open, but his posture was relaxed, the stiffness from the hallway gone, replaced by an easy familiarity that made her ache in a deep, painful way. “I have information,” he said, not looking up. “About the real estate in Cardiff. About the firms that are cleaning up after your father.” He snapped the book shut. “About the man who followed you to the airport.” Rory froze. She turned slowly, forced to look at him. He was facing her now, leaning against the edge of a desk piled with notes on local ley lines. His heterochromatic eyes bored into hers, stripping away her defenses one by one. “I don't need you to play detective for me.” “I am not playing.” He pushed off the desk, the leather of his dress shoes squeaking softly on the bare floorboards. He closed the distance again, until he was close enough that she could feel the rough fabric of his sleeve. He reached out, a deliberate, slow movement, and gently tugged the sleeve of her gray sweater up. Her left wrist was exposed. The crescent-shaped scar was there, pale and jagged, a souvenir from a childhood kitchen accident. His thumb brushed the scar. It wasn't a touch; it was an exploration. The skin along her wrist flushed hot, a reaction she couldn't control. “You are fragile,” he murmured. “And you are loud.” “Silence is safer.” “Not for me.” She caught his hand, stopping him before he could retreat. Her grip was weak, but it was there. His skin was warm, impossibly so for a human, the residual heat of a demon creeping through his pores. He didn't pull away. Instead, his amber eye dilated, fixing on her hand clutching his. “You are angry at me.” “I’m angry because you knew.” “Knew what?” The question was soft, masking the steel underneath. “Knew I was scared. Knew I was vulnerable. And you stood there in that suit, looking like a man who could solve any problem, while I was losing my mind.” “I could have fixed it.” His voice dropped an octave, low and rough. “If you had let me.” “I can’t do this.” She shook her head, stepping back, putting a foot of distance between them. “I can’t have you in my life. Every time I look at you, I remember how much I hurt. And I remember how easy it was for you to walk away.” Lucien straightened. He looked at her with a profound weariness that dimmed the sharp edge of his predatory glare. He touched the bridge of his nose, closing his eyes for a second. “I did not walk away. You made me.” “That’s the point.” She turned away, busying herself with closing the front door, locking the deadbolts again with trembling fingers. She rested her forehead against the wood for a second before turning back to face him. “Why are you really here, Lucien? Is this about Eva? Does she need something?” “No.” “She needs dinner.” Rory walked toward the kitchenette, needing a barrier. She started organizing the unwashed dishes from the morning, even though they were dry. “She’s having a rough time with her thesis.” “I know.” “You tracked us down from Marseille.” The reality of it settled on her, cold and heavy. “That’s not just information brokering. That’s obsession.” Lucien moved then, silently as before. He stood behind her, close enough that she could smell the rain on him again, sharp and clean. He reached over her shoulder and took a plate from her hand, setting it on the draining board without breaking eye contact with the wall. “You are my tether,” he said quietly. “To Earth. To myself.” She spun around, the water glass in her hand slipping, but he caught it before it hit the counter. “The ex is dead,” she said, her voice cracking. “Whatever holds you here is gone.” “No.” He set the glass down. He took a step closer, invading the space she’d tried to create, closing the circle. “You are here.” The amber eye darkened, swirling with a hunger that wasn't just sexual, but ancient and deep. He reached up, a hand cupping the back of her neck, his fingers tangling in the dark hair at her nape. His thumb grazed the sensitive skin just below her ear. “Kiss me,” he whispered. It wasn't a request. It was a command wrapped in velvet. Rory’s breath hitched. Her eyes fluttered shut. She knew she should push him away. She knew this was the worst idea of her life. But his hand was warm, grounding, and the terror in her chest was slowly being suffocated by the pull of him. She leaned into his touch, a traitorous movement. “Lucien...” “Do not say my name unless you mean it.” He lowered his head, his lips ghosting over hers, teasing, promising. She kissed him then, a rush of desperation that tasted of rain and expensive cologne. It was a collision of bruised lips and trembling hands. His other hand moved from her waist to her face, tilting it back, deepening the kiss with a roughness that bordered on violence, yet she felt entirely safe. The world outside Brick Lane—the sirens, the rain, the dying marriage she’d fled—fell away. There was only the heat of him, the taste of him, and the undeniable, terrifying truth that wherever she went, he would follow.
created_at"2026-02-19T03:48:51.993Z" 2/19/2026, 3:48:51 AM
model"z-ai/glm-4.7-flash-20260119"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency1027
moderation_latency(null)
generation_time75796
tokens_prompt1034
tokens_completion5033
native_tokens_prompt937
native_tokens_completion4476
native_tokens_completion_images(null)
native_tokens_reasoning1907
native_tokens_cached5
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"stop"
usage0.00185569
router(null)
provider_responses
0
endpoint_id"6999081f-9017-4517-bbdb-47df8778c940"
id"5de29cc5c2be38b8065fd6843f2be9f3"
is_byokfalse
latency1027
model_permaslug"z-ai/glm-4.7-flash-20260119"
provider_name"Novita"
status200
api_type"completions"
id"gen-1771472932-3mgMZZwNClADPmo77Z1M"
upstream_id"5de29cc5c2be38b8065fd6843f2be9f3"
total_cost0.00185569
cache_discount3e-7
upstream_inference_cost0
provider_name"Novita"

Evaluation details

Result Evaluator Details Meta Data
80.60% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags27
adverbTagCount4
adverbTags
0"she warned softly [softly]"
1"She looked away [away]"
2"She turned away [away]"
3"he said quietly [quietly]"
dialogueSentences67
tagDensity0.403
leniency0.806
rawRatio0.148
effectiveRatio0.119
82.84% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2040
totalAiIsmAdverbs7
found
0
adverb"softly"
count2
1
adverb"completely"
count1
2
adverb"slowly"
count2
3
adverb"gently"
count1
4
adverb"really"
count1
highlights
0"softly"
1"completely"
2"slowly"
3"gently"
4"really"
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)
38.73% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2040
totalAiIsms25
found
0
word"silence"
count2
1
word"shattered"
count1
2
word"trembled"
count1
3
word"familiar"
count1
4
word"fractured"
count1
5
word"mosaic"
count1
6
word"intensity"
count1
7
word"echoes"
count1
8
word"tension"
count1
9
word"gloom"
count1
10
word"chaotic"
count1
11
word"pulse"
count1
12
word"glint"
count2
13
word"predator"
count1
14
word"echoing"
count1
15
word"weight"
count1
16
word"could feel"
count2
17
word"magnetic"
count1
18
word"clenching"
count1
19
word"profound"
count1
20
word"velvet"
count1
21
word"fluttered"
count1
highlights
0"silence"
1"shattered"
2"trembled"
3"familiar"
4"fractured"
5"mosaic"
6"intensity"
7"echoes"
8"tension"
9"gloom"
10"chaotic"
11"pulse"
12"glint"
13"predator"
14"echoing"
15"weight"
16"could feel"
17"magnetic"
18"clenching"
19"profound"
20"velvet"
21"fluttered"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches0
maxInWindow0
found(empty)
highlights(empty)
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences140
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount3
narrationSentences140
filterMatches(empty)
hedgeMatches
0"seemed to"
1"tried to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences178
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen43
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans1
markdownWords1
totalWords2025
ratio0
matches
0"tap"
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions21
unquotedAttributions0
matches(empty)
100.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions24
wordCount1568
uniqueNames10
maxNameDensity0.38
worstName"Lucien"
maxWindowNameDensity1
worstWindowName"Lucien"
discoveredNames
Brick3
Lane3
Moreau1
Lucien6
Bollywood1
Griffiths1
Evan1
Half-Demon-born1
Avaros1
Rory6
persons
0"Moreau"
1"Lucien"
2"Griffiths"
3"Evan"
4"Rory"
places
0"Brick"
1"Lane"
globalScore1
windowScore1
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences100
glossingSentenceCount1
matches
0"smelled like safety and now smelled like a"
1"smelled like a headache that wouldn't go a"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2025
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences178
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs80
mean25.31
std18.36
cv0.725
sampleLengths
054
120
229
341
48
514
65
788
86
921
1015
1150
125
1340
1436
1515
1616
1760
1829
1940
204
2122
2254
2339
248
2529
269
275
2821
2914
3026
3138
323
336
3440
3549
3617
3731
383
3945
4024
4129
4249
4338
442
4540
469
4758
4820
4925
95.24% Passive voice overuse
Target: ≤2% passive sentences
passiveCount4
totalSentences140
matches
0"were piled"
1"was gone"
2"was relaxed"
3"being suffocated"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount2
totalVerbs274
matches
0"wasn't shaking"
1"was facing"
30.50% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount7
semicolonCount2
flaggedSentences7
totalSentences178
ratio0.039
matches
0"The light from the hallway caught his face, highlighting the strange, fractured mosaic of his eyes—one amber, the other absolute black."
1"It wasn't a smile; it was a concession."
2"Having a Half-Demon—born of the Avaros realm and possessing the negotiation skills of a seasoned diplomat—trailing after her like a guilty conscience was a death sentence, or at least, a headache that warranted a bottle of wine she couldn't afford."
3"He entered, the scent of him—expensive sandalwood and ancient magic—swirled around her, replacing the stagnant air of the flat."
4"Rory remembered the nightmares—the feeling of fingers gripping her ankle, the suffocating weight pressing her into the mattress."
5"It wasn't a touch; it was an exploration."
6"The world outside Brick Lane—the sirens, the rain, the dying marriage she’d fled—fell away."
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1583
adjectiveStacks0
stackExamples(empty)
adverbCount53
adverbRatio0.033480732785849655
lyAdverbCount13
lyAdverbRatio0.0082122552116235
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences178
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences178
mean11.38
std7.43
cv0.653
sampleLengths
025
123
23
33
46
59
64
71
813
93
103
114
124
132
149
1520
163
179
185
193
208
216
225
2327
2422
2521
2618
276
283
2911
307
3115
3213
3322
3415
355
369
3710
3821
399
4015
4112
4215
436
448
452
465
4715
4840
4913
38.20% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats21
diversityRatio0.25280898876404495
totalSentences178
uniqueOpeners45
50.51% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount2
totalSentences132
matches
0"Then the second."
1"Instead, his amber eye dilated,"
ratio0.015
0.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount89
totalSentences132
matches
0"She stood by the door"
1"It was harsh, insistent."
2"Her heart hammered against her"
3"She couldn't be."
4"She looked down at her"
5"It didn't help."
6"Her fingers curled over the"
7"She unlatched the first bolt."
8"She slid the chain back,"
9"He smelled of rain on"
10"He stood there in a"
11"They held her in place,"
12"He stepped forward, the heavy"
13"His collar was impeccable, the"
14"He didn't raise his voice"
15"His tone was low, vibrating"
16"His jaw worked, a muscle"
17"He wasn't moving, but the"
18"It wasn't a smile; it"
19"He shouldn't have been there."
ratio0.674
0.00% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount125
totalSentences132
matches
0"The three deadbolts clicked into"
1"She stood by the door"
2"Silence was safer."
3"Predictability was safer."
4"A sharp buzz shattered the"
5"It was harsh, insistent."
6"Her heart hammered against her"
7"Eva was out."
8"She couldn't be."
9"Eva never sent him."
10"Rory’s hand trembled as she"
11"She looked down at her"
12"It didn't help."
13"Her fingers curled over the"
14"She unlatched the first bolt."
15"She slid the chain back,"
16"The door opened just a"
17"Lucien Moreau filled the gap."
18"He smelled of rain on"
19"He stood there in a"
ratio0.947
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences132
matches(empty)
ratio0
14.05% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences61
technicalSentenceCount11
matches
0"She looked down at her wrist, checking the crescent-shaped scar beneath her sleeve, seeking the familiar anchor of old pain."
1"He stood there in a charcoal suit that looked more like a second skin than fabric, his platinum-blond hair slicked back severely."
2"They held her in place, pinning her with a predatory intensity that stripped the breath from her lungs."
3"Having a Half-Demon—born of the Avaros realm and possessing the negotiation skills of a seasoned diplomat—trailing after her like a guilty conscience was a deat…"
4"He didn't look at her as he flipped it open, but his posture was relaxed, the stiffness from the hallway gone, replaced by an easy familiarity that made her ach…"
5"Instead, his amber eye dilated, fixing on her hand clutching his."
6"He looked at her with a profound weariness that dimmed the sharp edge of his predatory glare."
7"He reached over her shoulder and took a plate from her hand, setting it on the draining board without breaking eye contact with the wall."
8"The amber eye darkened, swirling with a hunger that wasn't just sexual, but ancient and deep."
9"He reached up, a hand cupping the back of her neck, his fingers tangling in the dark hair at her nape."
10"His other hand moved from her waist to her face, tilting it back, deepening the kiss with a roughness that bordered on violence, yet she felt entirely safe."
13.89% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags27
uselessAdditionCount6
matches
0"he said, his voice losing the icy sharpness as he spoke"
1"He tilted, the black eye staring into her blue one"
2"he said, his breath ghosting over her forehead"
3"he said, not looking up"
4"she said, her voice cracking"
5"He lowered, his lips ghosting over hers, teasing, promising"
60.45% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags11
fancyCount6
fancyTags
0"she whispered (whisper)"
1"she warned softly (warn)"
2"she corrected (correct)"
3"He snapped (snap)"
4"he murmured (murmur)"
5"he whispered (whisper)"
dialogueSentences67
tagDensity0.164
leniency0.328
rawRatio0.545
effectiveRatio0.179
73.4999%