Run: 2026-07-08-01KX1M15GQ3ZD84DTXDN6STXNV

Run Details

Duration:
2m 38s
Cost:
$0.017440
Provider:
xAI

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 knock came hard against the wood—three sharp raps that cut through the afternoon hum of Brick Lane traffic and the faint curry spice rising from the restaurant below. Rory froze with a stack of Eva’s loose research notes in her hands, the paper edges soft and overhandled between her fingers. Ptolemy the tabby blinked up from his perch on a teetering pile of scrolls, tail flicking once in lazy judgment. She set the notes down carefully, heart already thumping a quick, unwelcome rhythm. Three deadbolts. She threw them one by one, metal sliding free with heavy clicks, and pulled the door open. Lucien Moreau stood on the narrow landing like he owned the air itself. Charcoal suit cut sharp enough to shame the peeling paint on the stairwell walls. Platinum blond hair slicked back without a strand out of place. One amber eye, one black, fixed on her with that unnerving focus that had always made her feel simultaneously seen and cornered. The ivory-handled cane rested lightly against his palm. For a full second neither of them spoke. “Well,” he said at last, voice that low velvet French cadence that still crawled under her skin after all these months. “You look terrible, ma chère. Have you been sleeping at all?” Rory’s fingers tightened on the edge of the door. “Get lost, Lucien.” He didn’t move. Just tilted his head a fraction, studying the flat beyond her shoulder—the chaos of books and papers, the mug of cold tea abandoned on the arm of the sofa, Ptolemy watching with bored green eyes. “You’re staying here now. With the witch. How… quaint.” “Eva’s not home.” The words came out clipped. She hated that he could read the flat so fast. Hated more that her pulse had jumped the second she saw him. “And you don’t get to drop by unannounced like we’re still—” “Still what?” He stepped forward half a pace, not forcing his way in, but close enough that she caught the faint scent of his cologne—cedar and something darker, smoke and old money. “Still anything? You walked out of my life with impressive finality, Aurora. Packed your things from the guest room above the bar and vanished into this charming little rabbit warren without so much as a text. Three months of silence. Forgive me if I find the cold reception a touch… redundant.” She almost shut the door in his face. Almost. Instead she scraped a hand through her straight black hair and stepped back, leaving just enough space for him to enter if he chose. He chose. Of course he did. The cane tapped once against the threshold as he crossed it, elegant as ever, and the door closed behind him with a soft finality that felt heavier than it should. Ptolemy stretched, hopped down, and wound once around Lucien’s perfectly creased trousers before dismissing him for the kitchen windowsill. Traitor. Rory folded her arms across her chest, trying to ignore how small the flat suddenly felt with him in it. “Why are you here?” “Because you left things unfinished.” He set the cane against the wall with care, like it might bruise, then turned those mismatched eyes fully on her. Ambition and something rawer glanced across his expression before he shuttered it. “Because I heard whispers that you’ve been asking questions in places that get people killed. About Avaros. About contracts that should never have painted your name. And because—” He exhaled, a rare visible crack. “Because I could not stand one more night wondering if you still flinch when someone raises their voice.” The mention of Evan landed between them like shattered glass. Rory’s left wrist itched, the small crescent scar suddenly loud under her thumb. She turned away, busying herself with clearing a space on the cluttered coffee table that would never actually be clear. Books stacked on books. Half-melted wax seals. Notes in Eva’s looping hand. “I’m fine,” she said. “I don’t need a half-demon fixer playing hero.” “I never claimed heroism.” His voice came quieter now, closer. She hadn’t heard him move, but the heat of him brushed her back when she straightened. “Only that I am very good at keeping people alive when the underworld takes notice. You of all people know that.” She turned. Six inches between them, maybe less. His height put her at eye level with the crisp knot of his tie. She forced her gaze up. “We said hard things the last time. Unforgivable things.” “I remember every word.” His hand lifted, hovered near her cheek without touching. “You told me you couldn’t trust a man who wore masks for a living. I told you running from one shadow into another was still running. And then you left.” The flat’s single window let in gray London light that caught on the amber of his right eye. Rory swallowed. Attraction had never been the problem between them. It sat in the air now like early summer heat, thick and inevitable. Hurt, though—that was the weight pressing against her ribs. The way he had looked at her the night she packed her bag. Not angry. Just quietly devastated, as if he’d already known she would go and still hoped she wouldn’t. “I needed time,” she managed. “After Evan… after everything… being under your roof felt like trading one set of chains for prettier ones. You control every room you walk into, Lucien. It’s safer that way for you. It’s not safer for me.” Something flickered across his face—pain, tightly leashed. “I never wanted chains for you.” “Didn’t you?” She stepped back fully, putting the sofa between them. “Information is currency. I was a useful piece on the board who also slept upstairs and made you laugh occasionally. Don’t rewrite history now that it’s convenient.” He went very still. Then he laughed once, short and hollow. “You have always been many things, Rory Carter. Useful was never the first word that came to mind.” He moved around the sofa with deliberate grace, stopping when the small coffee table blocked further progress. “I came here today because word is circulating about a particular demon-blood ritual involving human blood and a name I once promised you I would never speak again. Your name is attached. Quietly. As bait.” Ice slid down her spine. She searched his face for the lie and found none. “You’re serious.” “Deadly.” The word landed soft. “I traced the chatter to a broker who drinks at Silas’s place on Thursdays. Same bar you deliver food to on your bicycle shifts. Whoever is setting this stage knows your routes. Your habits. Your… recent loneliness.” Rory sank onto the edge of the sofa, fingers laced tight. The room tilted slightly. Ptolemy meowed once from the windowsill as if lending his opinion. “And you just… decided to warn me out of the goodness of your half-demon heart.” “No.” He lowered himself into the armchair opposite with liquid ease, cane now resting across his knees like a chosen weapon. “I decided that if anyone is going to drag you into the dark again, it will be me. On terms I control. Not some two-coin ritualist with a grudge against the Carter bloodline or whatever this is truly about.” Silence stretched. Outside, a bus hissed to a stop. The curry house below sent up a sudden burst of sizzling and laughter. Inside Eva’s flat the only sounds were the soft tick of an old radiator and Rory’s own breathing. She looked at him—really looked. The immaculate suit that never wrinkled. The cane that hid a blade thinner than any knife she owned. The way his blond hair never dared fall across his forehead. And underneath, the tension in his shoulders, the way one polished shoe tapped once against the floorboards. “You still want me,” she said. Not a question. His smile was small, rueful, devastating. “I never stopped. That particular affliction proved stubborn.” “And the hurt?” “Still here.” He tapped two fingers lightly over his own sternum. “I can carry both. Attraction. Hurt. The things we never said because I was too proud and you were still bleeding from someone else’s fists. I am here now, Aurora. Unannounced and uninvited. Tell me to leave and I will walk back down those stairs. But do not pretend there is no history sitting between us like a third occupant of this cramped room.” Rory’s throat worked. She could still taste the last argument: her voice cracking in the hallway above Silas’s bar, his quiet, lethal calm, the way he had lifted a hand as if to touch her wrist and thought better of it when she flinched. The crescent scar. The apology he never quite got to offer. The truth that she had been halfway in love with him already and terrified of what that meant after Evan. She stood. Walked around the table. Stopped in front of his chair. “Say the things left unsaid,” she whispered. “Right now. While we’re both stupid enough to risk it.” Lucien’s mismatched eyes held hers. For the first time since the door opened, his composure thinned enough to show the man beneath the fixer. “I was falling in love with you,” he said, low and precise. “And it frightened me more than any contract I have ever signed. Because loving someone means they can destroy you. And I have spent thirty-two years ensuring that never happens. When you packed your bag, some part of me thought—this is safer. Better for her. Easier for me to survive. I was a coward. And I have regretted the silence every day since.” Something unlocked under Rory’s ribs. She sank onto the arm of his chair, one knee pressing gently into the fine charcoal fabric of his suit. Her hand found the side of his face, thumb brushing the sharp line of his cheekbone. Skin warm. Real. “You broke my heart a little when you let me leave without a fight,” she said. “Even though I needed to go. Complicated doesn’t begin to cover it.” His hand rose slowly—telegraphing the move, giving her every chance to pull away—and settled over hers where it rested on his jaw. Calluses from the cane, from blades, from a life lived sharp. “And now?” “Now you show up smelling like expensive trouble and tell me someone wants my blood for a ritual. Romantic by your standards, I suppose.” A shaky laugh escaped her. Then softer: “I never stopped wanting you either. Night shifts delivering dumplings. Lying awake above the bar wondering if you were alive after whatever deal you’d taken. Hating how much I missed the sound of that damn cane.” He turned his face into her palm, lips brushing the crescent scar on her wrist with almost reverent care. The touch sent a clean spark up her arm. When he looked up again, the amber eye burned. “Stay here tonight,” he said. “Not because of the threat—though I will handle that by morning. Stay because there are three months of unsaid conversations living in this room already, and I would like to spend a few hours saying the quieter truths with you. No masks. No clients. Just you and the fool who never should have let the door close the first time.” Rory’s answer came without calculation. She leaned down and kissed him—hesitant first, then deeper when his free hand came up to cradle the back of her head, fingers sliding into her black hair with a tenderness that made her bones ache. He tasted of black coffee and the faint metallic edge that clung to old magic. His mouth moved against hers like a man remembering a language he’d forced himself to forget. When they broke apart, both breathing harder, she rested her forehead against his. “Complicated was never going to stay dead,” she murmured. “Not with us.” Lucien’s smile this time held no masks at all. “Fortunately, I have always excelled at complicated.” He stood, drawing her up with him, the cane forgotten for once against the chair. Outside, Brick Lane carried on with its ordinary chaos. Inside the flat he had once dissected with a single glance, the air had changed—warmer, charged, unfinished monstrous things finally speaking. Ptolemy blinked, unimpressed, and went back to sleep as Rory led Lucien deeper into the clutter of books and unfinished research, toward the small kitchen where the kettle waited, and toward whatever fragile, electric peace they might carve out of the history that refused to let them go.
created_at"2026-07-08T19:42:14.045Z" 7/8/2026, 7:42:14 PM
model"x-ai/grok-4.5-20260708"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency108262
moderation_latency(null)
generation_time147527
tokens_prompt808
tokens_completion3254
native_tokens_prompt962
native_tokens_completion2810
native_tokens_completion_images(null)
native_tokens_reasoning181
native_tokens_cached896
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.01744
router(null)
provider_responses
0
endpoint_id"0e927811-b1a8-4604-8b86-db5ce6eaa87c"
is_byokfalse
latency109
model_permaslug"x-ai/grok-4.5-20260708"
provider_name"xAI"
status(null)
1
endpoint_id"78a73286-52c4-4d1d-9d13-c1870c25b143"
id"0c2a6d8a-bac1-930c-be43-d937360b3d00"
is_byokfalse
latency99
model_permaslug"x-ai/grok-4.5-20260708"
provider_name"xAI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.18.0; linux; x64))"
http_referer(null)
request_id"req-1783539734-XZMfazlk1Q1LaWG9BY5I"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1783539734-IlwqNQudKTAy2rqXlp9z"
upstream_id"0c2a6d8a-bac1-930c-be43-d937360b3d00"
total_cost0.01744
cache_discount0.001344
upstream_inference_cost0
provider_name"xAI"
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
totalTags22
adverbTagCount2
adverbTags
0"She stepped back [back]"
1"He moved around [around]"
dialogueSentences51
tagDensity0.431
leniency0.863
rawRatio0.091
effectiveRatio0.078
66.57% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2094
totalAiIsmAdverbs14
found
0
adverb"carefully"
count1
1
adverb"lightly"
count2
2
adverb"perfectly"
count1
3
adverb"suddenly"
count2
4
adverb"very"
count2
5
adverb"tightly"
count1
6
adverb"slightly"
count1
7
adverb"truly"
count1
8
adverb"really"
count1
9
adverb"gently"
count1
10
adverb"slowly"
count1
highlights
0"carefully"
1"lightly"
2"perfectly"
3"suddenly"
4"very"
5"tightly"
6"slightly"
7"truly"
8"really"
9"gently"
10"slowly"
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)
64.18% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2094
totalAiIsms15
found
0
word"velvet"
count1
1
word"pulse"
count1
2
word"silence"
count3
3
word"shattered"
count1
4
word"weight"
count1
5
word"flickered"
count1
6
word"down her spine"
count1
7
word"traced"
count1
8
word"tension"
count1
9
word"ensuring"
count1
10
word"tenderness"
count1
11
word"charged"
count1
12
word"electric"
count1
highlights
0"velvet"
1"pulse"
2"silence"
3"shattered"
4"weight"
5"flickered"
6"down her spine"
7"traced"
8"tension"
9"ensuring"
10"tenderness"
11"charged"
12"electric"
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
emotionTells1
narrationSentences117
matches
0"y in love"
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount1
hedgeCount0
narrationSentences117
filterMatches
0"feel"
hedgeMatches(empty)
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences145
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen65
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2082
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions19
unquotedAttributions0
matches(empty)
100.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions37
wordCount1301
uniqueNames14
maxNameDensity0.85
worstName"Rory"
maxWindowNameDensity1.5
worstWindowName"Rory"
discoveredNames
Brick2
Lane2
Eva3
Moreau1
French1
Rory11
Ptolemy5
Lucien5
Ambition1
Evan2
London1
Ice1
Silence1
Silas1
persons
0"Eva"
1"Moreau"
2"Rory"
3"Ptolemy"
4"Lucien"
5"Evan"
6"Ice"
7"Silence"
8"Silas"
places
0"Brick"
1"Lane"
2"London"
globalScore1
windowScore1
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences77
glossingSentenceCount1
matches
0"as if lending his opinion"
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches1
per1kWords0.48
wordCount2082
matches
0"not forcing his way in, but close enough"
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount1
totalSentences145
matches
0"hated that he"
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs50
mean41.64
std24.22
cv0.582
sampleLengths
071
132
268
38
432
512
647
741
883
969
1020
1124
1290
1355
1412
1547
1636
1743
1881
1942
2013
2138
2281
2317
2442
2526
2615
2760
2840
2951
309
3114
323
3375
3475
3512
3617
3724
3875
3944
4028
4135
4267
4337
4465
4572
4613
4712
4861
4948
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences117
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs212
matches(empty)
0.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount10
semicolonCount0
flaggedSentences9
totalSentences145
ratio0.062
matches
0"The knock came hard against the wood—three sharp raps that cut through the afternoon hum of Brick Lane traffic and the faint curry spice rising from the restaurant below."
1"Just tilted his head a fraction, studying the flat beyond her shoulder—the chaos of books and papers, the mug of cold tea abandoned on the arm of the sofa, Ptolemy watching with bored green eyes."
2"“Still what?” He stepped forward half a pace, not forcing his way in, but close enough that she caught the faint scent of his cologne—cedar and something darker, smoke and old money."
3"Hurt, though—that was the weight pressing against her ribs."
4"Something flickered across his face—pain, tightly leashed."
5"She looked at him—really looked."
6"His hand rose slowly—telegraphing the move, giving her every chance to pull away—and settled over hers where it rested on his jaw."
7"She leaned down and kissed him—hesitant first, then deeper when his free hand came up to cradle the back of her head, fingers sliding into her black hair with a tenderness that made her bones ache."
8"Inside the flat he had once dissected with a single glance, the air had changed—warmer, charged, unfinished monstrous things finally speaking."
83.68% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1313
adjectiveStacks1
stackExamples
0"warmer, charged, unfinished monstrous things"
adverbCount68
adverbRatio0.05178979436405179
lyAdverbCount19
lyAdverbRatio0.014470677837014471
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences145
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences145
mean14.36
std12.57
cv0.876
sampleLengths
029
122
220
313
42
517
613
714
811
922
108
118
1221
1311
149
153
163
1735
189
198
2010
2112
2211
2332
2451
258
261
2724
282
294
3030
3119
321
3320
344
3526
3612
3734
3818
3910
4013
4120
424
433
445
454
468
4710
4816
4921
66.90% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats8
diversityRatio0.43448275862068964
totalSentences145
uniqueOpeners63
100.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount5
totalSentences98
matches
0"Just tilted his head a"
1"Instead she scraped a hand"
2"Of course he did."
3"Just quietly devastated, as if"
4"Then he laughed once, short"
ratio0.051
81.22% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount34
totalSentences98
matches
0"She set the notes down"
1"She threw them one by"
2"he said at last, voice"
3"He didn’t move."
4"She hated that he could"
5"He stepped forward half a"
6"She almost shut the door"
7"He set the cane against"
8"He exhaled, a rare visible"
9"She turned away, busying herself"
10"His voice came quieter now,"
11"She hadn’t heard him move,"
12"His height put her at"
13"She forced her gaze up."
14"His hand lifted, hovered near"
15"It sat in the air"
16"She stepped back fully, putting"
17"He went very still."
18"He moved around the sofa"
19"She searched his face for"
ratio0.347
72.24% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount76
totalSentences98
matches
0"The knock came hard against"
1"Rory froze with a stack"
2"Ptolemy the tabby blinked up"
3"She set the notes down"
4"She threw them one by"
5"Lucien Moreau stood on the"
6"Charcoal suit cut sharp enough"
7"Platinum blond hair slicked back"
8"The ivory-handled cane rested lightly"
9"he said at last, voice"
10"Rory’s fingers tightened on the"
11"He didn’t move."
12"The words came out clipped"
13"She hated that he could"
14"He stepped forward half a"
15"She almost shut the door"
16"The cane tapped once against"
17"Ptolemy stretched, hopped down, and"
18"Rory folded her arms across"
19"He set the cane against"
ratio0.776
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences98
matches(empty)
ratio0
26.24% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences49
technicalSentenceCount8
matches
0"The knock came hard against the wood—three sharp raps that cut through the afternoon hum of Brick Lane traffic and the faint curry spice rising from the restaur…"
1"One amber eye, one black, fixed on her with that unnerving focus that had always made her feel simultaneously seen and cornered."
2"The cane tapped once against the threshold as he crossed it, elegant as ever, and the door closed behind him with a soft finality that felt heavier than it shou…"
3"She turned away, busying herself with clearing a space on the cluttered coffee table that would never actually be clear."
4"She could still taste the last argument: her voice cracking in the hallway above Silas’s bar, his quiet, lethal calm, the way he had lifted a hand as if to touc…"
5"She leaned down and kissed him—hesitant first, then deeper when his free hand came up to cradle the back of her head, fingers sliding into her black hair with a…"
6"He tasted of black coffee and the faint metallic edge that clung to old magic."
7"Ptolemy blinked, unimpressed, and went back to sleep as Rory led Lucien deeper into the clutter of books and unfinished research, toward the small kitchen where…"
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags22
uselessAdditionCount1
matches
0"His voice came, closer"
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags8
fancyCount2
fancyTags
0"she whispered (whisper)"
1"she murmured (murmur)"
dialogueSentences51
tagDensity0.157
leniency0.314
rawRatio0.25
effectiveRatio0.078
85.3681%