Run: 2026-03-12-01KKHZFW26DQ9ZJ70SPJSD8P95

Run Details

Duration:
17.3s
Cost:
$0.020168
Provider:
xAI

Model input

System
You are an expert novelist with a gift for vivid, immersive prose. You write in tight third-person limited point of view with a strong narrative voice. Your prose is clean, precise, and engaging — you favor strong verbs, concrete details, and natural-sounding dialogue. You will be given a story bible (codex) containing canonical details about characters, locations, items, and lore. Use these details to ground your writing in the established world. Stay consistent with the codex. Write only the prose of the scene. Do not include titles, chapter headings, markdown formatting, or any commentary before or after the scene.
User/Human
<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> 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.

Model response

AI
The deadbolts slid back with three distinct clicks, each one louder than the last in the narrow stairwell. Aurora Carter stood on the threshold of Eva’s flat, one hand still braced on the doorframe as if she expected the wood to vanish beneath her fingers. Her bright blue eyes widened, the cool composure she wore like armour fracturing at the edges. Lucien Moreau leaned against the opposite wall of the landing, ivory-handled cane hooked over his forearm, the charcoal wool of his suit absorbing what little light the bare bulb overhead managed to throw. Platinum hair slicked back from his forehead, the familiar mismatch of his eyes—one warm amber, the other an abyssal black—fixed on her with the same unnerving patience she remembered too well. “Rory,” he said, voice low and threaded with that faint Marseilles accent that had once made her stomach tighten in ways she refused to name. She hadn’t heard that nickname in his mouth in eighteen months. The sound of it scraped across old wounds. “You’re not Eva.” The words came out sharper than she intended. His mouth curved, not quite a smile. “Astute as ever. She’s in Cambridge for the weekend. Some dusty symposium on Enochian sigils. She asked me to water her plants.” He lifted the slender key between two gloved fingers. “I did not expect you.” Aurora’s grip tightened on the strap of her messenger bag. The small crescent scar on her left wrist itched beneath the cuff of her leather jacket—the old childhood mark flaring to life the way it always did when her pulse spiked. She should close the door. She should tell him to leave the key on the mat and go. Instead she stepped back, letting him follow her inside because turning him away had never been one of her strengths. The flat swallowed them in its familiar chaos. Every flat surface groaned under the weight of books and scrolls. Ptolemy, Eva’s tabby, lifted his head from the back of the sagging sofa, yellow eyes narrowing at the newcomer before deciding the tall half-demon posed no immediate threat to his nap. The air smelled of turmeric from the curry house downstairs and the faint, expensive citrus of Lucien’s cologne. That scent hit her like a memory she’d tried to bury in the Thames. She dropped her bag onto the only clear corner of the kitchen table. “You could have warned me.” “I could have,” he agreed, closing the door behind him with a soft click. He didn’t bother with the deadbolts. “But then you might have found an excuse not to come. Eva was quite clear that you needed a place to stay tonight after your shift. Something about your flat’s ceiling having a disagreement with the rain.” Aurora dragged a hand through her straight black hair, shoulder-length strands falling back into place like they refused to be mussed. “The landlord’s still ignoring my calls. I told Eva I’d be fine on Silas’s sofa.” “Silas’s sofa has seen more questionable things than either of us care to imagine.” Lucien’s cane tapped once against the worn floorboards as he moved deeper into the room. He set a small paper bag on the counter—takeaway from the Golden Empress, she recognised the stamp. “Yu-Fei sent your favourites. She said you looked tired when you dropped off the last order.” She stared at the bag, throat tight. Of course he’d thought of food. Of course he’d noticed. Lucien Moreau noticed everything. It was what made him the most dangerous fixer in London’s supernatural underworld, and the most dangerous man in her personal history. “You didn’t have to come,” she said quietly. “No,” he agreed. “I didn’t.” Silence stretched between them, thick as the London fog outside the single window. Aurora crossed to the kettle, more for something to do with her hands than any real desire for tea. She could feel him watching her—the weight of that mismatched gaze tracing the line of her neck, the set of her shoulders, the way her fingers trembled slightly as she filled the kettle. Eighteen months ago they had stood in a different kitchen—his, all sleek marble and shadowed corners—and she had told him she couldn’t do this anymore. Not the secrets. Not the nights he disappeared into the Avaros-touched alleys with blood on his cuffs and lies on his tongue. Not the way her heart had started to feel like it belonged to something half-demon and wholly untameable. He hadn’t fought her. That was what hurt most. He had simply stepped back, amber and black eyes unreadable, and said, “If that is what you need, mon coeur.” She had hated him for the gentleness in it. Now he was here, in Eva’s cramped flat that smelled of old paper and spiced curry, watching her like she was still the most fascinating puzzle he’d ever been handed. “You’ve cut your hair,” he observed. “Practical for the bike.” She switched the kettle on, kept her back to him. “Less likely to get caught in a helmet.” “It suits you.” The words were soft. Too soft. Aurora turned, leaning back against the counter and folding her arms. “Why are you really here, Lucien?” He exhaled through his nose, a sound almost like a laugh but not quite. Setting the cane against the table, he shrugged out of his suit jacket and draped it over the back of a chair with the same precise care he did everything. The tailored charcoal vest beneath clung to the lean lines of his torso. She tried not to notice how the fabric stretched across his shoulders when he moved. “Because Eva is worried about you,” he said. “Because the streets have been whispering about Evan again. Because I—” He stopped, jaw tightening. The first real crack in his composure she’d seen since the door opened. Aurora’s stomach flipped. “Evan’s in prison.” “Was,” Lucien corrected, voice dropping. “Released three weeks ago on a technicality. My people have been tracking him. He hasn’t come near you yet, but he’s asking questions in the old circles. Questions about a certain delivery rider who used to belong to him.” The kettle began to whistle, shrill and insistent. Neither of them moved to silence it. She stared at him, bright blue eyes narrowing. “And you just happened to be the one who came to warn me?” “I volunteered.” The admission seemed to cost him. He took one step closer, then another, until only the narrow counter stood between them. Up close she could see the fine lines at the corners of his eyes that hadn’t been there before. The faint shadow of stubble along his jaw. The way his black eye seemed to drink the light while the amber one reflected it back like molten gold. “I thought we agreed it was better if we didn’t—” She swallowed. “If I didn’t see you.” “We did.” His gloved hand lifted, hesitated, then gently brushed a strand of black hair behind her ear. The leather was cool against her skin. “I kept my word, Rory. Eighteen months of silence. Eighteen months of watching from rooftops and reading reports from people who didn’t know why I cared. I told myself it was enough just to know you were safe.” Her breath hitched. “That’s not fair.” “No,” he agreed, voice roughening. “It isn’t. But neither is the way I still taste your name in my mouth every time I close my eyes. The way I still feel your fingers on my skin when the city is quiet. Tell me to leave, Aurora. Say the words and I will walk out that door and never darken it again. I swear it on what little soul I possess.” The kettle shrieked on, forgotten. Aurora’s heart hammered against her ribs. She could see the pulse beating in his throat, just above the crisp collar of his shirt. Could smell the citrus and something darker beneath it—smoke and brimstone and the particular scent that was only ever Lucien. She reached up slowly, as if moving through water, and caught his wrist. The glove was soft. Expensive. Beneath it she felt the steady thunder of his own pulse. “I hate you for this,” she whispered. His laugh was broken. “I know.” Then she was pulling him forward by that wrist, or he was moving on his own—she wasn’t sure which—and their mouths crashed together with eighteen months of swallowed words and buried want. The kiss was not gentle. It was teeth and heat and the scrape of his stubble against her chin. His free hand slid into her hair, cradling the back of her head as if she might vanish if he didn’t hold on tight enough. She tasted the faint trace of expensive whisky on his tongue and something wilder underneath, the demon half of him rising to meet her like it always had. Her back hit the counter edge. A mug toppled behind her, clattering into the sink. Neither of them cared. When they broke apart, foreheads pressed together, both of them were breathing hard. “Tell me to stop,” he rasped against her lips. Aurora’s fingers curled into the front of his vest, wrinkling the perfect fabric. “I’ve never been any good at telling you what to do.” A low sound escaped him—half laugh, half groan—and then he was kissing her again, slower this time, like he wanted to memorize every second. His hands slid down her sides, mapping the familiar curves of her waist, the flare of her hips beneath the delivery jacket she still hadn’t taken off. She pushed at his shoulders until he took a step back, then another, guiding him toward the battered sofa where Ptolemy had wisely fled to the highest bookshelf. They collapsed onto the cushions in a tangle of limbs. Lucien’s cane clattered to the floor, forgotten. Aurora straddled his lap, knees sinking into the worn upholstery on either side of his thighs. His hands settled on her waist, thumbs tracing small circles through her shirt like he couldn’t quite believe she was real. She pulled back just enough to look at him. Really look. The heterochromatic eyes were blown wide, amber and black both dilated with want. His usually impeccable hair had fallen across his forehead in a pale wing. The small scar on her wrist brushed against his jaw as she cupped his face, and he turned his head to press a kiss to the crescent mark, reverent as prayer. “I missed you,” she admitted, voice cracking. “Every damn day.” His eyes closed. When they opened again, the black one seemed to swirl with shadows. “Then don’t send me away again. Not tonight. Not ever, if you’ll have me. I’ll burn every secret I own if it means I get to keep you.” The words should have terrified her. Instead they settled somewhere deep in her chest, warm as banked coals. She kissed him again, softer now. A promise. An apology. A question and its answer all at once. Outside, rain began to patter against the window, the same rain that had driven her here seeking shelter. Inside, the kettle had long since clicked itself off. The flat smelled of curry and old books and the two of them, tangled together on a sofa that had witnessed far less honest moments. Lucien’s fingers found the zipper of her jacket, drawing it down with exquisite care. She shrugged it off, letting it fall behind her. His palms slid up her arms, pausing at the scar on her wrist again, tracing it with a gentleness that made her throat ache. “Stay,” he whispered against her collarbone, lips brushing the hollow there. “Let me take care of you the way I should have before. Let me be the man you deserve instead of the one I was.” Aurora threaded her fingers through his platinum hair, tilting his face up to hers. Bright blue met amber and black, and for once she didn’t look away from the demon in him. She had run from Evan. She had run from her parents’ expectations. She had run from this—from him—because it frightened her how completely he saw her. She was done running. “Stay with me tonight,” she answered, voice steady despite the way her hands trembled. “We’ll figure out the rest in the morning. Evan. The rain. All of it. But right now I just want—” “You,” he finished for her, understanding in his eyes. Always understanding. He surged up to kiss her again, and this time there was no hesitation. Only heat and history and the slow, deliberate unwinding of everything they had left unsaid. Clothes shed like old skin. Hands relearning every plane and valley. The sound of her name in his mouth like a prayer in two languages—English and the lilting French he only ever used when he was undone. Ptolemy watched from his perch with feline disinterest as the two of them moved together on the sofa, then the floor, then somehow made it to the narrow bed in Eva’s room where the sheets smelled of lavender and paper dust. They didn’t speak much after that. Words had always been their battlefield. Tonight they chose a different language—one of touch and breath and the way his heterochromatic eyes never left hers even in the darkest moments. Later, when the rain had eased to a whisper against the glass and their skin had cooled, Lucien traced idle patterns along her spine with gloved fingers he had never removed. Aurora lay curled against his chest, listening to the steady rhythm of a heart that was only half human. “I’m still angry with you,” she murmured into his collarbone. “I know.” His lips brushed her temple. “I deserve it.” She lifted her head, bright blue eyes serious in the dim light filtering through the curtain. “But I’m more angry with myself for thinking I could live without this. Without you.” His arms tightened around her, cane discarded somewhere near the door alongside his vest and her boots. “Then we start again. Slower. With fewer lies between us. I will tell you everything—about Avaros, about the deals I make, about the blood on my hands. No more shadows, Rory. Not from me.” She searched his face, looking for the trick, the evasion. Found only raw honesty and something that looked remarkably like fear in a man who bargained with demons for a living. “Okay,” she whispered. His exhale was shaky with relief. He kissed her forehead, then her eyelids, then the tip of her nose with a tenderness that made her chest hurt in the best possible way. Ptolemy chose that moment to leap onto the bed, planting himself firmly between their tangled legs with a self-satisfied mrrow. Lucien chuckled, the sound vibrating through both of them. “Even the cat is conspiring against my dignity tonight.” Aurora smiled against his skin, the first real smile she’d managed in weeks. “He’s Eva’s familiar. Probably reporting back as we speak.” “Let him report that I am exactly where I belong.” Lucien’s hand found hers, threading their fingers together. The ivory-handled cane lay forgotten in the other room, blade hidden within its elegant sheath. For tonight, at least, the fixer had laid down his weapons. Outside, London kept its restless watch. Inside the cramped flat on Brick Lane, two people who had once parted with too many wounds and not enough words found their way back to each other in the small hours between midnight and dawn. Aurora Carter closed her eyes, the small scar on her wrist pressed against Lucien Moreau’s steady heartbeat, and for the first time in eighteen months she let herself believe they might actually have a chance at something more than complicated history and aching want. The rain had stopped. Morning would bring new problems—Evan’s shadow, the supernatural politics that always seemed to circle Lucien like vultures, the reality of her own tangled life. But for now there was only the warmth of his body against hers, the faint smell of citrus and smoke in her hair, and the quiet certainty that whatever came next, they would face it together. She fell asleep to the rhythm of his breathing, his mismatched eyes watching over her long after she drifted off, guarding the fragile new beginning they had somehow forged from the ashes of their complicated past.
created_at"2026-03-12T21:33:22.892Z" 3/12/2026, 9:33:22 PM
model"x-ai/grok-4.20-beta-20260309"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency490
moderation_latency(null)
generation_time16956
tokens_prompt808
tokens_completion4159
native_tokens_prompt849
native_tokens_completion3328
native_tokens_completion_images0
native_tokens_reasoning0
native_tokens_cached832
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"completed"
usage0.0201684
router(null)
provider_responses
0
endpoint_id"33f49f24-a0de-4dcf-872d-ca514e83fbae"
id"2db98971-3f08-4d95-fd63-9a0928ba076d"
is_byokfalse
latency449
model_permaslug"x-ai/grok-4.20-beta-20260309"
provider_name"xAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer(null)
api_type"completions"
id"gen-1773351202-ryBuf0d0gMnd4oXv2htU"
upstream_id"2db98971-3f08-4d95-fd63-9a0928ba076d"
total_cost0.0201684
cache_discount0.0014976
upstream_inference_cost0
provider_name"xAI"

