Run: 2026-10-27-01M5YEMT3DM2H7209NTQA7ZR72

Run Details

Duration:
8m 45s
Cost:
$0.125162
Provider:
Moonshot AI

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 door opened, and Lucien Moreau stood on Eva’s landing with rain jewelling his platinum hair and blood darkening one cuff of his charcoal suit. Rory’s first thought was that seven weeks had done nothing to improve her judgement. He was still the most beautiful man she had ever wanted to push down a flight of stairs. “Hello, Rory.” She began to close the door. He did not catch it, or put out a hand, or use any of the other small, elegant violations by which he usually got his way. He merely shifted his weight on his ivory-handled cane and said, “There are people following me.” She stopped with the door half-shut. “Of course there are.” The landing light caught his face. One eye was amber, the other black; together they gave even his exhaustion an unsettling, deliberate quality. Rain had loosened his slicked-back hair, sending a pale strand across his forehead. Beneath the open collar of his coat, his shirt was spotted red. “I need Eva’s wards,” he said. “Only until sunrise. By then my trail will have gone cold.” “Eva’s in Oxford.” “I know.” “And you came anyway.” His pause was slight, but she had once spent an entire evening learning to read his pauses. She regretted that education now. “Yes,” he said. Below them, the curry house door opened. A rush of laughter came up the stairwell with the smells of cumin, hot oil, and rain-wet pavement. Then the door shut, and Brick Lane became a muffled murmur beyond the walls. Ptolemy appeared at Rory’s ankles. The tabby took one look at Lucien, inflated his tail, and growled. “He’s never liked me,” Lucien said. “He has excellent instincts.” Rory looked past him. The landing was empty. That did not reassure her as much as it ought to have done. “How badly are you hurt?” “It’s a scratch.” “Your scratches ruin very expensive tailoring.” Something almost like a smile touched his mouth. It vanished when he tried to straighten. She stepped back before she could think better of it. “Get in.” He crossed the threshold carefully. Rory peered into the stairwell once more, saw nothing but wet shadows, then shut the door and turned all three deadbolts. Their solid, ordinary clicks made her feel safer. She resented that too. Eva’s flat had never been spacious, but with Lucien standing in it, surrounded by towers of books and half-unrolled scrolls, it seemed to contract around him. Research notes covered the table. More lay beneath the sofa, held down by a brass candlestick and Ptolemy’s abandoned toy mouse. A cardigan of Eva’s hung from a lamp. Rory’s overnight bag sat beside the bedroom door, a silent reminder that she was only cat-sitting and had absolutely no business admitting injured half-demons before midnight. Lucien glanced at the bag, then at her. “Don’t,” she said. “I said nothing.” “You were about to be pleased.” “I was about to observe that you’re here.” “Which is the same thing, coming from you.” He accepted that with a small inclination of his head. Rory pointed to the sofa. “Sit. And don’t bleed on anything Eva can’t replace.” He moved two books and a folio of handwritten translations before lowering himself onto the cushions. His cane remained across his knees, one hand resting near the collar beneath its ivory handle. Rory had once seen him twist that collar and draw the thin blade concealed inside, smoothly enough to make the gesture look like part of the cane’s design rather than an act of violence. She fetched Eva’s first-aid kit from beneath a stack of funerary law and set it on the table. “Jacket off.” His eyebrows rose. “Don’t make it interesting.” “I wouldn’t dream of it.” He tried to remove the jacket without bending and failed. Rory caught his good arm, helping him ease it free. Up close, she could smell rain, wool, and the faint trace of something expensive and resinous that had once made her think of locked libraries and warm skin. She had spent seven weeks hoping never to smell it again. The wound ran beneath his left ribs. It was not deep, but it had bled enthusiastically through his shirt. “Who?” she asked. “An associate of my father’s.” “That narrows it to half of Avaros.” “A creditor, technically.” “And did you owe him money?” “No.” She waited. Lucien’s jaw tightened, though whether from pain or irritation she could not tell. “I returned something to its original owner. He objected to the administrative inconvenience.” “Naturally.” She cleaned the wound. He sat motionless beneath her hands, except for the controlled rise and fall of his breathing. The flat was quiet enough that she could hear the radiator knocking and Ptolemy scratching at the bathroom door. “My flat is being watched,” Lucien said after a moment. “Two safe rooms were compromised tonight. Eva’s wards are older than the mortgage and considerably less forgiving.” “You have a remarkable gift for bringing danger into other people’s homes.” “I am sorry for that.” The apology was so prompt that she glanced up. He was watching her face, not her hands. She looked back down. “You should be.” Seven weeks earlier, they had been in the back of his car with rain ticking against the windows. She could no longer remember what they had been arguing about. She remembered laughing. She remembered him going still when she leaned closer, as though stillness might disguise how quickly his attention had changed. Then she had kissed him. For four extraordinary seconds, he had kissed her back. His hand had found her jaw; his restraint had fractured into something warm and urgent and unmistakably mutual. She had felt the shape of a different life opening under her mouth. Then he had put both hands on her shoulders and set her gently away. You don’t know what you want, he had said. The next morning, he had left London. Rory had learned it from Eva. She pressed the dressing into place with more force than necessary. Lucien drew a sharp breath. “Sorry,” she said, without much conviction. His hand settled around her left wrist. Not gripping. Merely resting there, his thumb beside the small crescent-shaped scar near her pulse. She froze. He released her at once. “Sorry.” That was the trouble with Lucien. He could be exquisitely careful with her body and spectacularly careless with everything surrounding it. Something brushed against the front door. Ptolemy stopped scratching at the bathroom. His growl deepened into a rusty, continuous note. Lucien reached for his cane. Rory caught his eye. “You said they couldn’t get in.” “They cannot.” “Then stop looking for a fight and let me finish.” The letter box lifted with a small metallic squeak. A breath moved through it—long, cold, and wrong. The smell of curry vanished from the flat, replaced briefly by wet stone. Rory did not look toward the door. She held the bandage while Lucien secured it, and after several seconds the letter box dropped shut. Ptolemy’s growl faded. Somewhere below, a scooter rattled past on Brick Lane. “Charming friends,” she said. “Not friends.” “No, I didn’t think you’d brought them round for dinner.” She packed away the unused gauze because her hands needed an occupation. When she had run out of things to align, Lucien said, “I did not come only for the wards.” “No?” “My other refuges were available before tonight. I could have gone to Silas. I could have left London and taken my chances on the road.” “But instead you came to a flat where you knew I’d be alone.” “Yes.” She waited for him to turn it into strategy. He did not. “I wanted to see you,” he said. “I told myself that was selfish and unsafe, which it was. Then I ran out of other doors and discovered I was grateful.” Rory gave a short, disbelieving laugh. “You don’t get points for honesty because you’re losing blood.” “A small allowance, perhaps.” “No.” He nodded. The rain had begun to dry in his hair, leaving it less perfect than he usually permitted. Without the immaculate armour of his suit, he looked younger and more tired. She hated that she noticed. “You told me I didn’t know what I wanted,” she said. “Then you disappeared. You couldn’t even tell me yourself. I had to hear it from Eva while she pretended not to watch me across the table.” “I know.” “Do you?” His gaze dropped briefly. “I behaved badly.” “That’s a very elegant little phrase.” “It is inadequate.” “Yes.” He was silent for a moment. Rory had seen him silence rooms with less effort, but now he seemed to be searching for words that would not arrange themselves into a defence. “My father had learned your name,” he said at last. “Someone had seen us together often enough to become curious. I thought that if I left, if I made it clear you were unimportant to me, his curiosity would move elsewhere.” Anger arrived clean and bright, burning through the more dangerous thing beneath it. “You made me unimportant to protect me.” “Yes.” “And did it work?” His expression answered before he did. “No.” “So your plan was cruel and bad.” “Yes.” She folded her arms, though it did nothing to contain the shaking in her hands. “You don’t get to decide what I can bear. You don’t get to choose what I’m told and then call the choice protection. I’ve had a man explain my own mind to me before. I moved cities to get away from it.” Lucien’s face hardened. “I am not Evan.” “No. You’re not.” She held his gaze. “But you used the same key.” He went very still. Outside, rain whispered against the windows. Ptolemy jumped onto the back of the sofa and began, with monstrous unconcern, to wash one paw. When Lucien spoke again, his voice had lost its polish. “I am sorry. Not for leaving London—I believed that was necessary, and I may be wrong again, but I will not lie about it. I am sorry for giving you silence instead of a choice. I am sorry for what I said in the car. You did know what you wanted.” His mouth tightened. “I was the one who did not know how to want something without immediately calculating how it could be taken from me.” Rory looked away. It would have been easier if he had begged. Begging she could have dismissed. This quiet, exact admission found its way beneath her ribs. “You could have written,” she said. “I did.” She looked back. “Several letters,” he added. “They were appalling.” Despite herself, she nearly smiled. “That I believe.” “The first attempted to explain Avarosian succession law. The second contained no apology at all, only instructions for avoiding three kinds of tracking sigil.” “Very romantic.” “The third was worse.” “What happened to them?” “I kept them as evidence that some decisions are improved by delay.” “And then you showed up bleeding on Eva’s doorstep.” “Yes,” he said. “The evidence was not entirely persuasive.” This time she did smile, briefly and against her will. His expression eased, but he did not appear to mistake it for forgiveness. Good. She was not offering forgiveness. Not yet. “I missed you,” he said. The words were simple enough to be devastating. Rory busied herself with the clasp of the first-aid kit. It clicked open beneath her fingers. She shut it again. “You have an odd way of showing things.” “I know.” “I’m still angry.” “You have reason.” “And you can’t stay here after tonight, making tea and being wounded and honest, until I forget why.” “No.” “If my father’s associates are still interested in me, I want to know everything. Not the edited version. Not whatever you think will keep me calm.” “I will tell you.” “Even the parts that make you look foolish?” His gaze flicked toward the bloodied shirt on the floor. “I appear to have made an excellent start.” She sat down at the other end of the sofa. Ptolemy immediately stepped from the back cushions onto the narrow space between them, turned twice, and settled with his paws tucked beneath him. Lucien looked at the cat. “A chaperone.” “A witness.” “Of course.” For a while, neither of them spoke. It should have been uncomfortable. Instead, Rory felt the carefulness draining from the room, leaving her tired. She had imagined this encounter so often that the reality seemed almost plain: no thunder, no perfect speech, only a man with rain in his hair and blood on his cuff, waiting to learn whether she would send him away. “What happens at sunrise?” she asked. “My associates will have dealt with the people outside. I can leave.” “And after that?” He considered the question with more seriousness than it seemed to require. “If you wish, I will go back to my flat and begin the extremely humbling process of communicating before I vanish. If you do not wish to hear from me, I will respect that.” Rory stared at him. “That’s your plan?” “It has the advantage of including your wishes.” She could not argue with that, which annoyed her. “Or,” she said, “you could stay for coffee. Then you tell me about your father. After that, if you haven’t made everything worse, you can ask me to dinner.” His stillness returned, but it was different now. Less like a locked door. More like a man afraid to disturb something fragile. “Coffee,” he repeated. “Don’t sound so astonished. You’ve had coffee before.” “Not like this.” The words reached her before she could prepare for them. She looked at his hands rather than his face. One lay open on his knee, long fingers relaxed, a thin line of blood still caught beneath his signet ring. She had missed his hands. She had missed his silences, too, which was considerably more embarrassing. “If I kiss you,” she said, “it doesn’t mean I’ve stopped being angry.” “Understood.” “It doesn’t mean you can disappear next week and send me a useful book as an apology.” “No.” “And it doesn’t mean I trust you.” His gaze lifted to hers. “May I?” Rory’s pulse stumbled. She had expected him to wait until she crossed the distance, to make her offer everything so he could pretend he had merely accepted. She nodded. “Yes.” He leaned toward her slowly enough that she could have changed her mind. She did not. His mouth touched hers with a restraint that lasted perhaps half a second. Then she caught the lapel of his ruined shirt, and he made a low sound she felt all the way down her spine. His hand came to her waist, warm through her jumper. He did not pull her closer. She went anyway, careful of his injured side, and kissed him until the seven weeks between them stopped feeling like an answer and became only time—wasted time, perhaps, but not infinite. Ptolemy sneezed. Rory broke away laughing. Lucien’s forehead rested briefly against hers, his breath unsteady. “That was unwise,” he said. “Probably.” “I may need to do it again.” She picked up the bloodstained cloth before Ptolemy could investigate it. “Get through breakfast first.” “An exacting woman.” “You knew that in the car.” “Yes,” he said, without a trace of defence. “I did.” Rory fetched a blanket from Eva’s bedroom and dropped it over him. Then, because the armchair was buried beneath three weeks of comparative folklore and because she was tired of pretending distance made her virtuous, she sat beside him again. His hand lay open on the cushion. After a moment, she put hers into it. His fingers closed gently around hers. Beyond the three deadbolts, the landing remained silent. Inside, Ptolemy rearranged himself across both their laps and began to purr, which Rory considered an absurdly premature show of trust. She did not take her hand away.
created_at"2026-10-27T10:31:39.383Z" 10/27/2026, 10:31:39 AM
model"moonshotai/kimi-k3.1-pro-20261023"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency3386
moderation_latency(null)
generation_time525263
tokens_prompt788
tokens_completion13724
native_tokens_prompt851
native_tokens_completion12346
native_tokens_completion_images(null)
native_tokens_reasoning8789
native_tokens_cached0
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"stop"
service_tier(null)
usage0.125162
router(null)
user_agent"langchainjs-openai/1.0.0 ((node/v24.22.1; linux; x64))"
http_referer(null)
request_id"req-1793097099-kccnmyStscyNVeejlcwX"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1793097099-6Rr7ZnVWPezOgkBKg1u2"
upstream_id"chatcmpl-6ae07d8c6201593187d8f50c"
provider_responses
0
endpoint_id"a3fafaac-f097-4ef1-86b3-842854dad5c6"
id"chatcmpl-6ae07d8c6201593187d8f50c"
is_byokfalse
latency3386
model_permaslug"moonshotai/kimi-k3.1-pro-20261023"
provider_name"Moonshot AI"
status200
total_cost0.125162
cache_discount(null)
upstream_inference_cost0
provider_name"Moonshot AI"
response_cache_source_id(null)
data_region"global"
workspace_id"97e315e5-d303-487d-83c1-83180e8a13d4"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags25
adverbTagCount1
adverbTags
0"He merely shifted his weight on his ivory-handled cane and said [merely]"
dialogueSentences129
tagDensity0.194
leniency0.388
rawRatio0.04
effectiveRatio0.016
83.05% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2655
totalAiIsmAdverbs9
found
0
adverb"very"
count4
1
adverb"carefully"
count1
2
adverb"quickly"
count1
3
adverb"gently"
count2
4
adverb"slowly"
count1
highlights
0"very"
1"carefully"
2"quickly"
3"gently"
4"slowly"
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)
71.75% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2655
totalAiIsms15
found
0
word"weight"
count1
1
word"reminder"
count1
2
word"absolutely"
count1
3
word"remarkable"
count1
4
word"fractured"
count1
5
word"pulse"
count2
6
word"perfect"
count2
7
word"silence"
count2
8
word"calculating"
count1
9
word"flicked"
count1
10
word"encounter"
count1
11
word"down her spine"
count1
highlights
0"weight"
1"reminder"
2"absolutely"
3"remarkable"
4"fractured"
5"pulse"
6"perfect"
7"silence"
8"calculating"
9"flicked"
10"encounter"
11"down her spine"
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
narrationSentences188
matches(empty)
59.27% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount3
hedgeCount8
narrationSentences188
filterMatches
0"feel"
1"look"
2"think"
hedgeMatches
0"began to"
1"tried to"
2"seemed to"
3"appear to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences292
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen55
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2652
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions36
unquotedAttributions0
matches(empty)
83.33% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions61
wordCount1768
uniqueNames10
maxNameDensity1.19
worstName"Rory"
maxWindowNameDensity2.5
worstWindowName"Lucien"
discoveredNames
Lucien16
Moreau1
Eva6
Brick2
Lane2
Rory21
Ptolemy10
London1
Anger1
Despite1
persons
0"Lucien"
1"Moreau"
2"Eva"
3"Rory"
4"Ptolemy"
5"Anger"
places
0"Brick"
1"Lane"
2"London"
globalScore0.906
windowScore0.833
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences120
glossingSentenceCount1
matches
0"seemed almost plain no thunder, no perfect speech, only a man with rain in his hair and blood on his cuff, waiting to learn whether she would send him away"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches2
per1kWords0.754
wordCount2652
matches
0"not deep, but it had bled enthusiastically through his shirt"
1"Not for leaving London—I believed that was necessary, and I may be wrong again, but I will not lie about it"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount3
totalSentences292
matches
0"regretted that education"
1"hated that she"
2"enough that she"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs190
mean13.96
std14.92
cv1.069
sampleLengths
025
132
22
36
442
510
648
717
83
92
104
1122
123
1339
1417
156
164
1721
185
193
206
2115
2212
2338
2481
258
263
273
286
298
308
3110
3214
3366
3418
352
363
374
385
3959
4019
413
425
437
443
456
461
472
4826
491
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount1
totalSentences188
matches
0"was buried"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount2
totalVerbs327
matches
0"was watching"
1"was not offering"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount2
semicolonCount2
flaggedSentences4
totalSentences292
ratio0.014
matches
0"One eye was amber, the other black; together they gave even his exhaustion an unsettling, deliberate quality."
1"His hand had found her jaw; his restraint had fractured into something warm and urgent and unmistakably mutual."
2"A breath moved through it—long, cold, and wrong."
3"She went anyway, careful of his injured side, and kissed him until the seven weeks between them stopped feeling like an answer and became only time—wasted time, perhaps, but not infinite."
75.22% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1780
adjectiveStacks3
stackExamples
0"other small, elegant violations"
1"other black; together they"
2"small crescent-shaped scar"
adverbCount85
adverbRatio0.047752808988764044
lyAdverbCount27
lyAdverbRatio0.015168539325842697
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences292
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences292
mean9.08
std7.8
cv0.859
sampleLengths
025
114
218
32
46
526
616
76
84
96
1017
1113
1212
136
1411
153
162
174
1817
195
203
217
2218
2314
245
2512
266
274
284
294
3013
315
323
336
348
357
3610
372
385
3921
408
414
4226
435
4416
458
4626
478
483
493
46.58% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats10
diversityRatio0.2602739726027397
totalSentences292
uniqueOpeners76
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount10
totalSentences163
matches
0"Then the door shut, and"
1"More lay beneath the sofa,"
2"Then she had kissed him."
3"Then he had put both"
4"Merely resting there, his thumb"
5"Somewhere below, a scooter rattled"
6"Instead, Rory felt the carefulness"
7"More like a man afraid"
8"Then she caught the lapel"
9"Then, because the armchair was"
ratio0.061
28.59% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount78
totalSentences163
matches
0"He was still the most"
1"She began to close the"
2"He did not catch it,"
3"He merely shifted his weight"
4"She stopped with the door"
5"His pause was slight, but"
6"She regretted that education now."
7"It vanished when he tried"
8"She stepped back before she"
9"He crossed the threshold carefully."
10"Their solid, ordinary clicks made"
11"She resented that too."
12"He accepted that with a"
13"He moved two books and"
14"His cane remained across his"
15"She fetched Eva’s first-aid kit"
16"His eyebrows rose."
17"He tried to remove the"
18"She had spent seven weeks"
19"It was not deep, but"
ratio0.479
45.89% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount135
totalSentences163
matches
0"The door opened, and Lucien"
1"Rory’s first thought was that"
2"He was still the most"
3"She began to close the"
4"He did not catch it,"
5"He merely shifted his weight"
6"She stopped with the door"
7"The landing light caught his"
8"Rain had loosened his slicked-back"
9"His pause was slight, but"
10"She regretted that education now."
11"A rush of laughter came"
12"Ptolemy appeared at Rory’s ankles."
13"The tabby took one look"
14"Rory looked past him."
15"The landing was empty."
16"That did not reassure her"
17"Something almost like a smile"
18"It vanished when he tried"
19"She stepped back before she"
ratio0.828
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences163
matches(empty)
ratio0
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences72
technicalSentenceCount1
matches
0"She remembered him going still when she leaned closer, as though stillness might disguise how quickly his attention had changed."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags25
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags22
fancyCount3
fancyTags
0"He merely shifted his weight on his ivory-handled cane and said (shift say)"
1"he added (add)"
2"he repeated (repeat)"
dialogueSentences129
tagDensity0.171
leniency0.341
rawRatio0.136
effectiveRatio0.047
86.4559%