Run: 2026-03-06-01KK1GBY3DPS30TPM3GEDE49TX

Run Details

Duration:
1m 34s
Cost:
$0.057833
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
By the time the third deadbolt scraped back, Aurora was already rehearsing the speech that would send whoever it was away. It was past eleven. Eva was still at the archive in Bloomsbury, which meant Rory had been drafted into cat-sitting and note-guarding duty in the flat on Brick Lane. The curry house below breathed heat and spice up through the floorboards; cumin and frying onions had seeped into the curtains years ago and never left. Ptolemy had abandoned her lap for the windowsill half an hour earlier and was now a striped loaf in the glow of the streetlamp, tail flicking every time a bus groaned past. The place looked as if a library had suffered a nervous breakdown. Books leaned in unstable towers. Scrolls sat rubber-banded in chipped mugs. Eva’s crabbed handwriting covered every spare scrap of paper, including, somehow, the back of a takeaway menu and one of Rory’s unopened electricity bills. Someone knocked again. Not loud. Not impatient. Three measured taps that somehow carried more certainty than pounding ever could. Rory pulled the door open with one hand and kept the other braced against the frame. Lucien Moreau stood on the landing as if he had been painted there. Charcoal suit, perfectly cut. Black overcoat damp at the shoulders from the mist outside. Platinum hair slicked back, not a strand out of place despite the weather. His ivory-handled cane rested lightly against his leg, gloved fingers curved over the top. One eye amber, watchful and warm as whiskey in low light; the other a depthless black that always made her feel as if she were standing too close to a drop. For one stupid beat, all she could think was that he was still offensively beautiful. Then the rest of her caught up. “No,” she said. His mouth twitched, not quite a smile. “Bonsoir to you too, Rory.” She tightened her grip on the door. “Whatever this is, you can do it from the landing.” “I would prefer not to discuss delicate matters in a stairwell that smells of vindaloo and damp carpet.” “Then I suggest you find somewhere else to have your delicate matters.” Ptolemy, traitor that he was, launched himself from the windowsill and threaded between Rory’s ankles to inspect the newcomer. Lucien looked down. His expression changed by a degree—only enough that someone who didn’t know him would miss it entirely. But Rory saw the softening around his mouth as the cat rubbed his striped flank against Lucien’s polished shoe. “You still collect dangerous creatures,” he said. “I learned from experience.” That landed. She saw it. A pause no longer than a blink, but enough. The stairwell light buzzed overhead. Somewhere below, a woman laughed in a burst, then coughed. Rain whispered against the grime-streaked window at the turn of the stairs. Lucien remained exactly where he was, neither retreating nor trying to push past her. It would have been easier if he’d been arrogant about it. Easier if he’d been cold. Instead he said, very evenly, “I know I’ve no right to ask for hospitality. I’m asking anyway.” Rory should have shut the door. She knew that with a clarity that felt almost holy. She should have slid all three deadbolts back into place and let him become a problem for another night, another century. But she had not seen him in six months, and six months had apparently done nothing useful to her common sense. “What happened to your face?” she asked. Only then did she notice the bruise darkening the line of his jaw, mostly hidden under the neat angle of his beard shadow. There was a split at the corner of his lower lip as well, small but unmistakable. His gaze flicked away, then back. “You may count that as one point in favor of letting me in. I look less suspicious seated.” “Suspicious to whom?” “To anyone with eyes.” She stared at him. He held her stare, patient in a way he never used to be with anyone but her. That was infuriating too. “Five minutes,” she said. “Generous.” “Don’t ruin it.” She stepped back. Lucien dipped his head once and entered, carrying cold night air and rain with him. Even in Eva’s cluttered flat, where every practical surface had been conquered by occult debris, he moved with impossible precision, never jostling a stack or brushing a hanging bundle of drying herbs. Ptolemy followed him like an usher. Rory shut the door and slid each deadbolt home, one after another. The final snick sounded too loud. When she turned, Lucien had stopped just inside the tiny sitting room. He took in the chaos with a glance that was somehow both amused and analytical. “Eva’s aesthetic remains aggressively scholarly.” “She says your aesthetic is ‘undertaker with money.’ Sit down.” He looked at the sofa, which was mostly buried under books in at least three dead languages. “I see.” She swept the nearest stack onto the floor and ignored the pang of guilt. “There. If a manuscript summons something because I bent the spine, that’s on you.” Lucien sat with controlled care, cane laid across his knees. Rory stayed standing for a moment simply because sitting would have implied a level of ease she absolutely did not feel. Then she dragged over the desk chair and turned it backward, straddling it with her arms folded over the backrest. Distance. Barrier. Good. “What do you want?” He studied her face with an attention that felt indecent. Not because it was hungry; because it was careful. He noticed things. He always had. The dark circles under her eyes from too many late deliveries and too little sleep. The old crescent scar on her left wrist where it rested against the wood. The stubborn set of her mouth she’d inherited from her father and had learned to hate in mirrors because it reminded her of arguments. “You cut your hair,” he said. She laughed once, without humor. “That’s not an answer.” “No.” His thumb moved over the ivory curve of the cane handle. “It is not.” He inhaled. For an instant, he seemed to be choosing among truths. “I need your help.” The answer hit her with such clean absurdity she almost smiled. “You have got to be kidding.” “I rarely kid about these things.” “Lucien, the last time I saw you, you lied to my face, used me as bait, and then vanished before dawn with half the information we’d nearly died to get.” The words came out sharper than she intended, honed by months of pretending she didn’t care enough to sharpen them. “If memory serves, your parting line was—what was it? Ah. ‘This is the part where you stop asking me for honesty I cannot afford.’” One corner of his mouth moved. “You remember my dialogue well.” “I remember wanting to throw you in the Thames.” “And yet you did not.” “That was mostly because we were in Soho.” The almost-smile disappeared. He leaned back, though not in relaxation. More like a man absorbing a blow and deciding he deserved it. “You’re right,” he said. The simplicity of it wrong-footed her. He went on. “I lied. I used your trust. I left matters in a state I’ve regretted with exhausting regularity.” She blinked. “Who are you, and what have you done with the real Lucien Moreau?” “Don’t tempt fate. He may return.” Ptolemy leapt onto the sofa beside him, turned twice, and sat pressed against Lucien’s thigh as if they were old confidants. Rory glared at the cat. He blinked slowly at her, untroubled. “Why now?” she asked. Lucien’s hand stilled on the cane. “Because this concerns you.” “Everything concerns me once you need something.” “That’s fair.” His black eye held hers while the amber one caught the lamplight. “This concerns your former lover.” All the air in the room changed. Rory’s body went hard before her mind did. She hated that. Hated the old instinct that still flared at Evan’s shadow, no matter how much distance she’d put between then and now, Cardiff and London, terror and survival. Her voice came out flatter than before. “You don’t get to use him as leverage.” “I’m not. If I were, I’d have led with details instead of apologizing badly.” She stood too quickly, chair legs scraping. “Get out.” Lucien did not move. “Rory.” “Don’t.” Her heart had begun that ugly, rabbit-fast hammer she despised because it made her feel nineteen again and trapped in a kitchen with someone blocking the door. She crossed her arms tighter, as if she could hold herself in place by force. “You don’t say his name in this flat. You don’t show up after half a year and drop that on the table like we’re discussing the weather.” His jaw flexed. A human tell. The bruise there made the motion stark. “You’re right.” “Stop saying that like it fixes anything.” “It fixes nothing.” He rose then, slowly, so she could track every inch of the movement. He had learned that too—when not to crowd her, when not to make quick gestures, when to let silence stand. Knowing he had learned it from her made anger and something softer twist together until she could not separate them. “I came because not coming would have been worse.” “For whom?” “For you.” Rory looked away from him, toward the little kitchen alcove where Eva had pinned dried rosemary over the doorway and left three mugs in the sink. The narrowness of the place suddenly felt unbearable. She pressed her fingertips against the chair back until the wood bit into her skin. “What does he want?” she asked at last. Lucien’s answer came after a beat. “I don’t know.” She gave a mirthless huff. “That’s new. I thought ignorance made you break out in hives.” “I know enough to dislike the shape of it.” He remained where he was, across the room, giving her space measured with the exactness of a surveyor. “A man in Cardiff has been asking after you. Not by your current name. By one your records should not connect to London. He paid in old coin and knew the wrong sorts of people to ask. That reached me. I looked into him.” “And?” “And I recognized him from a file I should never have seen.” He paused. “He used to work for your ex.” Cold moved through her, precise as a blade. She hated that it was his voice carrying the danger to her, hated that part of her felt safer for hearing it from him anyway. “Used to,” she said. “Past tense.” “He is dead now.” Her eyes snapped to his face. “Did you kill him?” Lucien considered. “Not personally.” “Christ.” She dragged a hand through her hair. “This is exactly what I mean. You arrive drenched and elegant and impossible, and suddenly there are dead men and old names and—” She stopped, breath catching on anger. “Why would Evan be looking for me now?” His expression shifted, and for the first time that night she saw real hesitation. “That is where I become less useful.” “Because?” “Because the answer may be supernatural.” Rory stared at him in disbelief. “Of course it bloody is.” A short laugh escaped him then, unexpected and roughened around the edges. It cracked the immaculate surface she was used to. “Yes,” he said. “Of course it is.” Against her will, the sound tugged at memory. Late nights in his office over a nightclub in Soho, ledger books and whispered names, him loosening his tie with one hand while she argued with his logic and he looked at her as if argument itself were foreplay. The first time he had laughed helplessly at one of her insults. The first time he had kissed her—abruptly, after she’d called him a sanctimonious bastard in French she barely spoke and he’d corrected her accent with his mouth. Complicated terms, she thought savagely. What a polite phrase for wreckage. “What happened to your jaw?” she asked again, because the practical was easier than the personal. He touched the bruise with two fingers, almost absently. “A disagreement.” “With whom?” “A ghoul with excellent reflexes.” “Did the ghoul win?” His gaze slid to her mouth. “I’m here, aren’t I?” That old dangerous warmth moved under her ribs before she could stop it. She hated that too. Hated him for knowing exactly how to pitch his voice low and dry like that, as if their bodies had not once learned each other by heart in rooms no larger than this one. She folded her arms harder. “Don’t flirt with me when you’re delivering threats.” “Forgive me. Muscle memory.” The answer was so quick she nearly smiled again, and that was unacceptable. She turned away sharply and went to the kitchenette. “Tea?” Behind her, a pause. “Is that a peace offering?” “No. It’s London. We have tea while discussing nightmares.” “I’ve missed you,” he said. The kettle slipped in her hand and clanged against the sink. Silence followed. Heavy, bright, impossible silence. Rory set the kettle down with exaggerated care and braced both palms on the counter. The metal was cold under her skin. Ptolemy began purring somewhere behind her, the little engine of treachery. Slowly she turned. Lucien was still standing by the sofa, cane in hand, posture straight. But whatever armor he wore in public had thinned. She could see it now in the stillness he held too deliberately, in the faint exhaustion around his eyes, in the way the split in his lip made him look almost vulnerable despite all the elegance. He met her gaze and did not take the words back. “That,” she said carefully, “is a rotten thing to say to me tonight.” “Yes.” “Because you know I’ve missed you too.” Something flashed in his amber eye—sharp relief, sharper grief. “I hoped,” he said. “Don’t look pleased about it.” “I’m trying not to.” She let out a breath that trembled at the edges and despised herself for that as well. “You don’t get to walk in here and say things like that as if six months were a scheduling issue.” “No.” “You left.” “I did.” “You made the decision for both of us.” His fingers tightened around the cane handle. “I know.” “And if you tell me it was to protect me, I swear to God I will open this window and shout until every occult academic on Brick Lane comes up to hex you.” At that, an actual smile touched his face, brief and unwilling. “Understood.” She stared at him. “Was it?” The smile died. He looked older all at once, not in years but in wear. “Partly.” “Partly.” “I left because staying would have made you a target.” “And leaving didn’t?” “No,” he said softly. “Leaving made me miserable.” The room seemed to contract around that sentence. Rory should have had something sharp ready. Something polished and clever and safely cruel. Instead she had the ridiculous awareness of the kettle between them, the rain on the window, the smell of cardamom drifting up from the street, and Lucien standing in Eva’s chaotic flat like a mistake she had spent months wanting to repeat. “Tea,” she said hoarsely, because it was the only word available. She turned the tap on and filled the kettle. Behind her, she heard the muted thud of his cane as he sat again without being told. A concession. A trust. When she glanced back, he had loosened his gloves and set them on the cluttered coffee table. His hands were elegant and scarred in ways most people would never notice. Human scars, demon lineage notwithstanding. Knife nicks. Burn marks. A thin white line across one knuckle she remembered pressing her lips to once in a room lit only by city glow and neon. Ptolemy climbed fully into his lap and settled there like a judgment. “Traitor,” Rory muttered. Lucien looked down at the cat. “He has excellent instincts.” “He likes radiators and tuna. I wouldn’t overstate his discernment.” The kettle began to rumble. She found two mugs under a stack of journals, rinsed them, dropped in tea bags. Her hands steadied as they worked. Boil water. Pour. Wait. Ordinary rituals against extraordinary dread. “Tell me everything,” she said without turning. “No omissions. No elegant edits.” “You ask a great deal.” She looked over her shoulder. “I asked for honesty you couldn’t afford, remember?” His gaze held hers. “Yes.” “Can you afford it now?” He was quiet long enough that she heard the rain pick up against the pane, soft and insistent. Then he said, “For you, I’m trying.” It was not enough. It was, damn him, more than he used to give. Rory carried the mugs over and set one before him. Their fingers brushed in the exchange. Just that—skin to skin, brief as static. The contact flashed through her with humiliating ease. His eyes lifted to hers at once, and in that small hitch of breath between them lived everything unresolved: anger, longing, caution, memory. She took her chair again, closer this time without meaning to be. “Start at the beginning,” she said. Lucien wrapped both hands around the mug, though he did not drink. Steam rose between them, threading the lamplight. And when he began, his voice was quiet enough that she had to lean in to catch it.
created_at"2026-03-06T12:01:14.357Z" 3/6/2026, 12:01:14 PM
model"openai/gpt-5.4-20260305"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency381
moderation_latency(null)
generation_time94245
tokens_prompt808
tokens_completion4628
native_tokens_prompt753
native_tokens_completion3730
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.0578325
router(null)
provider_responses
0
endpoint_id"9ff5625c-403f-4d7f-b895-58ac7295062c"
id"resp_0a7933ffdd6ebaca0169aac20a6a2881938ed290e7351f4528"
is_byokfalse
latency158
model_permaslug"openai/gpt-5.4-20260305"
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-1772798474-ANS1y4kMVYQ0GAOcQ5Fx"
upstream_id"resp_0a7933ffdd6ebaca0169aac20a6a2881938ed290e7351f4528"
total_cost0.0578325
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
totalTags30
adverbTagCount4
adverbTags
0"she asked again [again]"
1"she said carefully [carefully]"
2"he said softly [softly]"
3"she said hoarsely [hoarsely]"
dialogueSentences121
tagDensity0.248
leniency0.496
rawRatio0.133
effectiveRatio0.066
75.86% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2900
totalAiIsmAdverbs14
found
0
adverb"perfectly"
count1
1
adverb"lightly"
count1
2
adverb"very"
count1
3
adverb"slowly"
count3
4
adverb"quickly"
count1
5
adverb"suddenly"
count2
6
adverb"helplessly"
count1
7
adverb"sharply"
count1
8
adverb"deliberately"
count1
9
adverb"carefully"
count1
10
adverb"softly"
count1
highlights
0"perfectly"
1"lightly"
2"very"
3"slowly"
4"quickly"
5"suddenly"
6"helplessly"
7"sharply"
8"deliberately"
9"carefully"
10"softly"
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)
77.59% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2900
totalAiIsms13
found
0
word"measured"
count2
1
word"pounding"
count1
2
word"flicked"
count1
3
word"pang"
count1
4
word"absolutely"
count1
5
word"stark"
count1
6
word"silence"
count3
7
word"warmth"
count1
8
word"trembled"
count1
9
word"chaotic"
count1
highlights
0"measured"
1"pounding"
2"flicked"
3"pang"
4"absolutely"
5"stark"
6"silence"
7"warmth"
8"trembled"
9"chaotic"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches1
maxInWindow1
found
0
label"let out a breath"
count1
highlights
0"let out a breath"
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells2
narrationSentences211
matches
0"the pang of guilt"
1"m in disbelief"
95.46% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount4
hedgeCount3
narrationSentences211
filterMatches
0"feel"
1"notice"
2"look"
hedgeMatches
0"seemed to"
1"began to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences302
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen50
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2894
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions36
unquotedAttributions0
matches(empty)
100.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions56
wordCount2127
uniqueNames16
maxNameDensity0.75
worstName"Rory"
maxWindowNameDensity1.5
worstWindowName"Rory"
discoveredNames
Aurora1
Bloomsbury1
Rory16
Brick1
Lane1
Moreau1
Lucien16
Eva5
One2
Evan1
Cardiff1
London1
Cold1
Soho1
French1
Ptolemy6
persons
0"Rory"
1"Moreau"
2"Lucien"
3"Eva"
4"Evan"
5"Cold"
6"Ptolemy"
places
0"Bloomsbury"
1"Brick"
2"Lane"
3"One"
4"Cardiff"
5"London"
6"Soho"
7"French"
globalScore1
windowScore1
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences138
glossingSentenceCount2
matches
0"not quite a smile"
1"six months had apparently done nothing useful"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches2
per1kWords0.691
wordCount2894
matches
0"neither retreating nor"
1"not in years but in wear"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount3
totalSentences302
matches
0"was that he"
1"hated that it hated that part"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs156
mean18.55
std20.8
cv1.121
sampleLengths
021
1134
219
316
413
572
615
77
83
912
1017
1118
1212
1358
147
154
1614
1757
1817
1937
2021
217
2239
2324
243
254
2621
274
284
291
303
3156
3218
3327
345
3510
3619
3728
3854
394
4078
416
429
4315
4412
454
4617
476
4874
4911
95.29% Passive voice overuse
Target: ≤2% passive sentences
passiveCount6
totalSentences211
matches
0"been drafted"
1"been painted"
2"was, launched"
3"been conquered"
4"was used"
5"being told"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount3
totalVerbs368
matches
0"was already rehearsing"
1"were standing"
2"was still standing"
67.17% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount5
semicolonCount3
flaggedSentences8
totalSentences302
ratio0.026
matches
0"The curry house below breathed heat and spice up through the floorboards; cumin and frying onions had seeped into the curtains years ago and never left."
1"One eye amber, watchful and warm as whiskey in low light; the other a depthless black that always made her feel as if she were standing too close to a drop."
2"His expression changed by a degree—only enough that someone who didn’t know him would miss it entirely."
3"Not because it was hungry; because it was careful."
4"He had learned that too—when not to crowd her, when not to make quick gestures, when to let silence stand."
5"The first time he had kissed her—abruptly, after she’d called him a sanctimonious bastard in French she barely spoke and he’d corrected her accent with his mouth."
6"Something flashed in his amber eye—sharp relief, sharper grief."
7"Just that—skin to skin, brief as static."
81.16% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2140
adjectiveStacks1
stackExamples
0"ugly, rabbit-fast hammer"
adverbCount117
adverbRatio0.054672897196261686
lyAdverbCount36
lyAdverbRatio0.016822429906542057
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences302
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences302
mean9.58
std8.23
cv0.859
sampleLengths
021
14
225
326
432
512
65
76
824
93
102
112
1212
1316
1413
154
1610
1713
1814
1931
2015
217
223
237
245
257
2610
2718
2812
2919
303
3117
3219
337
344
352
363
379
385
3910
4012
4114
4211
435
4417
456
4610
4721
4821
497
49.45% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats14
diversityRatio0.32450331125827814
totalSentences302
uniqueOpeners98
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount10
totalSentences180
matches
0"Then the rest of her"
1"Somewhere below, a woman laughed"
2"Instead he said, very evenly,"
3"Only then did she notice"
4"Then she dragged over the"
5"More like a man absorbing"
6"Slowly she turned."
7"Instead she had the ridiculous"
8"Then he said,"
9"Just that—skin to skin, brief"
ratio0.056
62.22% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount71
totalSentences180
matches
0"It was past eleven."
1"His ivory-handled cane rested lightly"
2"His mouth twitched, not quite"
3"She tightened her grip on"
4"His expression changed by a"
5"She saw it."
6"It would have been easier"
7"She knew that with a"
8"She should have slid all"
9"His gaze flicked away, then"
10"She stared at him."
11"He held her stare, patient"
12"She stepped back."
13"He took in the chaos"
14"He looked at the sofa,"
15"She swept the nearest stack"
16"He studied her face with"
17"He noticed things."
18"He always had."
19"She laughed once, without humor."
ratio0.394
71.11% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount140
totalSentences180
matches
0"It was past eleven."
1"Eva was still at the"
2"The curry house below breathed"
3"Ptolemy had abandoned her lap"
4"The place looked as if"
5"Books leaned in unstable towers."
6"Scrolls sat rubber-banded in chipped"
7"Eva’s crabbed handwriting covered every"
8"Someone knocked again."
9"Rory pulled the door open"
10"Lucien Moreau stood on the"
11"Charcoal suit, perfectly cut."
12"Platinum hair slicked back, not"
13"His ivory-handled cane rested lightly"
14"His mouth twitched, not quite"
15"She tightened her grip on"
16"Ptolemy, traitor that he was,"
17"Lucien looked down."
18"His expression changed by a"
19"She saw it."
ratio0.778
55.56% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount2
totalSentences180
matches
0"By the time the third"
1"Even in Eva’s cluttered flat,"
ratio0.011
83.33% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences84
technicalSentenceCount7
matches
0"Eva was still at the archive in Bloomsbury, which meant Rory had been drafted into cat-sitting and note-guarding duty in the flat on Brick Lane."
1"One eye amber, watchful and warm as whiskey in low light; the other a depthless black that always made her feel as if she were standing too close to a drop."
2"Ptolemy leapt onto the sofa beside him, turned twice, and sat pressed against Lucien’s thigh as if they were old confidants."
3"She crossed her arms tighter, as if she could hold herself in place by force."
4"She hated that it was his voice carrying the danger to her, hated that part of her felt safer for hearing it from him anyway."
5"Late nights in his office over a nightclub in Soho, ledger books and whispered names, him loosening his tie with one hand while she argued with his logic and he…"
6"Hated him for knowing exactly how to pitch his voice low and dry like that, as if their bodies had not once learned each other by heart in rooms no larger than …"
91.67% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags30
uselessAdditionCount2
matches
0"She stopped, breath catching on anger"
1"she asked again, because the practical was easier than the personal"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags21
fancyCount1
fancyTags
0"Rory muttered (mutter)"
dialogueSentences121
tagDensity0.174
leniency0.347
rawRatio0.048
effectiveRatio0.017
90.1956%