Evaluation details

Result Evaluator Details Meta Data
92.86% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags28
adverbTagCount3
adverbTags
0"Lucien’s cane tapped once [once]"
1"she said quietly [quietly]"
2"He had simply [simply]"
dialogueSentences54
tagDensity0.519
leniency1
rawRatio0.107
effectiveRatio0.107
89.07% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2745
totalAiIsmAdverbs6
found
0
adverb"slightly"
count1
1
adverb"really"
count2
2
adverb"gently"
count1
3
adverb"slowly"
count1
4
adverb"completely"
count1
highlights
0"slightly"
1"really"
2"gently"
3"slowly"
4"completely"
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)
41.71% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2745
totalAiIsms32
found
0
word"familiar"
count4
1
word"abyssal"
count1
2
word"stomach"
count2
3
word"pulse"
count3
4
word"weight"
count2
5
word"silence"
count3
6
word"desire"
count1
7
word"could feel"
count1
8
word"tracing"
count3
9
word"trembled"
count2
10
word"marble"
count1
11
word"unreadable"
count1
12
word"fascinating"
count1
13
word"perfect"
count1
14
word"blown wide"
count1
15
word"whisper"
count1
16
word"traced"
count1
17
word"tenderness"
count1
18
word"firmly"
count1
19
word"warmth"
count1
highlights
0"familiar"
1"abyssal"
2"stomach"
3"pulse"
4"weight"
5"silence"
6"desire"
7"could feel"
8"tracing"
9"trembled"
10"marble"
11"unreadable"
12"fascinating"
13"perfect"
14"blown wide"
15"whisper"
16"traced"
17"tenderness"
18"firmly"
19"warmth"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches1
maxInWindow1
found
0
label"eyes widened/narrowed"
count1
highlights
0"eyes widened"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells1
narrationSentences164
matches
0"y with relief"
64.46% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount9
narrationSentences164
filterMatches(empty)
hedgeMatches
0"managed to"
1"tried to"
2"started to"
3"began to"
4"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences190
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen66
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2727
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions32
unquotedAttributions0
matches(empty)
100.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions54
wordCount2169
uniqueNames18
maxNameDensity0.6
worstName"Aurora"
maxWindowNameDensity2
worstWindowName"Lucien"
discoveredNames
Carter2
Eva4
Moreau3
Marseilles1
Aurora13
Lucien13
Thames1
Golden1
Empress1
London3
Silence1
Avaros-touched1
Ptolemy4
Evan2
English1
French1
Brick1
Lane1
persons
0"Carter"
1"Eva"
2"Moreau"
3"Aurora"
4"Lucien"
5"Ptolemy"
6"Evan"
places
0"Thames"
1"Golden"
2"London"
3"Avaros-touched"
4"Brick"
5"Lane"
globalScore1
windowScore1
69.35% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences124
glossingSentenceCount4
matches
0"not quite a smile"
1"not quite"
2"as if moving through water, and caught his wrist"
3"quite believe she was real"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2727
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount2
totalSentences190
matches
0"heard that nickname"
1"chose that moment"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs77
mean35.42
std23.36
cv0.66
sampleLengths
061
164
225
319
411
543
679
782
818
957
1036
1162
1243
138
145
1565
1665
1729
189
1930
206
2122
229
2317
2472
2536
266
2744
2815
2921
3070
3117
3263
336
3470
355
3643
3729
387
396
4076
4147
4213
439
4424
4579
4654
4768
4810
4943
98.84% Passive voice overuse
Target: ≤2% passive sentences
passiveCount3
totalSentences164
matches
0"been handed"
1"were blown"
2"was undone"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount4
totalVerbs351
matches
0"was pulling"
1"was moving"
2"were breathing"
3"was kissing"
0.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount17
semicolonCount0
flaggedSentences12
totalSentences190
ratio0.063
matches
0"Platinum hair slicked back from his forehead, the familiar mismatch of his eyes—one warm amber, the other an abyssal black—fixed on her with the same unnerving patience she remembered too well."
1"The small crescent scar on her left wrist itched beneath the cuff of her leather jacket—the old childhood mark flaring to life the way it always did when her pulse spiked."
2"He set a small paper bag on the counter—takeaway from the Golden Empress, she recognised the stamp."
3"She could feel him watching her—the weight of that mismatched gaze tracing the line of her neck, the set of her shoulders, the way her fingers trembled slightly as she filled the kettle."
4"Eighteen months ago they had stood in a different kitchen—his, all sleek marble and shadowed corners—and she had told him she couldn’t do this anymore."
5"Could smell the citrus and something darker beneath it—smoke and brimstone and the particular scent that was only ever Lucien."
6"Then she was pulling him forward by that wrist, or he was moving on his own—she wasn’t sure which—and their mouths crashed together with eighteen months of swallowed words and buried want."
7"A low sound escaped him—half laugh, half groan—and then he was kissing her again, slower this time, like he wanted to memorize every second."
8"She had run from this—from him—because it frightened her how completely he saw her."
9"The sound of her name in his mouth like a prayer in two languages—English and the lilting French he only ever used when he was undone."
10"Tonight they chose a different language—one of touch and breath and the way his heterochromatic eyes never left hers even in the darkest moments."
11"Morning would bring new problems—Evan’s shadow, the supernatural politics that always seemed to circle Lucien like vultures, the reality of her own tangled life."
95.35% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1677
adjectiveStacks0
stackExamples(empty)
adverbCount76
adverbRatio0.04531902206320811
lyAdverbCount14
lyAdverbRatio0.008348240906380441
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences190
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences190
mean14.35
std10.36
cv0.722
sampleLengths
018
127
216
333
431
525
611
78
811
97
1031
115
1210
1331
145
1513
1620
178
1811
1931
2018
2114
2213
235
2414
256
2637
2721
2815
2929
3017
3116
327
336
344
354
3622
378
383
392
4013
4119
4233
4325
443
4519
4618
474
485
4920
52.98% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats11
diversityRatio0.3526315789473684
totalSentences190
uniqueOpeners67
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount7
totalSentences152
matches
0"Instead she stepped back, letting"
1"Of course he’d thought of"
2"Of course he’d noticed."
3"Then she was pulling him"
4"Instead they settled somewhere deep"
5"Bright blue met amber and"
6"Only heat and history and"
ratio0.046
54.21% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount63
totalSentences152
matches
0"Her bright blue eyes widened,"
1"he said, voice low and"
2"She hadn’t heard that nickname"
3"His mouth curved, not quite"
4"He lifted the slender key"
5"She should close the door."
6"She should tell him to"
7"She dropped her bag onto"
8"he agreed, closing the door"
9"He didn’t bother with the"
10"He set a small paper"
11"She stared at the bag,"
12"It was what made him"
13"she said quietly"
14"She could feel him watching"
15"He hadn’t fought her."
16"He had simply stepped back,"
17"She had hated him for"
18"She switched the kettle on,"
19"He exhaled through his nose,"
ratio0.414
45.53% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount126
totalSentences152
matches
0"The deadbolts slid back with"
1"Aurora Carter stood on the"
2"Her bright blue eyes widened,"
3"Lucien Moreau leaned against the"
4"Platinum hair slicked back from"
5"he said, voice low and"
6"She hadn’t heard that nickname"
7"The sound of it scraped"
8"The words came out sharper"
9"His mouth curved, not quite"
10"He lifted the slender key"
11"Aurora’s grip tightened on the"
12"The small crescent scar on"
13"She should close the door."
14"She should tell him to"
15"The flat swallowed them in"
16"Every flat surface groaned under"
17"Ptolemy, Eva’s tabby, lifted his"
18"The air smelled of turmeric"
19"That scent hit her like"
ratio0.829
32.89% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount1
totalSentences152
matches
0"Now he was here, in"
ratio0.007
65.40% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences83
technicalSentenceCount9
matches
0"Aurora Carter stood on the threshold of Eva’s flat, one hand still braced on the doorframe as if she expected the wood to vanish beneath her fingers."
1"Could smell the citrus and something darker beneath it—smoke and brimstone and the particular scent that was only ever Lucien."
2"Outside, rain began to patter against the window, the same rain that had driven her here seeking shelter."
3"The flat smelled of curry and old books and the two of them, tangled together on a sofa that had witnessed far less honest moments."
4"His palms slid up her arms, pausing at the scar on her wrist again, tracing it with a gentleness that made her throat ache."
5"Aurora lay curled against his chest, listening to the steady rhythm of a heart that was only half human."
6"Found only raw honesty and something that looked remarkably like fear in a man who bargained with demons for a living."
7"He kissed her forehead, then her eyelids, then the tip of her nose with a tenderness that made her chest hurt in the best possible way."
8"Inside the cramped flat on Brick Lane, two people who had once parted with too many wounds and not enough words found their way back to each other in the small …"
17.86% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags28
uselessAdditionCount6
matches
0"He stopped, jaw tightening"
1"Lucien corrected, voice dropping"
2"he agreed, voice roughening"
3"she admitted, voice cracking"
4"he whispered, lips brushing the hollow there"
5"she answered, voice steady despite the way her hands trembled"
0.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags14
fancyCount10
fancyTags
0"he agreed (agree)"
1"he agreed (agree)"
2"he observed (observe)"
3"Lucien corrected (correct)"
4"he agreed (agree)"
5"she whispered (whisper)"
6"she admitted (admit)"
7"he whispered (whisper)"
8"she murmured (murmur)"
9"she whispered (whisper)"
dialogueSentences54
tagDensity0.259
leniency0.519
rawRatio0.714
effectiveRatio0.37
77.3507%