Run: 2026-03-18-01KM09TE8E0T4JCW9AB9E1Q5R8

Run Details

Duration:
23.8s
Cost:
$0.005941
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 door gave before Aurora expected it to. Not with a polite click, not with the soft complaint of a latch—more like a reluctant surrender, as if the wood itself had decided it was tired of holding secrets. Aurora’s hand was already on the chain lock, fingers tight enough to ache, when the new sound came: the scrape of something elegant and deliberate over the threshold. Then the chain slackened. Cold air slipped in from the stairwell of Brick Lane, smelling faintly of curry steam and rain. Aurora stood in the narrow space of Eva’s flat—books stacked to the ceiling, scrolls drooped like exhausted banners over a chair, research notes half-buried under a mug ring that had dried months ago. Her shoulder-length black hair hung straight against her neck. Bright blue eyes tracked the opening door without blinking. Ptolemy, the tabby, appeared at once from under a side table as if summoned by the disturbance. He arched his back, tail twitching, and watched like a critic with opinions about manners. Aurora kept her body between the door and the rest of the room. She didn’t move closer; she only angled her wrist, the crescent scar on her left wrist flashing in the dim light as her pulse kicked. “Lucien,” she said, and the name landed like a dropped coin—small, sharp, and impossible to ignore. The man in the doorway looked exactly like trouble dressed for a meeting. Charcoal suit tailored close to his shoulders. Slicked-back platinum blond hair catching the hallway’s faint glow. One eye amber, the other black—heterochromatic, like the world couldn’t decide which side it belonged to. Lucien Moreau stepped in with the calm of someone who had been invited, even if he’d only ever been tolerated. His ivory-handled cane came with him, not lifted in greeting but planted lightly, blade-hidden beneath good manners. The door clicked shut behind him, a final punctuation that felt too final. Aurora’s stomach tightened anyway, as if her body refused to accept the scene as real. “I didn’t—” She swallowed, tried again. “I didn’t call you.” Lucien’s mouth quirked, not quite a smile. “People rarely call me. They open doors and pretend they didn’t mean it.” Her throat worked again. The last time she’d seen him, they hadn’t been in any sort of doorway at all—just a narrow street under a sky the colour of old bruises, his voice low and controlled, her anger bright and reckless. She remembered the way he’d turned his back like he was cutting a thread that could only unravel. The way she’d let him, because she’d been furious enough to confuse distance with safety. Now he was here, in Eva’s flat—the flat she’d fled to when London had started to feel like a courtroom she couldn’t win—and he was standing on her threshold like it belonged to him. Aurora kept her gaze fixed on his face, refused to let herself glance at the cane, refused to picture the hidden blade. “Someone’s been fiddling with my locks,” she said. Lucien lifted his cane a fraction, almost apologetic. “Your locks were never truly yours, Aurora. You think the world respects deadbolts? It respects leverage.” Ptolemy made a soft sound from the side, a warning trill that could have meant any number of things—danger, curiosity, or displeasure at Lucien’s shoes tracking in the wrong kind of rain. Aurora took one step back, slow, controlled. Her eyes slid to the front door behind him, where the security three deadbolts now sat in a line like broken teeth. She didn’t remember unlocking them. She didn’t remember hearing keys. She didn’t remember hearing anything except the surrender of wood and the scrape at the threshold. Her mind ran through possibilities: wards, borrowed tools, someone else in the building. But Lucien moved like an answer to questions she hadn’t wanted to ask. “You came in through Eva’s place,” she said, voice carefully even. “On Brick Lane. Unannounced.” “I’m learning patience,” Lucien replied, and his tone made the phrase sound like mockery. “Or perhaps I simply lost it elsewhere.” Aurora’s chest tightened. “Where?” Lucien’s amber eye flicked to her scarred wrist. Not lingering, but noticing. He had always been good at noticing the things people tried to hide. “Not here,” he said. “Not now.” The hurt in her rose up fast and ugly, like something dredged from deep water. She hated that he could walk into her life with that careful calm and still make her react. She hated that she remembered the warmth of him—remembered how his voice could soften into something almost gentle when he meant to convince her to follow him into danger. She hated the way her body remembered before her mind could decide whether it deserved to. “What do you want?” she demanded. Lucien’s gaze steadied on hers. “You.” The word was blunt enough to taste. Aurora’s first instinct was to deny it, to turn it into something safer, something smaller. To make it about business. About information. About the kind of transaction that kept emotions from bruising. But Lucien never spoke in safe phrases when he didn’t have to. Aurora’s lips parted. No words came. Lucien stepped further into the flat, shoes leaving faint wet prints on the scuffed floorboards. He moved as if he belonged among her clutter, as if the books and scrolls were simply the background to whatever had brought him. Then he stopped, just at the edge of her space—the distance that made it impossible to touch without choosing to. His cane angled slightly, not menacing, simply ready. “I was told you’d moved on,” he said. Aurora let out a short, humorless breath. “You were told that?” “I’m an information broker,” Lucien replied. “People always think they’re whispering. They’re rarely quiet.” Aurora’s fingers tightened around the chain on reflex, even though the chain no longer held anything. She forced herself to loosen. Forced herself to stand still. “What happened between us,” she said carefully, “didn’t end because you ran out of information. It ended because you cut the line.” Lucien’s jaw tightened. The calm wavered for a heartbeat—small, human. Then it returned, perfectly dressed again. “I did what I had to do,” he said. “So did I,” Aurora snapped, and the anger in her voice startled her. She’d been good for months at holding her rage like a knife in a drawer. She didn’t like how easily it came out now. Lucien’s amber eye warmed, and something in him softened—something that hurt. “I know,” he murmured. “That’s part of why it cost so much.” Aurora looked away for a second, because the problem with soft things was they found the bruises. She stared at the nearest pile of papers instead, as if she might find an answer written in the scribbles. Her research notes—names, dates, symbols—everything she’d gathered to keep her mind busy. Everything she’d done to keep from thinking about the last conversation that ended in silence. “What do you think you’re doing here?” she asked, quieter. Lucien’s voice dropped too, a shift that made the flat feel smaller. “I came to make something right.” Aurora gave a derisive laugh. “You? Make something right?” Ptolemy hopped up onto the edge of a chair with a thump, tail swishing. He watched Aurora as if expecting her to be the one to bite. Lucien didn’t look at the cat. He didn’t look anywhere else. His attention stayed on her the way pressure stays on a wound. “You left,” he said. “On complicated terms. You didn’t leave it alone; you buried it under other things and called that healing.” Aurora’s throat tightened. “I didn’t bury it. I survived it.” Lucien stepped forward again, only a fraction. His cane moved with him, steady. The blade underneath remained hidden, but Aurora could feel the promise of it—how easily he could become not a man at her door, but a solution. “You survived,” he agreed. “But you didn’t forgive.” Aurora swallowed. “I didn’t forget either.” Lucien’s lips parted as if to speak, and for a moment he looked—truly looked—like he wanted to choose the right words and feared he couldn’t. The heterochromia made his expression feel like a split-second decision between truth and refusal. Then, carefully, he said, “I never wanted you in the harm. I never—” “You never told me,” Aurora cut in. The hurt surged, sharp as salt. “You never told me what you were hiding. You made decisions for me and then acted surprised when I hated you.” Lucien’s shoulders sank a fraction. Not surrender. A controlled exhale, like he’d been holding his breath for a long time. “I tried to protect you,” he said. Aurora’s eyes burned. She blinked hard. “From what? From your own secrets?” Lucien’s gaze dropped briefly to her hands, to the scar on her wrist. His voice went quieter. “From what I am.” There it was. The thing between them that had always hovered: his half-demon nature, the realm he came from—Avaros—like a shadow cast by an origin no one chose. The danger that clung to him, whether he carried it deliberately or not. Aurora hated that this was the reason she’d pushed him away. Hated that she’d been right and wrong in the same breath. “What does that mean now?” she asked, and her voice shook despite her best efforts. “That you’re here to protect me again? Or to finish what you started?” Lucien’s jaw flexed. His amber eye glinted. “I’m here because I can’t keep lying to you.” Aurora stared at him. “Lying?” He took a breath, and the air between them thickened. “I told you it was over because it had to be. I told you I had to disappear. That was true enough. But I also told myself you’d be safer without knowing the truth.” Aurora felt the memory of his last words like a dull bruise under her skin. The careful tone. The apology disguised as necessity. The way he’d looked at her like he was already mourning her anger. “So you ran,” she said. It wasn’t a question this time. Lucien’s expression hardened, not into anger but into resolve. “Yes.” Aurora flinched at how simple it was. At how much she’d wanted him to say he hadn’t. At how much she’d needed him to. “You ran,” she repeated, and the words came out steadier than she expected. “And I followed you. I followed your disappearance with my own. I got out of London. I got away from Evan—” Her mouth tightened at the name, the old fear rising like smoke— “and I built a life out of the parts I could manage.” Lucien’s eyes softened again. “I know.” Aurora let out a shaky breath. “You always know.” “That’s my curse,” Lucien said. “And my gift.” Ptolemy stepped closer, rubbing his head against Aurora’s ankle with a pointed need, as if to interrupt the spiral. Aurora looked down instinctively, then forced herself back up. She met Lucien’s gaze again. “You have no right to show up like this.” Lucien’s mouth twitched. “And you have no right to keep expecting me to stay gone.” Aurora’s heart thudded once, loud in her chest. The accusation in his tone landed in a place she didn’t want to admit was tender. Her voice came out small despite the anger she tried to coat it in. “I don’t expect anything.” Lucien stepped closer still, until the edge of her sleeve brushed his suit. Not enough to be a touch. Just enough to make her skin remember warmth and consequences. “You do,” he said. “You just refuse to call it what it is.” Aurora’s breath caught. “Which is what?” Lucien’s amber eye held hers. The black one seemed to watch the rest of the world like it could be folded away. His voice lowered again, smoother now, threaded with something that made her anger soften into something more dangerous. “Want,” he said. The word hit her like a hand on the back of her neck, turning her attention into surrender. Aurora hated how quickly her body betrayed her. Hated that she remembered the curve of his smile, the way he’d stood too close before—how she’d leaned in even when she’d told herself not to. She forced herself to look past his eyes, to the cane. To the hidden blade. To the reminders of danger, because danger was easier than wanting. “You shouldn’t,” she said. “Not after—” “After I left?” Lucien finished, and there was a rawness in it now, a crack in the polished surface. “After you were hurt and I chose absence because I thought I deserved to be punished and you deserved to be safe?” Aurora swallowed. “You’re good at sounding like a martyr.” Lucien’s smile was brief, bitter. “I’m not a martyr.” He paused, then added, softer, “I’m just late.” Aurora’s eyes stung. “Late for what?” Lucien moved his cane slightly aside, like making space for truth. “For the part where I admit I wanted you.” Aurora’s lips parted. She had been angry for so long she’d forgotten how to defend herself from honesty. “And?” she managed. “And,” Lucien continued, “for the part where I admit I didn’t want to lose you—so I broke things instead, because breaking them looked like control.” Ptolemy huffed, offended by the silence that followed. Aurora felt the anger in her begin to slide into something heavier. Something she didn’t want to name because naming it would make it real. She stepped back a half-step, careful, as if she could avoid impact. “Why now?” Lucien’s gaze held steady. His voice came out almost tender, almost careful. “Because someone is looking for you.” Aurora froze. The research piles on the floor suddenly felt flimsy. Like paper curtains against a storm. “Who?” she asked. Lucien’s expression turned businesslike, but the warmth stayed. “Not Evan. Not your past. Something that followed you from the places you tried to forget.” Aurora’s pulse throbbed at her wrist. The scar itched, old pain flaring like a warning bell. “I didn’t tell anyone I was here,” she said. “I didn’t come for your location,” Lucien replied. “I came for you.” That shouldn’t have made her feel anything but caution. Instead, it made something inside her unclench. A fraction. The fraction that reminded her she wasn’t alone in this city, even if she’d spent months pretending she could be. Aurora looked at him, really looked. The platinum hair that somehow remained immaculate. The heterochromatic eyes that never fully softened into one consistent truth. The ivory cane that hid steel with the same calmness other men hid keys. “You came through three deadbolts,” she said, voice low. “So you could have brought me a warning without—” “Without touching the past?” Lucien asked. Aurora didn’t answer. Lucien’s gaze dropped to her scarred wrist again. His voice went quieter, the romance threading deeper. “Do you know how many times I rehearsed knocking on your door and saying I’m sorry? How many times I imagined you wouldn’t open it?” Aurora’s throat tightened. “And did you imagine I would?” “Yes,” he admitted. “I imagined it, and it terrified me.” The confession landed between them, warm and fragile. Aurora’s chest rose and fell. She could feel the shape of her own longing like a bruise—tender where it shouldn’t be. She could also feel the ache of betrayal still there, stubborn and righteous. She looked at him and tried to find a weapon that wasn’t her voice. “Lucien,” she said, and her name sounded like a compromise. His amber eye searched her face. “Rory.” Hearing the alias—Rory, the name only Eva and people close to her used—made her blink, because it felt intimate in a way his polished charm never had. Like he’d stepped inside her private rooms and rearranged the furniture. Aurora steadied herself. “Don’t call me that unless you mean it.” Lucien’s expression softened, and for the first time since the door opened, he looked unguarded. “I mean it.” Aurora’s heart thudded. She could have retreated. She could have demanded he leave, demanded an explanation, demanded answers with the edge of a blade. Instead, she asked the question that had been lodged in her for months, unanswered. “When you ran,” she said, voice barely above breath, “did you ever think about what it would do to me?” Lucien’s answer came slow, as if the truth had weight. “Yes.” “And?” Aurora pressed. “And I hated myself,” he said. “Because you deserved better than my cowardice.” Aurora shut her eyes for a brief second. In the dark behind her lids, she saw the night he’d vanished, her own anger spilling after him, her determination turning into self-punishment. She saw Eva’s face as she’d urged Aurora to get out—get away, get safe, live. When Aurora opened her eyes again, Lucien was still there, still watching, still offering the dangerous possibility of repair. Aurora swallowed. “If you came here to warn me,” she said, trying to pull the conversation back toward something structured, “then warn me.” Lucien nodded once. “Tonight, someone will try to find you. They’re not looking for your research. They’re looking for a person.” Aurora’s throat tightened. “A person like me.” “A person like you,” Lucien confirmed. Ptolemy chose that moment to leap down and circle their legs, forcing the tension to jostle into motion. Aurora’s foot brushed Lucien’s and heat ran through her like a spark catching on paper. Lucien’s hand lifted slightly, not yet touching her, hovering as if he was asking permission without words. His fingers were steady. His voice was lower than before, gentler around the edges. “Let me make it right,” he said. “Not by disappearing again. By staying. By doing the hard part.” Aurora stared at his offered hand. The scar on her wrist burned, old instinct urging caution. Her mind sprinted through threats, through exits, through the ethics of letting a half-demon information broker into her life again. Her heart, traitorous and stubborn, leaned toward his presence anyway. She looked up at him. “And if I say no?” Lucien’s smile was small, real, without mockery this time. “Then I’ll leave. I’ll warn you from the distance you prefer. But Aurora—Rory—I can’t promise I won’t want to come back.” Aurora’s laugh escaped her, soft and helpless. She didn’t like him for that. She liked him because it was honest. “Try it,” she said, and the words held both challenge and permission. “Warn me. Stay if you can. But don’t—don’t lie to me again.” Lucien’s hand finally touched her wrist, just above the scar. The contact was careful, warm enough to make her breath hitch. His fingers curled lightly, as if learning the exact boundary between hurt and hope. “I won’t,” he said. “Not again.” Aurora held his gaze, letting herself feel the pull without letting it swallow her. The flat around them hummed with books and paper and the quiet breathing of a city that never stopped looking. Outside, somewhere beyond the locked door and the deadbolts that meant less than they pretended, the night waited—danger and consequence and the complicated, unfinished history between two people who were standing too close to pretend they weren’t drawn together. Aurora squeezed Lucien’s wrist once, firm, grounding. Then she stepped aside, clearing the small space between them. “Come in properly,” she said, and her voice steadied into something that could hold both fear and desire. Lucien’s amber eye brightened, the black one following like a shadow that chose to stay. He leaned his cane against the floor, shifting his weight as if accepting not just the room, but the risk of being seen. Ptolemy, affronted but satisfied that the drama hadn’t ended, wound himself between their feet and vanished toward the stacks of books. Aurora watched Lucien move deeper into her cluttered living room, watched him like a promise she wasn’t sure she deserved. “Tell me who’s coming,” she said. Lucien’s gaze found hers again, and the romance wasn’t soft anymore—it was urgent, edged with intent. “Gladly,” he replied. “But first…” He hesitated, then lifted his hand from her wrist and offered it like a vow he intended to keep. “First,” he said, “you’re going to tell me everything I missed when I ran.”
created_at"2026-03-18T11:03:17.02Z" 3/18/2026, 11:03:17 AM
model"openai/gpt-5.4-nano-20260317"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency2071
moderation_latency(null)
generation_time23766
tokens_prompt808
tokens_completion5499
native_tokens_prompt753
native_tokens_completion4632
native_tokens_completion_images0
native_tokens_reasoning146
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.0059406
router(null)
provider_responses
0
endpoint_id"0c835f2e-c18d-4e8c-b245-e1e3bd08b97f"
id"resp_0ed700e85659ef380169ba867518148193a691db6b549db822"
is_byokfalse
latency236
model_permaslug"openai/gpt-5.4-nano-20260317"
provider_name"OpenAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer(null)
api_type"completions"
id"gen-1773831797-hHLXM5kgwiSB0MQa0NpW"
upstream_id"resp_0ed700e85659ef380169ba867518148193a691db6b549db822"
total_cost0.0059406
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
totalTags49
adverbTagCount2
adverbTags
0"she said carefully [carefully]"
1"He paused then [then]"
dialogueSentences110
tagDensity0.445
leniency0.891
rawRatio0.041
effectiveRatio0.036
77.85% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount3386
totalAiIsmAdverbs15
found
0
adverb"lightly"
count2
1
adverb"truly"
count2
2
adverb"carefully"
count3
3
adverb"slightly"
count3
4
adverb"perfectly"
count1
5
adverb"deliberately"
count1
6
adverb"quickly"
count1
7
adverb"suddenly"
count1
8
adverb"really"
count1
highlights
0"lightly"
1"truly"
2"carefully"
3"slightly"
4"perfectly"
5"deliberately"
6"quickly"
7"suddenly"
8"really"
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)
70.47% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount3386
totalAiIsms20
found
0
word"pulse"
count2
1
word"stomach"
count1
2
word"unravel"
count1
3
word"flicked"
count1
4
word"warmth"
count3
5
word"wavered"
count1
6
word"silence"
count2
7
word"could feel"
count2
8
word"resolve"
count1
9
word"throbbed"
count1
10
word"charm"
count1
11
word"weight"
count2
12
word"tension"
count1
13
word"desire"
count1
highlights
0"pulse"
1"stomach"
2"unravel"
3"flicked"
4"warmth"
5"wavered"
6"silence"
7"could feel"
8"resolve"
9"throbbed"
10"charm"
11"weight"
12"tension"
13"desire"
100.00% Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches0
maxInWindow0
found(empty)
highlights(empty)
100.00% Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells0
narrationSentences263
matches(empty)
88.54% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount3
hedgeCount7
narrationSentences263
filterMatches
0"feel"
hedgeMatches
0"started to"
1"tried to"
2"seemed to"
3"begin to"
4"tended to"
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences323
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
maxSentenceWordsSeen45
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords3359
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions68
unquotedAttributions1
matches
0"Instead, she asked the question that had been lodged in her for months, unanswered."
16.67% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions121
wordCount2635
uniqueNames10
maxNameDensity2.09
worstName"Aurora"
maxWindowNameDensity4.5
worstWindowName"Aurora"
discoveredNames
Aurora55
Brick1
Lane1
Eva4
Moreau1
Lucien49
London1
Avaros1
Ptolemy7
Rory1
persons
0"Aurora"
1"Eva"
2"Moreau"
3"Lucien"
4"Ptolemy"
5"Rory"
places
0"Brick"
1"Lane"
2"London"
globalScore0.456
windowScore0.167
77.33% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences172
glossingSentenceCount5
matches
0"not quite a smile"
1"as if expecting her to be the one to bite"
2"sounded like a compromise"
3"as if learning the exact boundary between hurt and hope"
4"as if accepting not just the room, but the risk of being seen"
51.15% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches5
per1kWords1.489
wordCount3359
matches
0"not lifted in greeting but planted lightly, blade-hidden beneath good manners"
1"Not lingering, but noticing"
2"not a man at her door, but a solution"
3"not into anger but into resolve"
4"not just the room, but the risk of being seen"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount6
totalSentences323
matches
0"hated that he"
1"hated that she"
2"hated that this"
3"Hated that she’d"
4"Hated that she"
5"chose that moment"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs158
mean21.26
std14.7
cv0.691
sampleLengths
08
158
24
368
432
538
616
745
850
915
1010
1120
1274
1334
1422
158
1624
1732
1855
1926
2015
2121
224
2325
246
2562
2616
276
286
2939
3012
316
3239
3328
348
3511
3614
3726
3822
3916
409
4137
4211
4312
4464
4510
4618
479
4827
4923
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount3
totalSentences263
matches
0"been invited"
1"been tolerated"
2"been lodged"
3"being seen"
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount5
totalVerbs535
matches
0"was cutting"
1"was standing"
2"was already mourning"
3"was asking"
4"were standing"
0.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount26
semicolonCount2
flaggedSentences23
totalSentences323
ratio0.071
matches
0"Not with a polite click, not with the soft complaint of a latch—more like a reluctant surrender, as if the wood itself had decided it was tired of holding secrets."
1"Aurora stood in the narrow space of Eva’s flat—books stacked to the ceiling, scrolls drooped like exhausted banners over a chair, research notes half-buried under a mug ring that had dried months ago."
2"She didn’t move closer; she only angled her wrist, the crescent scar on her left wrist flashing in the dim light as her pulse kicked."
3"“Lucien,” she said, and the name landed like a dropped coin—small, sharp, and impossible to ignore."
4"One eye amber, the other black—heterochromatic, like the world couldn’t decide which side it belonged to."
5"The last time she’d seen him, they hadn’t been in any sort of doorway at all—just a narrow street under a sky the colour of old bruises, his voice low and controlled, her anger bright and reckless."
6"Now he was here, in Eva’s flat—the flat she’d fled to when London had started to feel like a courtroom she couldn’t win—and he was standing on her threshold like it belonged to him."
7"Ptolemy made a soft sound from the side, a warning trill that could have meant any number of things—danger, curiosity, or displeasure at Lucien’s shoes tracking in the wrong kind of rain."
8"She hated that she remembered the warmth of him—remembered how his voice could soften into something almost gentle when he meant to convince her to follow him into danger."
9"Then he stopped, just at the edge of her space—the distance that made it impossible to touch without choosing to."
10"The calm wavered for a heartbeat—small, human."
11"Lucien’s amber eye warmed, and something in him softened—something that hurt."
12"Her research notes—names, dates, symbols—everything she’d gathered to keep her mind busy."
13"“On complicated terms. You didn’t leave it alone; you buried it under other things and called that healing.”"
14"The blade underneath remained hidden, but Aurora could feel the promise of it—how easily he could become not a man at her door, but a solution."
15"Lucien’s lips parted as if to speak, and for a moment he looked—truly looked—like he wanted to choose the right words and feared he couldn’t."
16"The thing between them that had always hovered: his half-demon nature, the realm he came from—Avaros—like a shadow cast by an origin no one chose."
17"Hated that she remembered the curve of his smile, the way he’d stood too close before—how she’d leaned in even when she’d told herself not to."
18"She could feel the shape of her own longing like a bruise—tender where it shouldn’t be."
19"Hearing the alias—Rory, the name only Eva and people close to her used—made her blink, because it felt intimate in a way his polished charm never had."
20"She saw Eva’s face as she’d urged Aurora to get out—get away, get safe, live."
21"Outside, somewhere beyond the locked door and the deadbolts that meant less than they pretended, the night waited—danger and consequence and the complicated, unfinished history between two people who were standing too close to pretend they weren’t drawn together."
22"Lucien’s gaze found hers again, and the romance wasn’t soft anymore—it was urgent, edged with intent."
88.68% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2669
adjectiveStacks1
stackExamples
0"other black—heterochromatic, like"
adverbCount123
adverbRatio0.046084675908579995
lyAdverbCount31
lyAdverbRatio0.011614837017609592
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences323
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences323
mean10.4
std7.38
cv0.71
sampleLengths
08
130
228
34
417
533
69
79
817
915
1013
1125
1216
1313
147
159
1616
1720
1817
1913
2015
216
224
237
2413
254
2637
2718
2815
2934
3022
318
328
3316
3432
357
3622
375
385
3916
4013
4113
4211
434
4414
457
463
471
488
494
41.33% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats28
diversityRatio0.21981424148606812
totalSentences323
uniqueOpeners71
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount9
totalSentences226
matches
0"Then the chain slackened."
1"Bright blue eyes tracked the"
2"Then he stopped, just at"
3"Then it returned, perfectly dressed"
4"Then, carefully, he said,"
5"Just enough to make her"
6"Instead, it made something inside"
7"Instead, she asked the question"
8"Then she stepped aside, clearing"
ratio0.04
94.34% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount71
totalSentences226
matches
0"Her shoulder-length black hair hung"
1"He arched his back, tail"
2"She didn’t move closer; she"
3"she said, and the name"
4"His ivory-handled cane came with"
5"She swallowed, tried again"
6"Her throat worked again."
7"She remembered the way he’d"
8"Her eyes slid to the"
9"She didn’t remember unlocking them."
10"She didn’t remember hearing keys."
11"She didn’t remember hearing anything"
12"Her mind ran through possibilities:"
13"she said, voice carefully even"
14"He had always been good"
15"She hated that he could"
16"She hated that she remembered"
17"She hated the way her"
18"He moved as if he"
19"His cane angled slightly, not"
ratio0.314
37.43% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount191
totalSentences226
matches
0"The door gave before Aurora"
1"Aurora’s hand was already on"
2"Aurora stood in the narrow"
3"Her shoulder-length black hair hung"
4"Ptolemy, the tabby, appeared at"
5"He arched his back, tail"
6"Aurora kept her body between"
7"She didn’t move closer; she"
8"she said, and the name"
9"The man in the doorway"
10"Charcoal suit tailored close to"
11"Lucien Moreau stepped in with"
12"His ivory-handled cane came with"
13"The door clicked shut behind"
14"Aurora’s stomach tightened anyway, as"
15"She swallowed, tried again"
16"Lucien’s mouth quirked, not quite"
17"Her throat worked again."
18"The last time she’d seen"
19"She remembered the way he’d"
ratio0.845
88.50% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount4
totalSentences226
matches
0"Now he was here, in"
1"To make it about business."
2"To the hidden blade."
3"To the reminders of danger,"
ratio0.018
41.72% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences113
technicalSentenceCount16
matches
0"Not with a polite click, not with the soft complaint of a latch—more like a reluctant surrender, as if the wood itself had decided it was tired of holding secre…"
1"Aurora stood in the narrow space of Eva’s flat—books stacked to the ceiling, scrolls drooped like exhausted banners over a chair, research notes half-buried und…"
2"The door clicked shut behind him, a final punctuation that felt too final."
3"Ptolemy made a soft sound from the side, a warning trill that could have meant any number of things—danger, curiosity, or displeasure at Lucien’s shoes tracking…"
4"Lucien’s amber eye warmed, and something in him softened—something that hurt."
5"Everything she’d done to keep from thinking about the last conversation that ended in silence."
6"Ptolemy stepped closer, rubbing his head against Aurora’s ankle with a pointed need, as if to interrupt the spiral."
7"His voice lowered again, smoother now, threaded with something that made her anger soften into something more dangerous."
8"She stepped back a half-step, careful, as if she could avoid impact."
9"The ivory cane that hid steel with the same calmness other men hid keys."
10"In the dark behind her lids, she saw the night he’d vanished, her own anger spilling after him, her determination turning into self-punishment."
11"Lucien’s hand lifted slightly, not yet touching her, hovering as if he was asking permission without words."
12"Aurora held his gaze, letting herself feel the pull without letting it swallow her."
13"Outside, somewhere beyond the locked door and the deadbolts that meant less than they pretended, the night waited—danger and consequence and the complicated, un…"
14"Lucien’s amber eye brightened, the black one following like a shadow that chose to stay."
15"He leaned his cane against the floor, shifting his weight as if accepting not just the room, but the risk of being seen."
33.16% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags49
uselessAdditionCount9
matches
0"she said, and the name landed like a dropped coin—small, sharp, and impossible to ignore"
1"she said, voice carefully even"
2"she asked, quieter"
3"she repeated, and the words came out steadier than she expected"
4"Her mouth tightened, the old fear rising like smoke—"
5"she said, voice low"
6"she said, voice barely above breath,"
7"she said, trying to pull the conversation back toward something structured,"
8"she said, and the words held both challenge and permission"
68.18% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags44
fancyCount9
fancyTags
0"she demanded (demand)"
1"Aurora snapped (snap)"
2"he murmured (murmur)"
3"he agreed (agree)"
4"she repeated (repeat)"
5"Lucien continued (continue)"
6"he admitted (admit)"
7"Aurora pressed (press)"
8"Lucien confirmed (confirm)"
dialogueSentences110
tagDensity0.4
leniency0.8
rawRatio0.205
effectiveRatio0.164
79.1777%