Run: 2026-03-18-01KM0AF481A7MXWATP2PAXY5F5

Run Details

Duration:
18.6s
Cost:
$0.016927
Provider:
OpenAI

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 first knock came just as Rory was kicking off her shoes. The second rattled through the thin walls of Eva’s flat above the curry house, making the glass in the kitchenette cabinets shiver. Rory froze with one hand on the back of a chair and listened. Whoever was at the door had the nerve to knock like they expected to be let in. Ptolemy, curled on a heap of laundry at the end of the sofa, opened one eye and gave her a look full of feline contempt. “I know,” Rory muttered. She crossed the cramped living room, stepping around a stack of books on demon taxonomies and a spread of handwritten notes Eva had left under a paperweight shaped like a shark. The flat smelled faintly of cumin, old paper, and the damp wool of Rory’s coat. Outside, Brick Lane carried on in its usual late-evening rhythm—distant voices, a scooter zipping past, laughter from the pavement below—but the knocks came again, sharper now, and she felt them in her ribs. Three deadbolts. Eva never used less than three. Rory glanced toward the tiny hall mirror. Her black hair had escaped its clip and hung in a straight, messy curtain to her shoulders. There was a smudge of sauce on her sleeve from work. She looked tired, which was not unusual, but she also looked like someone who had learned to expect bad news at the door. Another knock. “Who is it?” she called. A beat of silence. Then, in a voice she would have known in a blackout, “Lucien.” Rory closed her eyes. Of all the possible people in London, the universe had chosen him. She should have turned around. Pretended not to hear. Left him out there until he got bored and vanished back into whatever polished, dangerous corner of the city he preferred. But Lucien Moreau was not the type to get bored, and Rory was not the type to hide forever in a flat with a tabby cat and a borrowed kettle. She unlatched the first deadbolt. Then the second. The third resisted for a second longer, as if it too understood the mistake she was about to make. When she opened the door, Lucien stood in the corridor under the yellow hallway bulb looking infuriatingly composed. Tailored charcoal suit. Ivory-handled cane in one hand, the blade hidden inside and probably polished to a murderous shine. Slicked-back platinum hair. One amber eye, one black, both fixed on her with a steadiness that made her spine tighten despite herself. He looked exactly as he always did: expensive, immaculate, and faintly like a threat. For one absurd second, all Rory could do was stare. Then she found her voice. “You’ve got some nerve.” His mouth shifted, not quite a smile. “Bonsoir to you as well, Aurora.” No one said her full name like that except people who wanted something. Rory folded her arms. “How did you find me?” Lucien’s gaze flicked over her face, brief and unreadable, and returned to her eyes. “You are not difficult to find when one knows where to look.” “That’s not an answer.” “It is the only one you are going to get standing in a hallway.” His tone was smooth, but there was an edge under it. “May I come in, or do you intend to keep me in the corridor until dawn?” Rory should have said no. She knew that with the part of her brain that handled self-preservation, the same part that had gotten her out of Cardiff and into London and away from Evan with her heart still beating and her hands still shaking. But Lucien was here. At her door. Not in a bar, not in some back room lit by a single lamp, not across a crowded room where she could pretend she didn’t track the angle of his shoulders when he moved. Here, where she could see the faint line of tension at the corner of his mouth and the way one glove had been pulled on slightly too fast, as if he’d been in a hurry. He was never in a hurry. That was what bothered her most. Rory stepped back. “Fine. Come in before the neighbors start gossiping.” His cane tapped once against the threshold as he crossed into the flat. The hallway was too narrow for his height and his arrogance, but he carried both through it without apology. Rory shut the door behind him and threw every deadbolt back into place with more force than necessary. Ptolemy, sensing a disturbance in the natural order, leaped silently to the top of the bookshelf and fixed Lucien with narrow yellow eyes. Lucien looked up at the cat. “Still alive, then.” Ptolemy blinked once. Rory let out a short, disbelieving laugh. “You’ve met before?” “Unfortunately.” “Rude,” she said, though her voice came out less sharp than she intended. Lucien’s gaze moved over the room in a quick, practiced assessment: the books and scrolls, the pinned notes on Eva’s corkboard, the half-drunk mug on the table, Rory’s coat draped over a kitchen chair because there was no other place for it. Something in his expression tightened almost imperceptibly, and she caught herself wondering what he saw. A nest. A refuge. A mess. A place she had no business inviting him into. He looked back at her. “You are well.” It was a statement, not a question. A dangerous one. Rory leaned her hip against the counter and crossed her arms tighter. “I’m not dead if that’s what you mean.” “Once again, not what I asked.” Her pulse gave a traitorous little jump. She hated that he could do that, hated even more that he knew it. Lucien had always had a way of making a room feel smaller, quieter, more honest than it wanted to be. “Why are you here?” she asked. He did not answer immediately. Instead, he set his cane against the wall with precise care, removed one glove, then the other, and folded them together in one hand. The gesture was elegant enough to be insulting. “I need to speak with you.” Rory barked a humorless laugh. “That’s rich.” His eyes sharpened. “Aurora.” “No.” She pushed off the counter and took one step toward him before she could stop herself. “You don’t get to show up here after months and say my name like that. You don’t get to stand in Eva’s flat and look at me like I’m supposed to let you in just because you asked politely.” A muscle worked once in his jaw. He had the look of a man holding several things in place at once with sheer will. “That was not what I intended.” “Then what did you intend?” Lucien’s gaze dropped, briefly, to her mouth. The air changed. It was ridiculous, really, how quickly her body remembered things her mind kept trying to bury. The press of his hand at the small of her back when he guided her through a crowd. The dark amusement in his voice when he said her name in a room full of monsters. The first time he’d kissed her, like he had all the time in the world and was choosing to use it on her. The last time he’d looked at her and not told her the truth. Rory lifted her chin. “Well?” His black eye seemed almost bottomless in the flat yellow light. “I intended to ensure you were not in danger.” That hit somewhere too familiar and too raw. She gave him a flat look. “You’re not my knight in expensive wool, Lucien.” A flicker of something crossed his face. Pain, maybe. Or regret. With him, it was always hard to tell. “No,” he said quietly. “I am not.” Silence settled between them, thick enough to touch. Ptolemy shifted on the bookshelf and began washing one paw with pointed indifference. Rory became aware, all at once, of how close Lucien stood in the narrow kitchen space. Close enough to smell the rain on his coat, the faint spice of whatever cologne clung to him, and something darker underneath—an animal heat she had never quite been able to name. Close enough that if she reached out, she could touch the line of his sleeve. She didn’t. “Tell me what happened,” she said. His eyes searched hers. “I should ask you the same.” That was not an answer, and they both knew it. Rory felt her temper flare, fast and hot. “If you’re here because one of your underworld friends dragged you into some mess and you need a delivery girl with bad judgment to clean it up, you can leave.” “Do you always assume I have come to use you?” “Yes,” she said immediately. The corner of his mouth moved, nearly a smile and nearly not. “Fair.” It was such a small concession that it robbed her of momentum. Rory looked away first, which annoyed her even more. She stared at the cluttered counter instead: the kettle, the stack of unpaid bills, a teabag wrapper, a red string tied around a page of notes. “Eva’s not here,” she said. “I know.” “Then why come here?” Lucien was quiet for a long moment. When he spoke again, his voice had gone lower. “Because this is where you would be.” Rory went still. The words struck too cleanly, bypassing the defenses she’d spent months stacking up like furniture against a door. This is where you would be. Not because he’d tracked her with some spy and not because he thought he could pick her apart from a distance. Because he knew her routine. Knew the shape of her life now. Knew she ended up here after work, tired and stubborn and trying to help Eva with research she did not fully understand. It was intimate in a way that made her chest ache. “You don’t know anything about where I’d be,” she said, but it came out less certain than she wanted. Lucien’s expression turned unreadable again, as if he had caught the crack in her voice and was choosing not to widen it in public. “No,” he said. “I know more than that.” Rory swallowed. “Then tell me.” He looked at her for a long second, and then, very carefully, “Someone has been asking questions about you.” Her stomach dropped. “Who?” “A name would be useful, yes.” “Lucien.” Something in her tone must have landed, because he exhaled through his nose, just once, and his fingers tightened around the brim of his glove. “A broker in the east end. Not one of mine.” He said the last word with a faint, proprietary bitterness that made Rory’s brows twitch. “He has heard that you are of interest to certain parties who would prefer you remain untraceable.” Rory stared at him. “That’s reassuring.” “It is not meant to be.” “Obviously.” He glanced toward the window, toward the street beyond the curtains, and for the first time since she’d opened the door Rory saw it: not fear, exactly, but vigilance. A readiness in his body like the coiled pause before a blade comes free. That made her own nerves sharpen. “What kind of parties?” she asked. Lucien turned back to her. “The kind that do not ask twice.” Rory let out a slow breath and rubbed at the scar on her left wrist with her thumb without meaning to. Her mind moved quickly, fitting pieces together, refusing panic the way it always did in a crisis. If someone had been asking about her, it meant her name had surfaced somewhere it should not have. Maybe because of work. Maybe because of Eva. Maybe because Lucien— She stopped that thought before it became useful. “Why tell me?” she asked. “Why not just send a warning and disappear again?” Something flashed in his gaze, dangerous and almost tender in a way that made her chest tighten. “Would you have believed a warning from me sent by post?” “No.” “Exactly.” Rory laughed under her breath despite herself, then immediately wished she hadn’t. The sound hung between them, oddly soft. Lucien’s attention fixed on her face like a hand. “You are angry.” “You noticed.” “You are also frightened.” “Don’t psychoanalyze me in my own kitchen.” His gaze dipped to her hand on her wrist and then back up. “Then do not tremble in front of me.” Rory looked down. Her hand was, in fact, shaking. The realization made heat rise to her cheeks. She curled her fingers into her palm and tucked both hands under her arms, but the damage was done. Lucien had seen. Of course he had. His face changed at once, the hard edge softening into something she could not bear to name. He took one step closer before he seemed to catch himself and stopped. “Rory,” he said, and this time her nickname sounded like an apology. The room felt too small for the years between them. Too small for the things she had never said and the things he never explained. She had spent so long insisting she was done, that whatever had happened between them was over, that seeing him now should feel like reopening an old bruise and nothing more. Instead it felt like someone had pressed a thumb to a crack in glass and everything inside her had gone bright and dangerous. “Don’t,” she whispered. He did not ask what she meant. That was one of the worst things about him: he understood too much. “I should have told you,” he said. The words came quietly, but they landed with the force of a slammed door. Rory stared at him. “That is the ugliest understatement you’ve ever made.” His mouth tightened. “Perhaps.” “You vanished.” “I left.” “You disappeared after saying you’d—” She stopped, because the rest of the sentence would have been a confession. After saying you’d call. After saying you wouldn’t make me feel foolish for believing you. After saying all the careful things that had sounded like promises at the time. Lucien’s expression sharpened with old hurt, and there it was: the thing under the immaculate suit, under the cane and the charm and the polished danger. The wound she had left in him when she’d told him to go. Or maybe the wound he’d left first. “I did not come here to argue,” he said. “No,” Rory said, voice gone thin. “You came here because someone’s asking about me and you thought I should know before I end up on the wrong side of a supernatural knife.” “Yes.” She stared at him. Honest, infuriating Lucien. He could still make her want to scream and kiss him in the same breath. “Fine,” she said. “I know. Now you can go.” His gaze did not move from her face. “No.” “No?” “No.” Rory blinked. “You don’t get to no me in my own flat.” “I do tonight.” She let out a sharp laugh. “You’re unbelievable.” “And yet you are still looking at me.” The words slipped in between them like a hand at the waist. Rory’s breath caught. She hated that he was right. Hated that her eyes kept finding his face, the strong line of his nose, the slight asymmetry in the set of his mouth, the impossible contrast of amber and black, beautiful in a way that felt unfair. Hated that all the anger in her was braided through with a deeper, more dangerous thing that had never fully gone away. Lucien saw it, too. Of course he did. When he spoke again, his voice was lower still. “Let me stay until morning.” Rory’s pulse kicked hard. “Absolutely not.” “Rory.” “No.” He inclined his head, barely. “Then let me see that your windows are locked. Let me check the hall. If someone is following you, they may already know where you live.” She should have told him no again, should have slammed the door in his face and gone back to bed with the deadbolt key under her pillow. But the flat had gone suddenly quiet in a way she did not like, the kind of quiet that made every distant sound on Brick Lane seem staged and intentional. Ptolemy hissed at the window. Rory looked toward the cat, then back at Lucien. “If this is a trick—” “It is not.” “That was a threat, not a promise.” A shadow of a smile touched his mouth. “I know.” She hated that smile. She hated that it reminded her of every night she had spent trying not to look at him across a room and failing. Rory stepped aside with bad grace and waved a hand toward the window. “Fine. Lock the damn windows. Then you leave.” Lucien’s eyes held hers a second longer than necessary, and in that look was a dozen things he did not say: I missed you. I’m sorry. I came because I could not not come. I should have done better. Then he moved past her into the little flat with the same measured elegance as if she had invited him for dinner instead of into the wreckage of her nerves. Rory watched him cross to the window, cane tapping once against the floorboards, and knew with a sickening, exhilarating certainty that letting him in had been a mistake. She also knew, just as surely, that if he turned around and asked her to make the mistake again, she might say yes.
created_at"2026-03-18T11:14:34.892Z" 3/18/2026, 11:14:34 AM
model"openai/gpt-5.4-mini-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency365
moderation_latency(null)
generation_time18402
tokens_prompt808
tokens_completion4423
native_tokens_prompt753
native_tokens_completion3636
native_tokens_completion_images0
native_tokens_reasoning0
native_tokens_cached0
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.01692675
router(null)
provider_responses
0
endpoint_id"9ee065b2-3d1c-43bc-bdd7-28af3b148282"
id"resp_07ebd9bb3eead9e10169ba891af3fc8195b48534e068bcafc9"
is_byokfalse
latency171
model_permaslug"openai/gpt-5.4-mini-20260317"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer(null)
api_type"completions"
id"gen-1773832474-Sdxao4WAtPT98okx3jWY"
upstream_id"resp_07ebd9bb3eead9e10169ba891af3fc8195b48534e068bcafc9"
total_cost0.01692675
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags22
adverbTagCount2
adverbTags
0"he said quietly [quietly]"
1"she said immediately [immediately]"
dialogueSentences97
tagDensity0.227
leniency0.454
rawRatio0.091
effectiveRatio0.041
87.95% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2904
totalAiIsmAdverbs7
found
0
adverb"slightly"
count1
1
adverb"really"
count1
2
adverb"quickly"
count2
3
adverb"very"
count1
4
adverb"carefully"
count1
5
adverb"suddenly"
count1
highlights
0"slightly"
1"really"
2"quickly"
3"very"
4"carefully"
5"suddenly"
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)
74.17% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2904
totalAiIsms15
found
0
word"silence"
count2
1
word"flicked"
count1
2
word"unreadable"
count2
3
word"tension"
count1
4
word"pulse"
count2
5
word"ensure"
count1
6
word"familiar"
count1
7
word"flicker"
count1
8
word"stomach"
count1
9
word"charm"
count1
10
word"absolutely"
count1
11
word"measured"
count1
highlights
0"silence"
1"flicked"
2"unreadable"
3"tension"
4"pulse"
5"ensure"
6"familiar"
7"flicker"
8"stomach"
9"charm"
10"absolutely"
11"measured"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches1
maxInWindow1
found
0
label"stomach dropped/sank"
count1
highlights
0"stomach dropped"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences210
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount2
hedgeCount1
narrationSentences210
filterMatches
0"feel"
hedgeMatches
0"seemed to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences284
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen43
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2901
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions36
unquotedAttributions0
matches(empty)
66.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions78
wordCount2366
uniqueNames11
maxNameDensity1.52
worstName"Rory"
maxWindowNameDensity3
worstWindowName"Rory"
discoveredNames
Rory36
Eva6
Brick2
Lane2
London2
Lucien21
Moreau1
Cardiff1
Evan1
Silence1
Ptolemy5
persons
0"Rory"
1"Eva"
2"Lucien"
3"Moreau"
4"Evan"
5"Silence"
6"Ptolemy"
places
0"Brick"
1"Lane"
2"London"
3"Cardiff"
globalScore0.739
windowScore0.667
40.51% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences137
glossingSentenceCount6
matches
0"looked like someone who had learned to ex"
1"not quite a smile"
2"seemed almost bottomless in the flat yellow light"
3"sounded like an apology"
4"felt like someone had pressed a thumb t"
5"sounded like promises at the time"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches2
per1kWords0.689
wordCount2901
matches
0"not unusual, but she also looked like someone who had learned to expect bad n"
1"not fear, exactly, but vigilance"
84.51% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount7
totalSentences284
matches
0"hated that he"
1"stopped that thought"
2"hated that he"
3"Hated that her"
4"Hated that all"
5"hated that smile"
6"hated that it"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs153
mean18.96
std20.35
cv1.073
sampleLengths
012
152
225
34
479
58
658
72
85
94
1012
114
1212
1360
1427
1559
1614
1710
189
1913
2013
219
2226
234
2441
2544
2676
276
286
2911
3050
3123
329
333
3410
351
3613
3763
389
398
4010
4120
426
4341
446
4537
466
477
484
4956
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount3
totalSentences210
matches
0"got bored"
1"been pulled"
2"was braided"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount3
totalVerbs410
matches
0"was kicking"
1"was choosing"
2"was choosing"
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount4
semicolonCount0
flaggedSentences3
totalSentences284
ratio0.011
matches
0"Outside, Brick Lane carried on in its usual late-evening rhythm—distant voices, a scooter zipping past, laughter from the pavement below—but the knocks came again, sharper now, and she felt them in her ribs."
1"Close enough to smell the rain on his coat, the faint spice of whatever cologne clung to him, and something darker underneath—an animal heat she had never quite been able to name."
2"Maybe because Lucien—"
88.56% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2374
adjectiveStacks0
stackExamples(empty)
adverbCount126
adverbRatio0.05307497893850042
lyAdverbCount28
lyAdverbRatio0.011794439764111205
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences284
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences284
mean10.21
std8.65
cv0.847
sampleLengths
012
122
213
317
425
54
631
715
833
92
106
117
1217
1311
1423
152
165
174
1812
194
2012
215
224
2321
2430
255
263
2719
2818
293
3016
313
3219
3314
3410
355
364
377
386
3913
404
415
4214
4312
444
4525
4616
475
4839
494
42.25% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats22
diversityRatio0.2640845070422535
totalSentences284
uniqueOpeners75
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount12
totalSentences187
matches
0"Then, in a voice she"
1"Then the second."
2"Then she found her voice."
3"Instead, he set his cane"
4"Maybe because of work."
5"Maybe because of Eva."
6"Maybe because Lucien—"
7"Of course he had."
8"Too small for the things"
9"Instead it felt like someone"
10"Of course he did."
11"Then he moved past her"
ratio0.064
95.94% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount58
totalSentences187
matches
0"She crossed the cramped living"
1"Her black hair had escaped"
2"She looked tired, which was"
3"She should have turned around."
4"She unlatched the first deadbolt."
5"He looked exactly as he"
6"His mouth shifted, not quite"
7"His tone was smooth, but"
8"She knew that with the"
9"He was never in a"
10"His cane tapped once against"
11"she said, though her voice"
12"He looked back at her."
13"It was a statement, not"
14"Her pulse gave a traitorous"
15"She hated that he could"
16"He did not answer immediately."
17"His eyes sharpened."
18"She pushed off the counter"
19"He had the look of"
ratio0.31
88.34% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount139
totalSentences187
matches
0"The first knock came just"
1"The second rattled through the"
2"Rory froze with one hand"
3"Ptolemy, curled on a heap"
4"She crossed the cramped living"
5"The flat smelled faintly of"
6"Eva never used less than"
7"Rory glanced toward the tiny"
8"Her black hair had escaped"
9"She looked tired, which was"
10"A beat of silence."
11"Rory closed her eyes."
12"She should have turned around."
13"She unlatched the first deadbolt."
14"The third resisted for a"
15"He looked exactly as he"
16"His mouth shifted, not quite"
17"Rory folded her arms."
18"Lucien’s gaze flicked over her"
19"His tone was smooth, but"
ratio0.743
80.21% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount3
totalSentences187
matches
0"Whoever was at the door"
1"Because he knew her routine."
2"If someone had been asking"
ratio0.016
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences90
technicalSentenceCount5
matches
0"She knew that with the part of her brain that handled self-preservation, the same part that had gotten her out of Cardiff and into London and away from Evan wit…"
1"Here, where she could see the faint line of tension at the corner of his mouth and the way one glove had been pulled on slightly too fast, as if he’d been in a …"
2"It was intimate in a way that made her chest ache."
3"Lucien’s expression turned unreadable again, as if he had caught the crack in her voice and was choosing not to widen it in public."
4"Hated that her eyes kept finding his face, the strong line of his nose, the slight asymmetry in the set of his mouth, the impossible contrast of amber and black…"
79.55% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags22
uselessAdditionCount2
matches
0"she said, though her voice came out less sharp than she intended"
1"Rory said, voice gone thin"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags19
fancyCount2
fancyTags
0"Rory muttered (mutter)"
1"she whispered (whisper)"
dialogueSentences97
tagDensity0.196
leniency0.392
rawRatio0.105
effectiveRatio0.041
90.9552%