Run: 2026-03-06-01KK1HWSMPX152EEWDAZ3PNH4R

Run Details

Model:
GPT-5.4
Duration:
1m 53s
Cost:
$0.057142
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 Aurora pulled back the first deadbolt, she was already irritated. By the second, she was suspicious. No one who knew Eva knocked like that—three measured raps, a pause, then two more, patient as a creditor. Eva’s friends pounded. Delivery men jabbed the bell. Silas shouted up from the street if he needed something. Whoever stood on the other side of the door was either polite by nature or dangerous enough not to need to prove it. She slid the third bolt free and opened the door on the chain. The corridor light caught a blade of platinum hair, the hard line of a charcoal lapel, the pale, elegant hand resting on the head of an ivory cane. Then his face tipped up, and her breath snagged where it shouldn’t have. Lucien Moreau looked exactly as memory had preserved him and a little worse in the way that made him more human. One amber eye, one black, both fixed on her with the unnerving steadiness of a man accustomed to learning things before they were offered. His mouth was set in a line that might once have been a smile if either of them had earned one. “Bonsoir, Aurora.” For one useless second she simply stared. Then the shock burned off, leaving something cleaner and sharper. “Absolutely not.” She started to shut the door. His cane wedged into the narrowing gap with a neat, practiced motion. “That is a very warm welcome. London has softened you.” “Take your stick out of my door before I break your fingers with it.” One dark brow lifted. “You know what it is.” Of course she did. The ivory handle concealed a thin blade, silvered and etched, because Lucien never carried anything that served only one purpose. Her grip tightened on the edge of the door. From somewhere inside the flat, Ptolemy gave a bored, judgmental yowl. Aurora kept her voice low. “Eva isn’t here.” “I gathered as much. You opened the door with your right hand.” She hated that he remembered she was left-handed. Hated more that some treacherous part of her noticed his accent had gone softer around her name, the old French vowels smoothing over the rough edges. “She’ll be back later,” Aurora said. “You can leave whatever cryptic warning or expensive problem you came to deliver with me, and I’ll make sure she gets it.” Lucien looked past her shoulder into the flat. Books stacked on the floor. Scrolls shedding ribbon ties across the radiator. Research notes pinned to the wall above the tiny kitchen table. The air smelled of turmeric from the curry house downstairs, dust, old paper, and the tea Aurora had forgotten to drink while she’d been helping Eva cross-reference protection sigils in three different alphabets. “I did not come for Eva,” he said. That landed between them with the quiet force of a thrown knife. Aurora felt it all at once: the chain biting cold into her wrist, the faint pulse of the crescent scar beneath it, the corridor draft on her bare ankles, the old instinct to run before she could be cornered. She had not seen him in eight months. Eight months since Marseille House, since the blood on the tiled floor and the lie he had told with that beautifully expressionless face while she stood there thinking, stupidly, that he would choose honesty over leverage for once. “You’ve got a remarkable sense of timing,” she said. “I was just revisiting all my worst decisions.” “Yes,” Lucien said. “I noticed my ears burning.” Despite herself, the corner of her mouth twitched. It made her angrier. She unhooked the chain but kept the door mostly closed, her body blocking the opening. “You’ve got thirty seconds.” “Unkind.” “Twenty.” He exhaled through his nose, a sound almost like amusement and not nearly warm enough. “Someone is asking questions about you. Not the usual sort. Not a jealous lover, not a landlord, not one of your restaurant’s less satisfied customers.” “My life is heartbreakingly dull. You may have confused me with someone else.” “Bright blue eyes, black hair, Welsh vowels flattened by London, lives above a bar and spends her afternoons delivering dumplings for Golden Empress.” He tilted his head. “Should I continue?” A chill unspooled down her back. She could bluff, but not with him. Lucien’s trade was information; lies only interested him when they were elegant. “Who?” she asked. “That,” he said, “is better discussed inside.” Aurora gave a short, humorless laugh. “You really do think you can arrive after months of silence and get invited in.” His expression shifted by a fraction. Guilt, maybe. On anyone else it would have been obvious. On Lucien, it was a crack in polished stone. “I thought silence was what you wanted.” “That is not what I wanted.” The words came out before she could stop them. They hit him; she saw it in the way his hand tightened on the cane handle, the only tell he had ever failed to fully master around her. The hallway suddenly felt too narrow for both of them, too full of all the things they had never said. Beneath the irritation, beneath the wariness, attraction stirred with infuriating obedience. It was there in the clean scent of vetiver and rain clinging to his coat, in the severe line of his mouth she remembered against her own, in the fact that she still knew exactly how tall she had to tip her chin to meet his eyes. Aurora stepped back. “Fine,” she said. “Inside. But if you try anything manipulative, mysterious, or French, I’m throwing you down the stairs.” “At last,” he murmured, and crossed the threshold. He moved into Eva’s flat like it was a diplomat’s salon instead of a one-bedroom paper avalanche above a curry house. Lucien had that gift. He could stand beside a sagging bookshelf and make the room look underdressed. His cane tapped once on the floorboards, then went still. Ptolemy emerged from beneath a chair, took one look at him, and rubbed against his trouser leg as if greeting a favorite uncle. “Traitor,” Aurora said to the cat. “Animals have excellent judgment,” Lucien replied. She shut the door, drove all three deadbolts home, and turned to find him studying the notes spread across the table. Protective circles, half-translated invocations, names underlined in Eva’s impatient handwriting. “Don’t touch anything,” Aurora said. “I would not dare.” “You say that like a man who has definitely dared.” “Frequently. It is one of my more charming flaws.” Aurora folded her arms. “You have exactly one minute before I decide your concern for my safety is another one of your jobs.” That earned her his full attention. The light from the single lamp cut one side of his face into gold and shadow, amber eye bright, black eye bottomless. She remembered, stupidly vividly, the last time she had stood this close to him. The room then had smelled of smoke and oranges and old money. He had put bloodless fingers under her chin and told her not to move while chaos unfolded downstairs. She had mistaken intensity for trust. Or maybe she had simply wanted to. “An intermediary out of Limehouse has been taking bids,” he said. “For information leading to a human woman with no known magical signature who nevertheless survived contact with an object from Avaros.” Aurora’s stomach dropped. The object. He meant the shard from Marseille House, the black glass relic they had both pretended not to care about until men started killing each other over it. She had touched it because no one had told her not to, because she was tired and angry and not as careful as she should have been. It had cut her palm and shown her a landscape of red sky and towers made of bone and fire—a place that was not Earth, not memory, but some impossible overlap of both. Lucien had taken the shard from her hand. Later, when the collectors came, he had denied she had ever been there at all. Denied it so smoothly she had wondered if she, too, could be erased that easily. “Why now?” she asked. “I don’t know yet.” “Who’s bidding?” “Names are being concealed.” “Convenient.” “Yes.” He met her gaze and let the word stand between them. He was not lying. Or not in the obvious way. Aurora crossed to the stove, mostly because she needed the movement. The tea in the saucepan had gone tannic and cold. She poured it out, rinsed the pot, filled it again. Her hands were steady. She took pride in that. Behind her Lucien said, “You should not stay here tonight.” She laughed once, softly. “There it is. The order.” “The advice.” “You don’t get to advise me.” She struck a match too hard; sulfur flared sharp in the air. “You vanished.” There was a pause long enough to hear the hiss of gas, the street noise below, a burst of laughter from the curry house stairs. Then, quietly, “I know.” She turned. He had not moved. That was somehow worse. If he’d gone glib on her, if he’d leaned into the charm and made this another dance of half-truths, she could have held her anger cleanly. But he stood in Eva’s cramped, overfilled flat with his shoulders held a fraction too rigid, as if restraint cost him something tonight. “You told me to trust you,” Aurora said. “Do you remember that?” “Yes.” “And then you looked me in the face and lied.” His jaw tightened. “I said what I had to say to keep them from noticing how much you mattered.” The flat went very still. It would have been easier if he had chosen any other word. Aurora stared at him, pulse suddenly loud in her ears. “That’s a cruel thing to say when you don’t mean it.” Something flashed across his expression—offense, then pain, then that ruthless composure slamming back into place. “When have you known me to waste cruelty by accident?” he asked. She hated the catch in her breath. Hated that her body remembered him before her judgment did. The kettle began to mutter on the flame. Ptolemy leapt onto a pile of journals and settled there, tail wrapped around his paws, watching them like a magistrate. Aurora looked away first. “You still haven’t explained the silence.” Lucien’s cane clicked once as he shifted his weight. “If I contacted you after Marseille House, I would have drawn attention to you. There were eyes on every associate of mine. Some of them still belong to people who would be delighted to use you to get at me.” “That sounds almost like concern.” “It is concern.” The bluntness of it cut through her defenses more effectively than any polished line could have. She poured water over tea leaves with more force than necessary. “You could have left a message.” “With whom? The bartender beneath your flat? The delivery route everyone can follow? A note at Eva’s door with your name on it and a bright ribbon?” His mouth sharpened. “I stayed away because I know what my world does to things it touches.” “That world touched me anyway.” “Yes.” His voice dropped. “And I have regretted that every day since.” Aurora closed her eyes for one beat. When she opened them, he was exactly where he had been, impossibly controlled, and yet the room felt changed, as if some sealed window had finally cracked. She carried two chipped mugs to the table and set one down in front of the empty chair without asking whether he wanted it. He looked at the mug, then at her. “That is either forgiveness,” he said, “or a prelude to poison.” “Drink and find out.” A faint, genuine smile touched his mouth. It transformed him and infuriated her all over again. He sat, laying the cane across his knees. Up close she noticed a faint bruise shadowing his cheekbone, mostly hidden by the warm lamplight. Another tear, neatly mended, along the cuff of his otherwise immaculate sleeve. Lucien never arrived disordered unless the disorder mattered. “You’re hurt,” she said before she could stop herself. “Occupational inconvenience.” “Who did it?” “No one you can threaten usefully.” “That answer suggests there are people I can threaten usefully.” “There are,” he said. “You are very persuasive with kitchen implements.” She ignored the attempt at levity. “Is this connected?” “Probably.” He wrapped long fingers around the mug but didn’t drink. Steam blurred one side of his face. “I came because the bids escalated this afternoon. Enough money to make desperate men bold. Enough interest to make me think this is not random curiosity. If someone knows what happened with the shard, they may believe you carry a residue of it. A key, perhaps. A map.” “I carry student debt and a bad temper.” “To reasonable observers, yes.” She took a swallow of tea. It was too hot and too bitter. “What do you want me to do?” “For tonight? Come with me.” The words landed low in her body before her mind got hold of them. She set the mug down carefully. “No.” His gaze held hers. “Aurora—” “No. I am not getting into a mysterious car with you and disappearing into whatever gilded rat hole you currently call safe.” A spark of something almost playful touched his eyes. “Gilded rat hole is unfair. Some of my properties are tasteful.” “Absolutely not.” He leaned back, studying her over the rim of the mug now. “Then I stay here.” She blinked. “What?” “Until morning, at minimum. Perhaps longer, depending on what I learn.” “This is Eva’s flat.” “And she is fond of me.” “She tolerates you because you occasionally provide useful documents and once paid her rent when she was too proud to ask.” “Ah. Fond.” Aurora stared at him. The nerve of the man was almost magnificent. “You cannot simply decide to stay.” “I can if the alternative is leaving you unguarded.” Heat rose in her cheeks, half anger, half something far less manageable. “I don’t need guarding.” “I know. You need warning, backup, and someone at the door before trouble reaches it.” He glanced toward the three deadbolts. “Locks are for the honest.” She wanted to argue. Wanted to throw him out, bolt the door, pretend his reappearance had not cracked open every sealed, aching thing she had spent months packing away. But underneath the offense sat the hard nugget of truth: Lucien did not show up in person for small threats. If he had come himself, unannounced and visibly battered, then someone out there was moving fast enough to worry him. And God help her, part of her was relieved he was here. She dragged a hand through her straight black hair. “You do not get to act like some dark guardian after making me believe I’d imagined the whole of whatever this was.” Lucien’s expression went still. “You did not imagine it.” The room shrank around the sentence. Aurora could hear the kettle settling on the stove, the scrape of a bus outside, Ptolemy beginning a rusty purr on his tower of notes. Her pulse beat in the crescent scar on her wrist, a phantom ache from old fear and older foolishness. “What was it, then?” she asked, and the question came out quieter than she intended. “Because from where I stood, it looked very much like I was useful until I became inconvenient.” He set the mug down. Not a clink, not a fidget; a deliberate surrender of something to free his hands. “When I met you,” he said, “I thought you were an anomaly with very blue eyes and a talent for surviving situations that should have destroyed you. I intended to keep you at a distance.” “That went well.” “No.” A tiny exhale. “It did not.” He looked at her in a way he almost never allowed himself to—without buffering irony, without transactional calm. Rawer than she would have believed him capable of. It made him seem younger and far more dangerous. “You were never useful,” he said. “Useful is simple. Useful is safe. You were...” He stopped, as if the next words had edges. “A complication I wanted. Which is rare enough to be catastrophic.” Her throat tightened. Trust Lucien Moreau to make honesty sound like a confession and a threat in the same breath. Aurora let out a small, disbelieving laugh. “That is a terrible line.” “It is not a line.” “No, I suppose not. You’re not nearly sentimental enough.” His gaze dropped, briefly, to her mouth. It was there and gone, but she saw it. Felt the answering spark like a struck wire. “On the contrary,” he said softly. “Sentiment is exactly the problem.” For a moment neither of them moved. Then a heavy footstep sounded on the stairs outside, followed by another. Not the loose stomp of neighbors, not the quick skip of someone heading home. Deliberate. Slow. Stopping outside the flat door. Aurora went cold. Lucien was on his feet before the fear fully formed, tea untouched, cane already in his hand. The ease vanished from him like a curtain torn away. What remained was harder, older, made for violence. He looked at her once, all sharp attention and unarguable command. “Behind me,” he said. And damn him, with her heart still bruised and her anger still alive, Aurora obeyed.
created_at"2026-03-06T12:27:55.422Z" 3/6/2026, 12:27:55 PM
model"openai/gpt-5.4-20260305"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency468
moderation_latency(null)
generation_time112496
tokens_prompt808
tokens_completion4618
native_tokens_prompt753
native_tokens_completion3684
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.0571425
router(null)
provider_responses
0
endpoint_id"9ff5625c-403f-4d7f-b895-58ac7295062c"
id"resp_04297389f7e909930169aac84b82608193b05fdd1733768a42"
is_byokfalse
latency131
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-1772800075-uxEQop74ivKwwOhrrDxc"
upstream_id"resp_04297389f7e909930169aac84b82608193b05fdd1733768a42"
total_cost0.0571425
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
adverbTagCount1
adverbTags
0"he said softly [softly]"
dialogueSentences117
tagDensity0.256
leniency0.513
rawRatio0.033
effectiveRatio0.017
81.06% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2904
totalAiIsmAdverbs11
found
0
adverb"very"
count5
1
adverb"really"
count1
2
adverb"suddenly"
count2
3
adverb"softly"
count2
4
adverb"carefully"
count1
highlights
0"very"
1"really"
2"suddenly"
3"softly"
4"carefully"
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)
67.29% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2904
totalAiIsms19
found
0
word"measured"
count1
1
word"absolutely"
count2
2
word"etched"
count1
3
word"treacherous"
count1
4
word"pulse"
count3
5
word"remarkable"
count1
6
word"sense of"
count1
7
word"chill"
count1
8
word"silence"
count3
9
word"intensity"
count1
10
word"stomach"
count1
11
word"charm"
count1
12
word"dance"
count1
13
word"weight"
count1
highlights
0"measured"
1"absolutely"
2"etched"
3"treacherous"
4"pulse"
5"remarkable"
6"sense of"
7"chill"
8"silence"
9"intensity"
10"stomach"
11"charm"
12"dance"
13"weight"
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
emotionTells1
narrationSentences192
matches
0"was relieved"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount2
narrationSentences192
filterMatches
0"look"
hedgeMatches
0"started to"
1"began to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences277
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen48
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2900
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions36
unquotedAttributions0
matches(empty)
97.50% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions57
wordCount2000
uniqueNames11
maxNameDensity1.05
worstName"Aurora"
maxWindowNameDensity2
worstWindowName"Aurora"
discoveredNames
Aurora21
Eva6
Moreau2
Lucien16
Ptolemy4
French1
Marseille2
House2
Despite1
Earth1
God1
persons
0"Aurora"
1"Eva"
2"Moreau"
3"Lucien"
4"Ptolemy"
5"God"
places
0"Marseille"
1"House"
globalScore0.975
windowScore1
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences132
glossingSentenceCount2
matches
0"as if greeting a favorite uncle"
1"nannounced and visibly battered, then some"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches2
per1kWords0.69
wordCount2900
matches
0"not Earth, not memory, but some impossible overlap of both"
1"not memory, but some impossible overlap of both"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount3
totalSentences277
matches
0"hated that he"
1"had that gift"
2"Hated that her"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs158
mean18.35
std19.2
cv1.046
sampleLengths
013
16
260
313
441
566
62
77
812
96
1022
1114
129
1333
1411
158
1612
1734
1828
1964
208
2112
2285
2317
248
2512
2619
271
281
2940
3013
3130
326
3319
343
357
3621
3725
387
396
4037
4178
423
4319
448
4571
466
476
4831
495
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount2
totalSentences192
matches
0"were offered"
1"was relieved"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount1
totalVerbs352
matches
0"was not lying"
60.34% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount4
semicolonCount4
flaggedSentences8
totalSentences277
ratio0.029
matches
0"No one who knew Eva knocked like that—three measured raps, a pause, then two more, patient as a creditor."
1"Lucien’s trade was information; lies only interested him when they were elegant."
2"They hit him; she saw it in the way his hand tightened on the cane handle, the only tell he had ever failed to fully master around her."
3"It had cut her palm and shown her a landscape of red sky and towers made of bone and fire—a place that was not Earth, not memory, but some impossible overlap of both."
4"“You don’t get to advise me.” She struck a match too hard; sulfur flared sharp in the air."
5"Something flashed across his expression—offense, then pain, then that ruthless composure slamming back into place."
6"Not a clink, not a fidget; a deliberate surrender of something to free his hands."
7"He looked at her in a way he almost never allowed himself to—without buffering irony, without transactional calm."
89.70% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2009
adjectiveStacks0
stackExamples(empty)
adverbCount104
adverbRatio0.051767048282727726
lyAdverbCount33
lyAdverbRatio0.01642608262817322
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences277
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences277
mean10.47
std8.33
cv0.796
sampleLengths
013
16
219
33
45
510
623
713
828
913
1021
1124
1221
132
147
1510
162
176
1812
1910
2014
214
225
234
2420
259
2611
275
283
2912
308
3126
326
3322
348
355
367
3711
3833
398
4012
4139
428
4338
449
458
463
475
488
494
54.99% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats6
diversityRatio0.34296028880866425
totalSentences277
uniqueOpeners95
79.84% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount4
totalSentences167
matches
0"Then his face tipped up,"
1"Then the shock burned off,"
2"Of course she did."
3"Then a heavy footstep sounded"
ratio0.024
61.92% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount66
totalSentences167
matches
0"She slid the third bolt"
1"His mouth was set in"
2"She started to shut the"
3"His cane wedged into the"
4"Her grip tightened on the"
5"She hated that he remembered"
6"She had not seen him"
7"It made her angrier."
8"She unhooked the chain but"
9"He exhaled through his nose,"
10"He tilted his head"
11"She could bluff, but not"
12"His expression shifted by a"
13"They hit him; she saw"
14"It was there in the"
15"he murmured, and crossed the"
16"He moved into Eva’s flat"
17"He could stand beside a"
18"His cane tapped once on"
19"She shut the door, drove"
ratio0.395
91.74% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount123
totalSentences167
matches
0"Eva’s friends pounded."
1"Delivery men jabbed the bell."
2"Silas shouted up from the"
3"She slid the third bolt"
4"The corridor light caught a"
5"Lucien Moreau looked exactly as"
6"His mouth was set in"
7"She started to shut the"
8"His cane wedged into the"
9"The ivory handle concealed a"
10"Her grip tightened on the"
11"Aurora kept her voice low."
12"She hated that he remembered"
13"Lucien looked past her shoulder"
14"Books stacked on the floor."
15"Scrolls shedding ribbon ties across"
16"The air smelled of turmeric"
17"That landed between them with"
18"Aurora felt it all at"
19"She had not seen him"
ratio0.737
100.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount4
totalSentences167
matches
0"By the time Aurora pulled"
1"Whoever stood on the other"
2"If he’d gone glib on"
3"If he had come himself,"
ratio0.024
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences79
technicalSentenceCount4
matches
0"Ptolemy emerged from beneath a chair, took one look at him, and rubbed against his trouser leg as if greeting a favorite uncle."
1"It had cut her palm and shown her a landscape of red sky and towers made of bone and fire—a place that was not Earth, not memory, but some impossible overlap of…"
2"But he stood in Eva’s cramped, overfilled flat with his shoulders held a fraction too rigid, as if restraint cost him something tonight."
3"When she opened them, he was exactly where he had been, impossibly controlled, and yet the room felt changed, as if some sealed window had finally cracked."
91.67% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags30
uselessAdditionCount2
matches
0"she asked, and the question came out quieter than she intended"
1"He stopped, as if the next words had edges"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags24
fancyCount1
fancyTags
0"he murmured (murmur)"
dialogueSentences117
tagDensity0.205
leniency0.41
rawRatio0.042
effectiveRatio0.017
92.5348%