Run: 2026-07-08-01KX1KDJ4FYB0CS686E2EKKBCH

Run Details

Duration:
1m 44s
Cost:
$0.029638
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 third deadbolt gave with a hollow metal knock, and Rory opened the door bracing for the smell of wet bricks and curry oil that always clung to Brick Lane after dark. She got that. She also got Lucien Moreau. He stood on the narrow landing as if the staircase itself had decided to present him, cane perched neat against the warped wood of the banister, charcoal suit immaculate even under the bare bulb’s unkind light. Rain beaded along his shoulders. One amber eye and one black watched her without blinking, and the whole of him looked exactly as she remembered and nothing like she wanted. For a moment neither of them spoke. The curry house downstairs thumped out bass through the floorboards. Somewhere a bus sighed at the corner. Rory’s knuckles went white on the edge of the door. “Lucien.” “Carter.” His voice was smoke over good cognac. French underedges, deliberate, as though he still measured every English word for weight. “You’re answering Eva’s door these days.” “She’s out.” Rory did not move to let him in. “What do you want.” “You, as it happens.” The corner of his mouth twitched — not quite a smile. “Though exclusive access is, I realise, a bold request given the circumstances of our last conversation.” Heat flashed up under her collarbones. She kept her face still. “If this is about money—” “It is not about money.” He glanced past her into the flat’s cramped chaos — stacks of library books, curling scrolls, a mug abandoned on a tower of folders, the tabby Ptolemy draped like a stole across the back of the sofa. “May I?” She should have said no. The last time she had let him over a threshold they had ended up half-clothed against a wall in a Pret near Chancery Lane with his mouth on her throat and her hands in that ridiculous platinum hair, and then three days later he had disappeared for a week and returned with a half-truth about a job and blood she still suspected was not all his. Complicated. That was the polite word for what they had been. She had walked away before it could get worse. She had been proud of it. She had also not slept properly since. Rory stepped back. The door opened wider. Three deadbolts, and none of them strong enough for this. Lucien walked in as if the tiny space still belonged to him by negotiation. He set his ivory-handled cane against the overloaded coat rack with the care of a man who never forgot it concealed a blade, and his gaze catalogued the flat in one sweep. Ptolemy lifted his head, considered him, then resumed indifference. Traitor. “You’ve been staying here,” Lucien said. “A few nights. Eva’s consultancy ran long. Her basement archive is flooded. She needed eyes on the place.” Rory crossed her arms. The scar on her left wrist caught the cheap overhead light, a little pale crescent she forgot about until someone else’s eyes snagged on it. His did. Remembered, probably. “You’re not here about the archive.” “No.” He shrugged out of his coat. Rain darkened the shoulders of the suit beneath in dark blotches he ignored. “There is a man named Corvenching looking for me with more than ordinary enthusiasm. Two of his people found my rooms above Whitechapel this afternoon. I left by way of a second-storey window and decided triage required distance. Eva’s flat is not on any ledger connected to me. I assumed she would be willing to provide temporary cover while I recalibrate.” A pause that had teeth. “I did not assume I would find you playing cat-sitter.” “You could have called.” “I prefer not to leave a trail of telephone records.” He turned fully toward her then. Up close the amber eye caught everything the black one refused to surrender. “And I prefer not to be refused over a line. Harder to refuse in person, non?” Rory’s laugh came out sharper than she meant. “You make refusal sound like a hostess’s duty. Very dinner-party of you, Luc.” Something flickered around his mouth at the shortened name. She had never managed to stop using it. He had never told her to. “I am not asking you to be a hostess.” He moved past the sofa, careful of Ptolemy’s tail, and stopped at the window that overlooked the wet ribbon of Brick Lane. Curtains half-drawn. Neon from the takeaway opposite gratefully painted the glass. “I am asking for six hours and a kettle. After that I will vanish again if that remains your preference.” Preference. The word sat between them like an unpaid bill. She moved into the kitchenette — three feet of scarred counter, a hotplate, a sink that groaned — and filled the kettle because doing something with her hands was safer than watching the line of his shoulders at her best friend’s window. The street noise leaked in: muted Punjabi pop, a pair of drunks arguing over chips, the ever-present London shush of tyres on rain. “You left,” she said to the kettle. Quiet. Factual. “With half an explanation and a bruise under your suit I could see through the shirt. You said it was handled. Then day three of silence. Day four. Day five. When you finally rematerialised it was with that careful face and the ‘for your own protection’ routine, as if I’m a Victorian governess who faints at the sight of your demon side.” Behind her, leather creaked as he sat — she knew the sound of him taking a chair. Eva’s threadbare armchair that faced the room. “You are not a governess,” he said. “You are a woman who fled Cardiff and an open-handed bastard named Evan to deliver noodles for a living, and who still finds time to map artefacts for amateur occultists because her mind will not sit still. You are also a woman who looked at what I am and did not flinch until I gave her every reason to.” He was quiet a moment. “I handled Corvenching poorly. I handled you worse. Both facts may stand queer together without cancelling.” Steam rose. Rory poured two mugs — builders’ tea; Eva’s cupboard never ran to Lavazza — and carried them out. Placed his on the shelf table without handing it over. Distance. Always distance when it came to him, or none at all, and no middle ground left. She stayed standing. Five-six to his five-eleven. He sat, long legs folded, one hand resting on the cane he’d brought closer, and the rain-dark hair at his temples was beginning to curl where product lost the fight. He looked tired. Rare. “Why me,” she said. “Why not Silas. Why not any other fixer who owes you in four languages.” “Because no one else knows where to find this place without asking,” he said. “Because Corvenching’s people listen for questions. And because—” for the first time something plain and unperformed crossed his face, roughened the French in his vowels — “because I wanted to know if you were still angry enough to shut the door on me. Data. Dreadful habit.” She exhaled. Outside a scooter backfired. Ptolemy jumped, then contented himself with shedding golden fur onto the armchair again. “I was,” Rory said. “Angry. I still am, a little. You don’t get to decide how much truth I can metabolise, Lucien. Not after I already knew half the map. I packed myself out of an abusive relationship and out of Pre-Law and out of Cardiff. I can pack myself around the fact that your father came from Avars or Avaros or whatever nether pit spawned ambidextrous eyes and charms strong enough to talk a locked safe open. What I cannot pack myself around is the silence after. Silence feels like a door closing with me on the wrong side of it.” He looked at her for a long count. Then he picked up the mug, drank, winced faintly at the builder’s strength of it, and set it down again. “Then we have a conversation overdue,” he said. “If you will permit the overdraft.” Something loosened and tightened at once under her ribs. She sat opposite him — on the edge of the sofa, not sunk into it, ready. The saucer of cold tea she’d abandoned earlier climbed slowly toward spontaneous life via fungus. Eva’s research notes threatened an avalanche from the sideboard. This was not a plot for confessions. It never was. “Start with Corvenching,” she said. “Then work backward to us if you can manage sequential honesty.” He almost smiled for real then. It showed, briefly, the man she had stumbled into wanting between coded nights and late barcode scans of prawn crackers from Golden Empress shifts, the man who could speak four languages and still wound you in the fifth. “Corvenching is an importer,” Lucien said, and the voice flattened into report. “Artefacts. Contaminated ones more often than not. I brokered a private sale last month. The buyer reneged. Corvenching decided I was both liability and remaining jq of information. He dislikes unfinished books of business. His enforcers demonstrated this with a crowbar and my front door today. I returned the demonstration less gently, exited. I need a soft place for a few hours while my people confirm he has adjusted his search pattern east. That is the urgent present.” He set the cane across his knees. Ivory handle catching light. “The past: three months ago I took a night job that turned. Demonkin, lower circle, not my father’s breed. I bled more than I meant to. I chose silence partly because I was recalibrating a binding that made telephony… unkind, and partly because I was certain that if you saw me that night you would file me under the same category as Evan. Another uncontrolled fist. Another man who brought destruction home in his pockets. I misjudged you. I unexpected you. That is not an excuse. It is a confession of poor arithmetic.” Rory’s throat went tight. She looked at her own wrist, the little half-moon of scar from a bicycle fence when she was nine, and then at him. At the precise way he held still to let himself be examined. “You don’t get points for confessing the misjudgement after three blacked-out days,” she said. Quiet again. Not soft. “You get the chance to do better next time. If there is one.” “Is there.” The question arrived bare. No cane, no suit, no Marseille polish. Just two mismatched eyes fixed on her as the city breathed wet night against Eva’s glass. Rory felt the whole of their history tighten into a single stretched thread: the almosts, the argument near that Pret wall when she had told him she would not be a secret and he had told her the secret was the only thing keeping her breathing; the attraction that had never pretended to be sensible; the hurt that had filled every empty chair afterward. “I don’t know,” she said. Honest for once and all of it. “I know that when the door opened just now my first stupid human reaction was relief that you were still in one piece under the suit. I know that I hate that you made decisions for me. And I know that if Corvenching’s people walk up Brick Lane tonight I am not throwing you downstairs for them. That has to count for something.” Silence for four heartbeats. Five. Then Lucien stood. The cane stayed where it was. He took two careful steps until the small space left him him with nowhere reasonable to put his hands. She stood too, because sitting and looking up at him would have felt like surrender of a different kind. He smelled of rain and lacquered wool and that faint bitter-spice she had never managed to name, something that belonged to Avaros more than Marseille. Close enough that she could see the faint healing line along his jaw under foundation he clearly hadn’t had time to reapply. “It counts,” he said. “It counts enough that I am not asking for more than the hours. Or for the hours first and the rest only if it arrives unforced.” A breath. Almost a laugh. “I am not good at unforced things, Carter. But for you I can try not to all at once.” Her hand found the lapel of his jacket before she had fully decided it would. Not a pull. Just a place to rest. Firmer than the air. The fabric was still damp. Under it he was solid and carefully held-together and half-demon and the man who had made her that appalling tea once at three in the morning while explaining the political lineages of Avaros as if bedtime stories came with footnotes. “If you vanish again without a word,” she said, looking at the open button of his collar rather than those eyes, “I will find you. I’m good with maps. And noodles. Delivery routes teach a city.” “I believe you.” He covered her hand with his own — cool fingers, careful weight — and something in the contact ran up her arm like a struck match. “Six hours. Tea. Possibly an untangling of whatever Eva left open on the table that looks like an undoing charm. After that… neither of us vanishes without a word. That is the renegotiation. Agreed?” Rory looked up. The amber eye was almost gold this close. The black one gave nothing and everything. She could feel the history of their near-kisses and unfinished fights press in from every overloaded shelf and deadbolt. “Agreed,” she said. “Test me on it and I send Ptolemy after you. He knows things.” A real smile then, small, sharp at the corner, and gone before it could settle into anything safe. He lifted their joined hands just enough to press his mouth to the back of her knuckles — formal, European, and completely blonde-ridiculous — and the heat of it was anything but formal. “Then let us survive six hours,” Lucien said against her skin, “and see what honesty costs after midnight.” Rory let her hand slip free only so she could lock the three deadbolts again — snap, snap, snap — sealing the wet London night and whoever hunted beyond it on the outside of Eva’s cramped, book-choked flat. When she turned back Lucien had settled once more into the armchair as if the universe had finally, temporarily, permitted him to claim a chair, cane across his knees, and Ptolemy was already considering his lap with forensic interest. She returned to the kitchenette for fresh water. The kettle hummed. The city kept its cancelled appointments with misery one storey below. Inside, rain ticked the glass, research answered only its own questions, and two people who had parted torn at the seams sat down to wait out the night with everything unsaid now at least half-admitted, which was a place to start, which was more than they’d had yesterday and infinitely more dangerous. Outside the curry house’s neon stuttered, then held.
created_at"2026-07-08T19:31:31.608Z" 7/8/2026, 7:31:31 PM
model"x-ai/grok-4.5-20260708"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency1564
moderation_latency(null)
generation_time103438
tokens_prompt808
tokens_completion4170
native_tokens_prompt962
native_tokens_completion4651
native_tokens_completion_images(null)
native_tokens_reasoning1494
native_tokens_cached128
num_media_prompt(null)
num_input_audio_prompt(null)
num_media_completion0
num_search_results(null)
num_fetches(null)
web_search_engine(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
service_tier"default"
usage0.029638
router(null)
provider_responses
0
endpoint_id"0e927811-b1a8-4604-8b86-db5ce6eaa87c"
id"647e5183-e2ea-9bad-b856-91e444156a9b"
is_byokfalse
latency392
model_permaslug"x-ai/grok-4.5-20260708"
provider_name"xAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.18.0; linux; x64))"
http_referer(null)
request_id"req-1783539091-CBp9oiXI4CE3DkCl7T6F"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1783539091-LaEfRdtkrFFgy4EkYmN5"
upstream_id"647e5183-e2ea-9bad-b856-91e444156a9b"
total_cost0.029638
cache_discount0.000192
upstream_inference_cost0
provider_name"xAI"
response_cache_source_id(null)
data_region"global"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags25
adverbTagCount1
adverbTags
0"He turned fully [fully]"
dialogueSentences54
tagDensity0.463
leniency0.926
rawRatio0.04
effectiveRatio0.037
89.96% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2491
totalAiIsmAdverbs5
found
0
adverb"very"
count1
1
adverb"slowly"
count1
2
adverb"gently"
count1
3
adverb"carefully"
count1
4
adverb"completely"
count1
highlights
0"very"
1"slowly"
2"gently"
3"carefully"
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)
75.91% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2491
totalAiIsms12
found
0
word"measured"
count1
1
word"weight"
count2
2
word"flickered"
count1
3
word"silence"
count5
4
word"coded"
count1
5
word"charm"
count1
6
word"could feel"
count1
highlights
0"measured"
1"weight"
2"flickered"
3"silence"
4"coded"
5"charm"
6"could feel"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches1
maxInWindow1
found
0
label"knuckles turned white"
count1
highlights
0"knuckles went white"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences137
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount3
narrationSentences137
filterMatches(empty)
hedgeMatches
0"managed to"
1"tended to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences163
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen99
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2506
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions28
unquotedAttributions0
matches(empty)
100.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions59
wordCount1547
uniqueNames25
maxNameDensity0.78
worstName"Rory"
maxWindowNameDensity1.5
worstWindowName"Rory"
discoveredNames
Rory12
Brick2
Lane3
Lucien7
Moreau1
French2
English1
Heat1
Ptolemy5
Pret2
Chancery1
Rain2
Curtains1
Punjabi1
London2
Quiet2
Steam1
Placed1
Golden1
Empress1
Marseille2
Eva4
Honest1
Avaros2
European1
persons
0"Rory"
1"Lucien"
2"Moreau"
3"Heat"
4"Ptolemy"
5"Rain"
6"Empress"
7"Eva"
places
0"Brick"
1"Lane"
2"Pret"
3"Chancery"
4"Curtains"
5"London"
6"Golden"
7"Marseille"
8"Avaros"
globalScore1
windowScore1
87.50% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences80
glossingSentenceCount2
matches
0"not quite a smile"
1"felt like surrender of a different kind"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2506
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences163
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs57
mean43.96
std27.63
cv0.628
sampleLengths
040
166
234
31
427
514
631
716
844
9104
1017
1156
126
1357
1496
154
1645
1721
1823
1962
2010
2165
2271
2324
2487
2547
2641
2718
2860
2919
30102
3128
3214
3359
3416
3544
3690
37104
3839
3931
402
4127
4264
4375
4452
4547
4654
4772
4836
4963
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences137
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount2
totalVerbs263
matches
0"was beginning"
1"was already considering"
0.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount13
semicolonCount3
flaggedSentences10
totalSentences163
ratio0.061
matches
0"“You, as it happens.” The corner of his mouth twitched — not quite a smile."
1"“It is not about money.” He glanced past her into the flat’s cramped chaos — stacks of library books, curling scrolls, a mug abandoned on a tower of folders, the tabby Ptolemy draped like a stole across the back of the sofa."
2"She moved into the kitchenette — three feet of scarred counter, a hotplate, a sink that groaned — and filled the kettle because doing something with her hands was safer than watching the line of his shoulders at her best friend’s window."
3"Behind her, leather creaked as he sat — she knew the sound of him taking a chair."
4"Rory poured two mugs — builders’ tea; Eva’s cupboard never ran to Lavazza — and carried them out."
5"She sat opposite him — on the edge of the sofa, not sunk into it, ready."
6"Rory felt the whole of their history tighten into a single stretched thread: the almosts, the argument near that Pret wall when she had told him she would not be a secret and he had told her the secret was the only thing keeping her breathing; the attraction that had never pretended to be sensible; the hurt that had filled every empty chair afterward."
7"“I believe you.” He covered her hand with his own — cool fingers, careful weight — and something in the contact ran up her arm like a struck match."
8"He lifted their joined hands just enough to press his mouth to the back of her knuckles — formal, European, and completely blonde-ridiculous — and the heat of it was anything but formal."
9"Rory let her hand slip free only so she could lock the three deadbolts again — snap, snap, snap — sealing the wet London night and whoever hunted beyond it on the outside of Eva’s cramped, book-choked flat."
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1191
adjectiveStacks0
stackExamples(empty)
adverbCount41
adverbRatio0.03442485306465155
lyAdverbCount10
lyAdverbRatio0.008396305625524769
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences163
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences163
mean15.37
std17.67
cv1.149
sampleLengths
032
13
25
336
45
525
67
710
87
910
101
118
1213
136
1410
154
1615
1716
186
195
205
2142
222
235
2466
251
2610
279
286
297
303
314
3210
3314
3432
359
361
376
3822
3925
402
412
426
437
4413
4566
4610
474
4816
4913
66.87% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats11
diversityRatio0.44171779141104295
totalSentences163
uniqueOpeners72
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount7
totalSentences110
matches
0"Somewhere a bus sighed at"
1"Always distance when it came"
2"Then he picked up the"
3"Just two mismatched eyes fixed"
4"Then Lucien stood."
5"Almost a laugh."
6"Just a place to rest."
ratio0.064
81.82% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount38
totalSentences110
matches
0"She got that."
1"She also got Lucien Moreau."
2"He stood on the narrow"
3"His voice was smoke over"
4"She kept her face still."
5"He glanced past her into"
6"She should have said no."
7"She had walked away before"
8"She had been proud of"
9"She had also not slept"
10"He set his ivory-handled cane"
11"He shrugged out of his"
12"He turned fully toward her"
13"She had never managed to"
14"He had never told her"
15"He moved past the sofa,"
16"She moved into the kitchenette"
17"she said to the kettle"
18"He was quiet a moment"
19"She stayed standing."
ratio0.345
82.73% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount83
totalSentences110
matches
0"The third deadbolt gave with"
1"She got that."
2"She also got Lucien Moreau."
3"He stood on the narrow"
4"Rain beaded along his shoulders."
5"The curry house downstairs thumped"
6"Rory’s knuckles went white on"
7"His voice was smoke over"
8"French underedges, deliberate, as though"
9"Rory did not move to"
10"The corner of his mouth"
11"Heat flashed up under her"
12"She kept her face still."
13"He glanced past her into"
14"She should have said no."
15"The last time she had"
16"That was the polite word"
17"She had walked away before"
18"She had been proud of"
19"She had also not slept"
ratio0.755
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences110
matches(empty)
ratio0
0.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences42
technicalSentenceCount9
matches
0"He stood on the narrow landing as if the staircase itself had decided to present him, cane perched neat against the warped wood of the banister, charcoal suit i…"
1"French underedges, deliberate, as though he still measured every English word for weight."
2"She moved into the kitchenette — three feet of scarred counter, a hotplate, a sink that groaned — and filled the kettle because doing something with her hands w…"
3"It showed, briefly, the man she had stumbled into wanting between coded nights and late barcode scans of prawn crackers from Golden Empress shifts, the man who …"
4"Rory felt the whole of their history tighten into a single stretched thread: the almosts, the argument near that Pret wall when she had told him she would not b…"
5"He smelled of rain and lacquered wool and that faint bitter-spice she had never managed to name, something that belonged to Avaros more than Marseille."
6"Under it he was solid and carefully held-together and half-demon and the man who had made her that appalling tea once at three in the morning while explaining t…"
7"When she turned back Lucien had settled once more into the armchair as if the universe had finally, temporarily, permitted him to claim a chair, cane across his…"
8"Inside, rain ticked the glass, research answered only its own questions, and two people who had parted torn at the seams sat down to wait out the night with eve…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags25
uselessAdditionCount1
matches
0"Lucien said, and the voice flattened into report"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags15
fancyCount0
fancyTags(empty)
dialogueSentences54
tagDensity0.278
leniency0.556
rawRatio0
effectiveRatio0
86.1598%