Run: 2026-07-09-01KX3ZZ41KF3T7JBQJW5MCZ83H

Run Details

Duration:
47.6s
Cost:
$0.064403
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 deadbolt came free with a metallic scrape. Aurora froze on the other side of the door, one hand still wrapped around the chain of takeaway cartons she had brought up from Golden Empress. The curry house below breathed through the floorboards—cumin, fried onion, hot oil, the sharp sweet perfume of cardamom. Ptolemy, sprawled on the narrow strip of rug beside the radiator, lifted his tabby head and gave a low, suspicious chirrup. Eva had gone to Cambridge for the night, leaving Aurora with a key, a list of rules about the cat, and enough research notes to wallpaper the building twice over. Aurora had expected no one. The second deadbolt turned. Then the third. She should have looked through the peephole. She should have asked who it was. But the knocks had been quiet, measured—three taps, a pause, two more—and something old and unreasonable had gone tight beneath her ribs. Aurora opened the door. Lucien Moreau stood in the dingy hall as if the peeling wallpaper and flickering communal light had arranged themselves specifically to flatter him. His charcoal suit was dark with rain at the shoulders. Water gleamed in his slicked-back platinum hair, and one pale strand had come loose near his temple. His ivory-handled cane rested lightly in one gloved hand. He had removed neither his coat nor his expression. For one terrible second, she noticed everything she had trained herself not to remember: the clean cedar scent beneath the rain; the neat line of his mouth; his impossible eyes, amber and black, fixed entirely on her. Then memory found its teeth. “No,” Aurora said. Lucien’s gaze flicked over her face, lingering with quiet, infuriating precision. “Bonsoir, Rory.” “Absolutely not.” “I need to come in.” She laughed once, without humor. “Do you?” Behind her, Ptolemy rose, arched his striped back, and stalked toward the door with the air of a landlord inspecting an undesirable tenant. Lucien looked down at him. “Still hostile, I see.” “He has excellent judgment.” “I was rather hoping you might not.” Aurora held the door exactly where it was, her body braced behind it. “You have a great deal of nerve showing up here.” “Yes.” “That is not an apology.” “No.” His mouth tightened, almost imperceptibly. “It is an acknowledgment.” Rain ticked against the stairwell window. Somewhere below, a delivery driver shouted over the clatter of dishes. The ordinary sounds should have made Lucien look absurd—too elegant, too dangerous, too deliberate for a block of flats above a curry house. Instead, he made the narrow hallway feel smaller. Her eyes dropped to his cane. The ivory handle was unmarked, polished bright. She knew what was hidden inside it. She knew how quickly that thin blade could be in his hand. She knew, too, that he did not bring it out for show. “You’re armed,” she said. “I am always armed.” “Comforting.” “Rory.” His voice changed on her name, low enough that it slipped under her defenses before she could stop it. “Please.” The word startled her. Lucien did not say please unless the stakes were real. That did not mean she trusted him. The last time she had seen him, he had stood beneath the black iron arches of a disused station in Whitechapel, blood on his cuff and ash in his hair, telling her to leave while he made a decision that had not been his to make. He had not looked at her when he said it. He had not explained why he had arranged her escape route, why he had given her a false address and a train ticket, why he had let her believe he had chosen his work, his secrets, his damned underworld over her. For six weeks afterward, she had hated herself for waiting for a message. For two months, she had hated him for never sending one. “What happened?” she asked. His amber eye caught the hall light. The black one gave nothing back. “A problem.” “That is the kind of answer you give when you want someone to stop asking questions.” “It is the kind I give when I have very little time to answer them properly.” Aurora folded her arms. “Then you should have planned better.” His gaze moved past her shoulder, into Eva’s cluttered flat. Books were stacked in towers against the walls. Scrolls lay unfurled across the dining table, held down by a chipped mug full of biros and a brass paperweight shaped like a raven. Eva’s notes covered every spare surface in a chaotic sprawl of ink, diagrams, and red string. Lucien exhaled through his nose. “Eva is not here.” “No.” “Good.” Her suspicion sharpened. “Why?” “Because this concerns you.” “It always does when you appear at my door with that face.” “My face?” “The one where you have already decided how much danger I can handle without telling me.” For the first time, something in him cracked. Not visibly, not enough for anyone else to notice. But Aurora had once known the faint shift at the corner of his mouth, the moment his shoulders went still. He looked at her as if she had struck somewhere tender. “You are right,” he said. The simplicity of it took the next barb from her. Ptolemy wound around Aurora’s bare ankle, then sat squarely in the doorway and glared at Lucien. Lucien glanced down again. “May I at least come inside before the cat calls the authorities?” “Ptolemy is considering it.” “Then I should make my case.” Aurora kept her hand on the door. Her left wrist ached where the edge of a carton pressed against the old crescent scar. She could close the door. She should. Lucien’s problems had a habit of arriving dressed in expensive wool and leaving bodies, bargains, and sleepless nights behind them. But he was wet through. There was a thin cut along his jaw, nearly concealed beneath the pale shadow of stubble. And underneath the cedar and rain, she caught the faint iron smell of blood. Not all of it could be his. Not with Lucien. But some of it was. “Five minutes,” she said. His expression did not change, but relief moved through him like a breath. “Thank you.” “Don’t make me regret it.” “I will endeavor not to.” “That’s not reassuring either.” “It is the best I can offer honestly.” Aurora stepped back. Lucien entered without touching her. He never crowded a room; he simply occupied it until everyone else adjusted around him. He shut the door behind himself, then watched while she slid each deadbolt home again. The final one clunked into place. Only then did she turn. He stood in the entrance between a leaning tower of books on demonology and Eva’s umbrella stand, his cane held close to his side. The flat seemed to reject him. The wallpaper curled at the seams. The radiator hissed. A kettle sat on the hob, forgotten and cold. Ptolemy circled Lucien’s shoes, sniffed once, and retreated beneath the armchair with his tail puffed twice its size. “Your hospitality remains memorable,” Lucien observed. “You used to enjoy it.” His eyes lifted to hers. Aurora wished, instantly, that she could pull the words back. The flat held the silence between them. It became too easy to remember other rooms, other nights. Lucien at Silas’ bar after closing, his suit jacket discarded over a chair, one amber eye bright with amusement while she argued about a case he had no intention of losing. Lucien leaning close enough to tell her something in French against the shell of her ear, then refusing to translate when she demanded it. Lucien’s hand, warm and steady, around hers after a nightmare she had been too proud to name. She had thought the worst thing about him was how hard he was to read. It turned out the worst thing was how much she had believed she could. “Sit down,” she said. He looked toward the armchair Ptolemy had claimed as his fortified position. “Not there. The table.” Lucien inclined his head. “As commanded.” He moved into the kitchen nook with a faint, uneven hitch in his step that he did a poor job of hiding. Aurora noticed it because she noticed everything about him against her will. The cane clicked once against the floorboards. He set it beside a chair and lowered himself carefully. That was when she saw the blood. A dark stain had spread along his left side beneath the edge of his coat. Aurora stopped. “You’re hurt.” “It is not serious.” “That phrase should be engraved on your tombstone.” “It would be rather dramatic.” “Lucien.” His gaze met hers. “I have had worse.” “That isn’t an answer.” “No,” he said quietly. “It isn’t.” She set the cartons down on the counter with more force than necessary, then crossed the cramped kitchen to him. Her body knew the route before her mind agreed to it. She reached for his coat. His hand closed around her wrist. Not hard. Never hard. But immediate. Aurora looked down at his fingers against her skin. His glove was damp. The small crescent scar on her wrist showed pale beneath his thumb. Lucien followed her gaze. He let go at once. “I’m sorry,” he said. The apology sat between them, too late for some things and too raw for others. “I’m not going to ask permission twice,” Aurora said, though her voice came out less steady than she wanted. “You needn’t ask at all.” “Don’t start.” A faint, familiar curve touched his mouth. “There she is.” She took his coat from his shoulders. He let her, though his jaw went tight when the fabric dragged over his left side. The coat was heavier than it looked, wet and cold. She hung it over the back of a chair and found the blood had soaked through his white shirt near the ribs. “Kitchen first-aid kit,” she muttered. “Where would Eva put it?” “Somewhere irrationally inaccessible, I imagine.” “Accurate.” She found it after thirty seconds of opening cupboards: a dented green tin behind three jars of tea, a box of candles, and a volume titled The Lesser Courts of Avaros. Of course. When she turned back, Lucien had unbuttoned his shirt with one hand. The sight of bare skin and blood should not have mattered. It did. His chest was lean, pale against the dark red spreading at his side. A wound crossed the lower ribs—not deep enough to expose bone, but ugly, its edges darkened as if something had burned its way in. Aurora’s breath caught. “That isn’t a knife wound.” “No.” “What did it?” “A small creature with large ambitions.” “Lucien.” “A hellhound.” She stared at him. “Not a full-grown one,” he added. “That would have been considerably worse.” “Your ability to make horrifying things sound like minor inconveniences is one of your least charming qualities.” “I have many charming qualities.” “Name three.” “One: I arrived alive.” “That’s one.” “Two: I brought no hellhound into Eva’s sitting room.” “Debatable.” “Three…” His mismatched eyes softened. “I came to you.” Aurora’s hands paused over the antiseptic. The humor left his face first. He looked tired. She had seen Lucien exhausted before, but only in flashes—the set of his mouth after a long night, the slight delay before he answered a question. This was deeper. His immaculate control was still there, but stretched thin enough to show what lay beneath it. She put cotton to the wound. He did not flinch, but the tendons in his hand drew taut against the tabletop. “You didn’t come to me for first aid,” she said. “No.” “Then why?” Lucien looked toward the window above the sink. Rain blurred Brick Lane beyond it, turning the neon from the shops below into red and gold smears on the glass. “Someone is looking for you,” he said. The flat seemed to sharpen around her. Aurora kept working. “Someone?” “A broker from the lower market passed your name to the wrong people.” “My name, or one of them?” “Malphora.” The cotton slipped in her fingers. Lucien caught it before it fell, his hand closing around hers for half a second. His palm was warm despite the rain. Aurora looked at their hands. Then at him. “That name is buried,” she said. “It was.” “Only a handful of people knew it.” “Yes.” “And you were one of them.” His expression went still. There it was. The real wound, deeper than the one in his side. “I know,” he said. “Did you tell them?” “No.” “Can you prove that?” “No.” His honesty hurt worse than denial would have. Aurora pulled her hand free and reached for fresh gauze. “Convenient.” “Nothing about this is convenient.” “You vanish for two months. You don’t answer my calls. You send no explanation, no warning. Then you come here bleeding and tell me a name from a life I would prefer to forget has surfaced in a demon market.” “I came because I learned of it this evening.” “And because you were chased by a hellhound?” “Yes.” “Did they send it after you?” “Yes.” “Because they think you know where I am?” “Yes.” Her hands moved quickly now, wrapping the bandage around his ribs with more care than gentleness. He watched her, but said nothing. “You should have sent someone else,” she said. “I did not trust anyone else.” The words were soft. They entered the room and changed its shape. Aurora tied off the bandage. Her fingers brushed the warm plane of his side. He inhaled sharply—not from pain, she thought. That realization made her pull back. “You trusted me enough to involve me,” she said. “I trusted you enough to warn you.” “After making certain I couldn’t find you.” Lucien’s gaze lowered. “Yes.” “Why?” He was quiet so long that the kettle seemed to start whistling in the silence, though it had not been switched on. Finally, he reached for his cane. Aurora’s shoulders stiffened before she could stop herself. He noticed. Of course he did. He did not draw the blade. He only rested both hands on the ivory handle. “When I sent you away from Whitechapel,” he said, “there was a price on the information you carried. Not because of what you had done. Because of who you had been seen with.” “With you.” “Yes.” “You could have told me.” “I could have.” “But you didn’t.” “No.” “Why?” His black eye reflected nothing. His amber eye reflected her. “Because if I had told you the full truth,” he said, “you would have stayed.” Aurora’s anger rose hot and swift. “You don’t get to decide that for me.” “I know.” “Do you?” She stepped back from the table, pressing her palms against the counter to keep them still. “Because it felt an awful lot like you decided I was some liability you needed to move out of the way.” “That was not what I thought.” “Then what did you think?” Lucien’s jaw flexed. “I thought,” he said, each word deliberate, “that I had become the sort of man who could look at someone he cared for and calculate the chances of her surviving a night beside him.” Aurora stared at him. The rain beat harder against the window. “I thought,” he continued, “that if I asked you to stay, you would. And I knew I wanted you to. More than was sensible. More than was safe. So I made the choice you would not forgive.” “You don’t get points for admitting it was cowardly.” “I know.” “But you could have trusted me.” “I did trust you.” “No. You trusted me to survive whatever you forced on me. That isn’t the same thing.” He closed his eyes briefly. When he opened them, all the polished ease had gone from his face. “No,” he said. “It is not.” Ptolemy emerged from beneath the armchair, apparently deciding the conversation had become sufficiently miserable to investigate. He leapt onto the table with the graceless thump of a cat who considered gravity an insult. Lucien shifted his cane away before the tabby could knock it over. Ptolemy walked directly across Lucien’s open shirt, planted one paw on his thigh, and sniffed the bandage. Aurora almost laughed. The sound caught in her throat. Lucien looked down at the cat. “I assume this is an inspection.” Ptolemy answered by settling heavily against his hip. “A ringing endorsement,” Aurora said despite herself. “I am honored.” Their eyes met. The old pull was there. It had never gone anywhere. It had only become tangled up in anger, in sleepless nights, in the hard pride she had used to survive people who thought they knew what was best for her. Evan’s voice lived in some dark, unwelcome corner of her memory: the explanations that were not explanations, the apologies that always asked her to accept less than she deserved. Lucien was not Evan. She knew that with every practical, sensible part of herself. But hurt did not care about sensible distinctions. A sharp knock sounded at the door. All three deadbolts held. Aurora’s body went rigid. Lucien rose so quickly the chair legs scraped. The color drained from his face, but the cane was in his hand in an instant. With a soft mechanical whisper, he drew the thin blade from its hidden sheath. Ptolemy bolted beneath the table. Another knock. Three taps. A pause. Two more. Lucien’s eyes went to Aurora. “That is not one of mine,” he said. “You have people?” “Not tonight.” The third knock came harder. Aurora moved before fear could root her in place. She snatched Eva’s heavy brass raven from the table and crossed to the door. Lucien caught her elbow. “Behind me.” “No.” “Rory.” “This is my flat too, tonight.” “It is not your flat.” “You know what I mean.” The corner of his mouth twitched, maddeningly, even now. “Unfortunately, I do.” He did not release her elbow. His grip was firm, his attention fixed on the door. Aurora could feel the tension in him like a current. She reached toward the peephole. Lucien’s hand tightened. “I’ll look,” she whispered. He considered. Then nodded once. Aurora leaned close. The hall outside was empty. No shadow. No neighbor. No delivery man with the wrong address. Just the flickering light and stained carpet. Her stomach dropped. “Nothing,” she said. Lucien’s expression changed. “Step away from the door.” Aurora did. The first deadbolt slid back by itself. Metal scraped metal. The second began to turn. Lucien moved in front of her, blade raised. Aurora’s heart hammered, but she did not retreat. Her fingers closed around the brass raven until its wings bit into her palm. The third bolt shuddered. Then, from the other side of the door, a voice spoke. It was Lucien’s voice. “Rory,” it said softly. “Open the door.” Lucien went very still. Aurora felt rather than saw the rage move through him. The voice came again, sweeter now, carrying the exact cadence of the man standing before her. “Please.” Lucien’s hand found hers behind his back. Not to move her. Not to command her. Just to hold on. His fingers threaded through hers, warm and shaking once before they steadied. “Do not listen,” he said. Aurora tightened her grip around his hand. “I wasn’t planning to.” Outside, something laughed.
created_at"2026-07-09T17:49:18.972Z" 7/9/2026, 5:49:18 PM
model"openai/gpt-5.6-terra-20260709"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency433
moderation_latency(null)
generation_time47186
tokens_prompt808
tokens_completion5340
native_tokens_prompt753
native_tokens_completion4168
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)
num_fetches(null)
web_search_engine(null)
origin"https://ncbench.com/"
is_byokfalse
finish_reason"stop"
native_finish_reason"completed"
service_tier"default"
usage0.0644025
router(null)
provider_responses
0
endpoint_id"3cc89000-ae34-4dde-9c7d-5ce009c8af0b"
id"resp_0345d06623f520b5016a4fdf1f0ecc8197990369dcec6c2fc6"
is_byokfalse
latency211
model_permaslug"openai/gpt-5.6-terra-20260709"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.18.0; linux; x64))"
http_referer(null)
request_id"req-1783619358-XP3aCwDroEy9IM91AVZB"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1783619358-Ml1cromB7aRIFECRImRF"
upstream_id"resp_0345d06623f520b5016a4fdf1f0ecc8197990369dcec6c2fc6"
total_cost0.0644025
cache_discount(null)
upstream_inference_cost0
provider_name"OpenAI"
response_cache_source_id(null)
data_region"global"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags33
adverbTagCount4
adverbTags
0"His mouth tightened almost [almost]"
1"he said quietly [quietly]"
2"She stepped back [back]"
3"it said softly [softly]"
dialogueSentences161
tagDensity0.205
leniency0.41
rawRatio0.121
effectiveRatio0.05
86.04% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount3224
totalAiIsmAdverbs9
found
0
adverb"lightly"
count1
1
adverb"quickly"
count3
2
adverb"very"
count2
3
adverb"carefully"
count1
4
adverb"sharply"
count1
5
adverb"softly"
count1
highlights
0"lightly"
1"quickly"
2"very"
3"carefully"
4"sharply"
5"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)
78.29% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount3224
totalAiIsms14
found
0
word"measured"
count1
1
word"flicked"
count1
2
word"absolutely"
count1
3
word"comforting"
count1
4
word"chaotic"
count1
5
word"silence"
count2
6
word"familiar"
count1
7
word"calculate"
count1
8
word"mechanical"
count1
9
word"whisper"
count1
10
word"could feel"
count1
11
word"tension"
count1
12
word"stomach"
count1
highlights
0"measured"
1"flicked"
2"absolutely"
3"comforting"
4"chaotic"
5"silence"
6"familiar"
7"calculate"
8"mechanical"
9"whisper"
10"could feel"
11"tension"
12"stomach"
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
narrationSentences274
matches
0"p in anger"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount2
hedgeCount4
narrationSentences274
filterMatches
0"look"
1"feel"
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)
analyzedSentences402
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen46
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords3217
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions44
unquotedAttributions0
matches(empty)
50.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions102
wordCount2384
uniqueNames17
maxNameDensity1.55
worstName"Lucien"
maxWindowNameDensity3.5
worstWindowName"Aurora"
discoveredNames
Golden1
Empress1
Cambridge1
Aurora36
Moreau1
Lucien37
Ptolemy9
Rain2
Whitechapel1
Eva5
French1
Lesser1
Courts1
Avaros1
Brick1
Lane1
Evan2
persons
0"Aurora"
1"Moreau"
2"Lucien"
3"Ptolemy"
4"Rain"
5"Eva"
6"Evan"
places
0"Golden"
1"Cambridge"
2"Whitechapel"
3"French"
4"Brick"
5"Lane"
globalScore0.724
windowScore0.5
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences155
glossingSentenceCount2
matches
0"Not visibly, not enough for any"
1"the armchair, apparently deciding the conver"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches3
per1kWords0.933
wordCount3217
matches
0"neither his coat nor"
1"not deep enough to expose bone, but ugly, its edges darkened as if something had burned its way"
2"not flinch, but the tendons in his hand drew taut against the tabletop"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences402
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs266
mean12.09
std15.06
cv1.245
sampleLengths
09
165
235
34
43
536
64
723
845
937
105
113
1213
132
145
157
1623
179
184
197
2023
211
225
2310
2448
2544
264
274
281
2921
3014
317
3297
3313
3411
354
3613
372
3816
3916
4010
4158
429
431
441
454
464
4712
482
4916
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount3
totalSentences274
matches
0"was hidden"
1"were stacked"
2"been switched"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs416
matches(empty)
86.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount7
semicolonCount3
flaggedSentences8
totalSentences402
ratio0.02
matches
0"The curry house below breathed through the floorboards—cumin, fried onion, hot oil, the sharp sweet perfume of cardamom."
1"But the knocks had been quiet, measured—three taps, a pause, two more—and something old and unreasonable had gone tight beneath her ribs."
2"For one terrible second, she noticed everything she had trained herself not to remember: the clean cedar scent beneath the rain; the neat line of his mouth; his impossible eyes, amber and black, fixed entirely on her."
3"The ordinary sounds should have made Lucien look absurd—too elegant, too dangerous, too deliberate for a block of flats above a curry house."
4"He never crowded a room; he simply occupied it until everyone else adjusted around him."
5"A wound crossed the lower ribs—not deep enough to expose bone, but ugly, its edges darkened as if something had burned its way in."
6"She had seen Lucien exhausted before, but only in flashes—the set of his mouth after a long night, the slight delay before he answered a question."
7"He inhaled sharply—not from pain, she thought."
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1413
adjectiveStacks0
stackExamples(empty)
adverbCount53
adverbRatio0.03750884642604388
lyAdverbCount14
lyAdverbRatio0.009907997169143666
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences402
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences402
mean8
std7.22
cv0.902
sampleLengths
09
126
218
321
430
55
64
73
87
97
1022
114
1223
1310
1417
159
169
1737
185
193
2011
212
222
235
245
252
2623
275
284
294
307
3113
3210
331
345
356
364
376
3811
3923
408
416
427
437
4412
4512
464
474
481
4920
45.52% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats18
diversityRatio0.20149253731343283
totalSentences402
uniqueOpeners81
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount12
totalSentences233
matches
0"Then the third."
1"Then memory found its teeth."
2"Somewhere below, a delivery driver"
3"Instead, he made the narrow"
4"Only then did she turn."
5"Then at him."
6"Finally, he reached for his"
7"Of course he did."
8"Then nodded once."
9"Just the flickering light and"
10"Then, from the other side"
11"Just to hold on."
ratio0.052
80.94% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount81
totalSentences233
matches
0"She should have looked through"
1"She should have asked who"
2"His charcoal suit was dark"
3"His ivory-handled cane rested lightly"
4"He had removed neither his"
5"She laughed once, without humor."
6"His mouth tightened, almost imperceptibly"
7"Her eyes dropped to his"
8"She knew what was hidden"
9"She knew how quickly that"
10"She knew, too, that he"
11"His voice changed on her"
12"He had not looked at"
13"He had not explained why"
14"His amber eye caught the"
15"His gaze moved past her"
16"Her suspicion sharpened."
17"He looked at her as"
18"Her left wrist ached where"
19"She could close the door."
ratio0.348
37.25% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount197
totalSentences233
matches
0"The first deadbolt came free"
1"Aurora froze on the other"
2"The curry house below breathed"
3"Ptolemy, sprawled on the narrow"
4"Eva had gone to Cambridge"
5"Aurora had expected no one."
6"The second deadbolt turned."
7"She should have looked through"
8"She should have asked who"
9"Aurora opened the door."
10"Lucien Moreau stood in the"
11"His charcoal suit was dark"
12"Water gleamed in his slicked-back"
13"His ivory-handled cane rested lightly"
14"He had removed neither his"
15"Lucien’s gaze flicked over her"
16"She laughed once, without humor."
17"Lucien looked down at him."
18"Aurora held the door exactly"
19"His mouth tightened, almost imperceptibly"
ratio0.845
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences233
matches(empty)
ratio0
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences89
technicalSentenceCount5
matches
0"Lucien Moreau stood in the dingy hall as if the peeling wallpaper and flickering communal light had arranged themselves specifically to flatter him."
1"The last time she had seen him, he had stood beneath the black iron arches of a disused station in Whitechapel, blood on his cuff and ash in his hair, telling h…"
2"A wound crossed the lower ribs—not deep enough to expose bone, but ugly, its edges darkened as if something had burned its way in."
3"It had only become tangled up in anger, in sleepless nights, in the hard pride she had used to survive people who thought they knew what was best for her."
4"Evan’s voice lived in some dark, unwelcome corner of her memory: the explanations that were not explanations, the apologies that always asked her to accept less…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags33
uselessAdditionCount1
matches
0"Aurora said, though her voice came out less steady than she wanted"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags29
fancyCount5
fancyTags
0"Lucien observed (observe)"
1"she muttered (mutter)"
2"he added (add)"
3"he continued (continue)"
4"she whispered (whisper)"
dialogueSentences161
tagDensity0.18
leniency0.36
rawRatio0.172
effectiveRatio0.062
88.8016%