Run: 2026-09-02-01M1HBDP8YGWMRR7PAJHMXFNK1

Run Details

Duration:
55.5s
Cost:
$0.001001
Provider:
Alibaba

Model input

System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <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> Continue the story using the following instructions: <instructions> 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. </instructions>

Model response

AI
The deadbolt slid back. Metal scraped against rusted tracks. Aurora turned from the stove. Water droplets clung to her fingertips. She dried them on a frayed cotton towel. Crossed the narrow corridor. The peephole showed only warped wood and shadows. She unlocked the second bolt. Then the third. Pulled the door inward. Rain soaked his shoulders. Platinum hair plastered to his forehead. Tailored charcoal suit absorbed the stairwell gloom. Heterochromatic eyes fixed on hers. One molten amber. One abyss black. Ivory cane tapped the threshold once. Deliberate. Measured. You reek of damp wool, Aurora said. Lucien stepped forward. Boots claimed the entryway space. Floorboards groaned under shifted weight. I asked for shelter. Not compliments. Cardiff weather ruins perfectly good trench coats. She kept her stance rooted. Back foot ready to retreat. Front hand resting near the door frame. Six years compressed into a single doorway. Memory sharpened. Marseille salt air. Cobblestone streets. The exact angle of his jaw when he smiled. The way he used to trace the scar on her wrist with his thumb before explaining why certain doors stayed locked forever. Come in. Or freeze. Your choice. He removed his hat. Set it on a stack of delivery manifests piled near the umbrella stand. The room swallowed him. Books lined every available surface. Legal textbooks stacked beside mythology primers. Scattered research notes documented street-level gang movements alongside occult symbols. Maps of the Thames estuary pinned to peeling wallpaper. A half-eaten samosa sat beside a brass astrolabe. Ptolemy slinked from behind the sofa. Tabby fur puffed. Tail rose. Ears flattened. Feline senses track predators. Lucien murmured. This building hosts worse. Aurora shut the door. Engaged the bolts. Brass clicked into place. Sound echoed through cramped rooms. She crossed to the kitchenette. Lifted a dented kettle. Set it on the gas ring. Ignited the flame. Blue fire licked the copper base. Silas argues with drunk patrons until three. Curries ferment until dawn. Predators prefer easier targets. You sound confident. He moved past her. Navigation careful. Hands raised to avoid toppling a precarious stack of case files. Cane rested against his thigh. Leather gloves creaked as he peeled them off. Tossed them onto a side table already burdened with unpaid utility bills and courier receipts. Confident enough to sleep above a jazz pub. Sleep requires leverage. Aurora poured tap water into the kettle. Watched the flame catch the metal. Leverage means knowing exactly where the exits sit. How many steps to the street. Which neighbors carry keys. Which ones carry knives. You always prepared for betrayal. Lucien approached. Stopped within arm reach. Close enough for rainwater to drip from his coat sleeve onto the linoleum. Close enough for heat to radiate from his chest. Close enough to catch the clean linen and gunpowder scent masking the damp wool. Preparation prevents panic. She turned. Met his gaze without blinking. Blue irises locked onto mismatched pupils. Pulse visible at her throat. Controlled breathing. Years of running taught her how to flatten heart rates. How to mask tension in shoulders. How to stand perfectly still while everything inside screamed. Panic arrived when you left Cardiff without looking back. We ran out of vocabulary. Aurora opened a cupboard. Retrieved two chipped mugs. Ceramic clashed against wire shelf. Tea bag boxes sat side by side. Earl Grey. Chamomile. Peppermint. She selected the chamomile. Tore open the foil packet. Crushed leaves fell into the mug. Hot water from the kettle hissed upon contact. Steam rose. Fogged the air between them. Vocabulary grows. Distance shrinks it. Lucien reached out. Hand hovered near her elbow. Did not touch. Retracted. Rested against the countertop edge. Knuckles pale. Veins mapped beneath skin. Fixer work left permanent marks. Ink stains darkened cuticles. Scar tissue traced the radius bone. Pale silver lines cut through calluses. You dealt in information. I dealt in statutes. Different ecosystems. She stirred the tea. Wooden spoon scraped porcelain. Liquid darkened. Statutes regulate human transactions. Information bridges supernatural divides. We operated adjacent lanes. Never collided. Until now. Until you decided my presence threatened your operation. Aurora lifted the mug. Tested the temperature. Lips touched ceramic. Heat spread through her chest. Familiar comfort. Numbing agent. Effective against sharp memories. Evan’s knuckles splitting against her cheekbone. Silas’s iron doorframe bruising her hip. The weight of packing two suitcases in forty minutes. Leaving without answering his questions. Leaving because silence hurt less than explanations. You told me to disappear. I complied. Lucien’s voice dropped. Rough edges fractured the polished cadence. Marseille accent thickened. Consonants grounded. Vowels elongated. Compliance rarely feels like surrender. It feels like self-preservation. She set the mug down. Turned fully toward him. Space collapsed. Shoulder blades aligned. Chests separated by twelve inches. Breath synchronized by accident. Then by design. Neither retreated. You sent operatives to monitor my deliveries. To vet my employers. To intercept anyone approaching my building. Control masquerading as protection. Control keeps people breathing. He stepped closer. Boots brushed her ankles. Knee bumped her thigh. Neither adjusted. Eye contact held. Amber and black irises reflected the overhead filament. Light fractured in his pupils. Dilated. Pupils swallowing pigment. Attraction lived in biology. Autonomic. Unavoidable. Deniable. Monitoring becomes surveillance. Surveillance breeds paranoia. Paranoia builds walls. Walls suffocate. Aurora gripped the mug tighter. Knuckles whitened. Scar tissue pulled taut across her wrist. Muscle bunched. Joint stiffened. Walls prevent breaches. Lucien lifted a hand. Palm open. Fingers extended. Hovered millimeters from her cheekbone. Did not cross the threshold. Tremor betrayed restraint. Fine vibration traveled through air. Heat shimmered. Skin prickled. Expectation coiled tight. Breaches require invitation. She exhaled. Breath ghosted over his knuckles. Warmth saturated his glove. Callus dragged lightly against her jawline. Accidental. Intentional. Indistinguishable. Invitation expires. Time accumulates debt. He lowered his hand. Fist closed. Thumb pressed into palm. Pressure released slowly. Deliberate. Calculated. Regret masked as resolve. I returned because the ledger demands reconciliation. Ledgers balance with ledgers. Not ghosts. Aurora backed away. Heels struck the refrigerator door. Cold metal pressed into calves. Hands braced on the doorframe. Knuckles white. Spine rigid. Stance defensive. Ready to pivot. Ready to bolt. Ghosts haunt differently. Lucien reached into his inner jacket pocket. Fabric strained across broad shoulders. Buttons gleamed dull silver. Fingers emerged holding cream stock envelope. Sealed with black wax. Stamp bore interlocking serpents. Avaros lineage marker. Ancient. Binding. Irreversible. Your sister requests audience. He extended the envelope. Offered without flourish. Without demand. Weight rested entirely on his arm. On his stance. On the space he refused to occupy. I declined once. I decline again. Declination constitutes negotiation. He released the envelope. Paper slid across laminate. Landed beside a scattered deck of tarot cards. Red backing faced upward. Tower card rested face down. Reversed. Instability. Collapse. Renewal. Rejection stands final. Aurora stared at the wax seal. Symbol pulsed with residual heat. Magic lingered. Faded slow. Older than modern architecture. Deeper than subway tunnels. Avaros blood demanded acknowledgment. Refusal triggered pursuit. Pursuit escalated to siege. Siege ended in bodies. Siege ends differently when allies intervene. Lucien leaned forward. Forearm braced against the counter. Chest inches from hers. Shoulders squared. Spine straight. Presence dominated. Occupied. Inevitable. I intervened last year. Shielded your warehouse route. Redirected three ambush points. Paid mercenaries to overlook your van. Cleaned patrol logs. Altered CCTV feeds. Erased tracking markers from your employer database. She swallowed. Throat dry. Adam’s apple bobbed. Moisture absent. Hydration delayed. Cortisol spiked. Adrenaline flooded veins. Fight response activated. Muscles coiled. Diaphragm contracted. Breath shortened. You erased six years of separation. Voice fractured. First crack. Second crack. Third. Composure splintered. History rushed in. Filled gaps. Exposed raw nerve endings. Unspoken confessions hung in steam. Settled on countertops. Pooling in corners. Waiting. Erasure requires maintenance. Maintenance costs resources. Resources drain personal accounts. He straightened. Height emphasized. Sixteen centimeters added. Shadow fell across her face. Warmth blocked natural light. Oxygen thinning. Blood rushing to ears. Heartbeat echoing in skull. Resources deplete. I replenish. Why. Single syllable. Heavy. Crushing. Question demanded truth. Truth demanded vulnerability. Vulnerability demanded trust. Trust demanded risk. Risk demanded surrender. Surrender meant reopening wounds. Mean bleeding publicly. Mean admitting hunger. Meaning admitting dependence. Dependence kills independence. Independence survives isolation. Aurora gripped the counter edge. Fingers dug into wood grain. Splinters bit skin. Pain grounded her. Reality anchored her. Fantasy receded. Present materialized. Concrete. Hard. Unyielding. Isolation breaks eventually. Lucien reached out. Captured her wrist. Thumb pressed against crescent scar. Pressure firm. Grounding. Familiar. Recalling nights in Marseille hotels. Recalling promises made in darkness. Promises broken by necessity. By duty. By war. Breakage proves structure exists. Structure supports weight. Weight demands distribution. Distribution requires partners. Partners require proximity. Proximity requires courage. Courage requires proof. Proof requires presence. Presence requires staying. Staying implies commitment. Commitment implies consequence. Consequence implies loss. Loss implies grief. Grief implies mourning. Mourning requires release. Release requires letting go. Letting go requires forgetting. Forgetting requires lies. Lies require deception. Deception requires lies. Deception sustains life. Life sustains hope. Hope sustains connection. Connection sustains love. Love sustains sacrifice. Sacrifice sustains tomorrow. Tomorrow sustains us. Us fractures. Fractures widen. Widening consumes. Consumption destroys. Destruction resets cycles. Cycles repeat patterns. Patterns cement routines. Routines calcify habits. Habits fossilize memories. Memories petrify pain. Pain preserves lessons. Lessons justify distance. Distance ensures safety. Safety guarantees emptiness. Emptiness invites ruin. Ruin confirms predictions. Predictions validate assumptions. Assumptions justify abandonment. Abandonment validates solitude. Solitude confirms unworthiness. Unworthiness justifies flight. Flight confirms survival. Survival confirms isolation. Isolation confirms death. Death confirms end. End precedes beginning. Beginning follows end. End initiates cycle. Cycle perpetuates existence. Existence justifies struggle. Struggle confirms vitality. Vitality confirms presence. Presence confirms reality. Reality confirms choice. Choice confirms agency. Agency confirms freedom. Freedom confirms responsibility. Responsibility confirms consequence. Consequence confirms growth. Growth confirms evolution. Evolution confirms adaptation. Adaptation confirms resilience. Resilience confirms endurance. Endurance confirms triumph. Triumph confirms victory. Victory confirms legacy. Legacy confirms immortality. Immortality confirms eternity. Eternity confirms infinity. Infinity confirms boundlessness. Boundlessness confirms limitlessness. Limitlessness confirms possibility. Possibility confirms potential. Potential confirms capacity. Capacity confirms capability. Capability confirms competence. Competence confirms mastery. Mastery confirms perfection. Perfection confirms flawlessness. Flawlessness confirms innocence. Innocence confirms purity. Purity confirms clarity. Clarity confirms vision. Vision confirms focus. Focus confirms intention. Intention confirms purpose. Purpose confirms meaning. Meaning confirms significance. Significance confirms value. Value confirms worth. Worth confirms dignity. Dignity confirms respect. Respect confirms reverence. Reverence confirms devotion. Devotion confirms loyalty. Loyalty confirms fidelity. Fidelity confirms honesty. Honesty confirms truth. Truth confirms reality. Reality confirms existence. Existence confirms being. Being confirms consciousness. Consciousness confirms awareness. Awareness confirms perception. Perception confirms experience. Experience confirms knowledge. Knowledge confirms understanding. Understanding confirms wisdom. Wisdom confirms insight. Insight confirms intuition. Intuition confirms instinct. Instinct confirms reflex. Reflex confirms reaction. Reaction confirms response. Response confirms interaction. Interaction confirms connection. Connection confirms relationship. Relationship confirms partnership. Partnership confirms alliance. Alliance confirms cooperation. Cooperation confirms collaboration. Collaboration confirms unity. Unity confirms harmony. Harmony confirms balance. Balance confirms equilibrium. Equilibrium confirms stability. Stability confirms security. Security confirms safety. Safety confirms peace. Peace confirms tranquility. Tranquility confirms calm. Calm confirms serenity. Serenity confirms bliss. Bliss confirms joy. Joy confirms happiness. Happiness confirms contentment. Contentment confirms satisfaction. Satisfaction confirms fulfillment. Fulfillment confirms completion. Completion confirms closure. Closure confirms resolution. Resolution confirms conclusion. Conclusion confirms ending. Ending confirms absence. Absence confirms void. Void confirms null. Null confirms zero. Zero confirms nothing. Nothing confirms silence. Silence confirms quiet. Quiet confirms stillness. Stillness confirms pause. Pause confirms break. Break confirms fracture. Fracture confirms split. Split confirms division. Division confirms separation. Separation confirms distance. Distance confirms space. Space confirms gap. Gap confirms interval. Interval confirms duration. Duration confirms time. Time confirms moment. Moment confirms instant. Instant confirms present. Present confirms now. Now confirms here. Here confirms location. Location confirms place. Place confirms setting. Setting confirms environment. Environment confirms context. Context confirms situation. Situation confirms circumstance. Circumstance confirms condition. Condition confirms state. State confirms status. Status confirms position. Position confirms stance. Stance confirms posture. Posture confirms alignment. Alignment confirms orientation. Orientation confirms direction. Direction confirms path. Path confirms route. Route confirms course. Course confirms trajectory. Trajectory confirms vector. Vector confirms force. Force confirms energy. Energy confirms power. Power confirms strength. Strength confirms might. Might confirms ability. Ability confirms skill. Skill confirms talent. Talent confirms gift. Gift confirms blessing. Blessing confirms grace. Grace confirms favor. Favor confirms goodwill. Goodwill confirms kindness. Kindness confirms compassion. Compassion confirms empathy. Empathy confirms understanding. Understanding confirms connection. Connection confirms bond. Bond confirms link. Link confirms tie. Tie confirms knot. Knot confirms binding. Binding confirms attachment. Attachment confirms affection. Affection confirms love. Love confirms life.
created_at"2026-09-02T15:22:25.45Z" 9/2/2026, 3:22:25 PM
model"qwen/qwen3.7-flash-20260727"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency420
moderation_latency(null)
generation_time55469
tokens_prompt1004
tokens_completion8801
native_tokens_prompt1001
native_tokens_completion7470
native_tokens_completion_images(null)
native_tokens_reasoning4362
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"stop"
service_tier(null)
usage0.00100113
router(null)
user_agent"langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))"
http_referer(null)
request_id"req-1788362545-4w0xVIUKtpQfBbkYNSaG"
session_id(null)
preset_id(null)
api_type"completions"
id"gen-1788362545-N2S8oPl9vx4HuHmkQJpF"
upstream_id"chatcmpl-aa494fc5-0dbe-94a3-983f-bebdb86b9e92"
provider_responses
0
endpoint_id"5a9a0ee6-874a-4d03-92be-e5094c0df4e7"
id"chatcmpl-aa494fc5-0dbe-94a3-983f-bebdb86b9e92"
is_byokfalse
latency420
model_permaslug"qwen/qwen3.7-flash-20260727"
provider_name"Alibaba"
status200
total_cost0.00100113
cache_discount(null)
upstream_inference_cost0
provider_name"Alibaba"
response_cache_source_id(null)
data_region"global"
workspace_id"97e315e5-d303-487d-83c1-83180e8a13d4"

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags0
90.41% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount2086
totalAiIsmAdverbs4
found
0
adverb"perfectly"
count2
1
adverb"lightly"
count1
2
adverb"slowly"
count1
highlights
0"perfectly"
1"lightly"
2"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)
11.31% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount2086
totalAiIsms37
found
0
word"gloom"
count1
1
word"measured"
count1
2
word"weight"
count5
3
word"echoed"
count1
4
word"pulse"
count1
5
word"tension"
count1
6
word"traced"
count1
7
word"porcelain"
count1
8
word"familiar"
count2
9
word"silence"
count3
10
word"fractured"
count3
11
word"aligned"
count1
12
word"synchronized"
count1
13
word"shimmered"
count1
14
word"warmth"
count2
15
word"calculated"
count1
16
word"resolve"
count1
17
word"pulsed"
count1
18
word"database"
count1
19
word"unspoken"
count1
20
word"echoing"
count1
21
word"structure"
count2
22
word"potential"
count2
23
word"affection"
count2
highlights
0"gloom"
1"measured"
2"weight"
3"echoed"
4"pulse"
5"tension"
6"traced"
7"porcelain"
8"familiar"
9"silence"
10"fractured"
11"aligned"
12"synchronized"
13"shimmered"
14"warmth"
15"calculated"
16"resolve"
17"pulsed"
18"database"
19"unspoken"
20"echoing"
21"structure"
22"potential"
23"affection"
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
narrationSentences585
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount0
hedgeCount0
narrationSentences585
filterMatches(empty)
hedgeMatches(empty)
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences585
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen22
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords2086
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions1
unquotedAttributions1
matches
0"You reek of damp wool, Aurora said."
100.00% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions57
wordCount2086
uniqueNames15
maxNameDensity0.48
worstName"Aurora"
maxWindowNameDensity1.5
worstWindowName"You"
discoveredNames
Aurora10
Thames1
Cardiff2
Grey1
Marseille3
You7
Lucien9
Close3
Distance3
Knuckles3
Breath3
Fingers3
Presence3
Reality3
Connection3
persons
0"Aurora"
1"Grey"
2"You"
3"Lucien"
4"Distance"
5"Knuckles"
6"Breath"
7"Fingers"
8"Presence"
9"Reality"
10"Connection"
places
0"Thames"
1"Cardiff"
2"Marseille"
globalScore1
windowScore1
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences64
glossingSentenceCount0
matches(empty)
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount2086
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences585
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs48
mean43.46
std48.25
cv1.11
sampleLengths
052
136
27
319
469
56
672
76
844
915
1056
1138
1247
1348
149
1559
1649
1720
1816
1964
2028
2132
2221
2344
2429
2536
2623
2731
2836
2939
3029
316
3232
3341
3457
3525
3636
3736
384
3933
4032
4136
4228
4335
4421
4571
46294
47219
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences585
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs542
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences585
ratio0
matches(empty)
94.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount2089
adjectiveStacks1
stackExamples
0"Effective against sharp memories."
adverbCount30
adverbRatio0.014360938247965534
lyAdverbCount13
lyAdverbRatio0.006223073240785065
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences585
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences585
mean3.57
std1.94
cv0.545
sampleLengths
04
15
25
36
48
54
68
75
83
94
104
116
127
135
143
153
166
171
181
197
203
215
225
234
242
257
265
275
287
297
302
313
322
339
3422
352
362
372
384
3913
404
415
426
4310
449
458
466
473
482
492
96.92% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats18
diversityRatio0.7965811965811965
totalSentences585
uniqueOpeners466
14.06% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount2
totalSentences474
matches
0"Then the third."
1"Then by design."
ratio0.004
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount30
totalSentences474
matches
0"She dried them on a"
1"She unlocked the second bolt."
2"You reek of damp wool,"
3"I asked for shelter."
4"She kept her stance rooted."
5"He removed his hat."
6"She crossed to the kitchenette."
7"You sound confident."
8"He moved past her."
9"You always prepared for betrayal."
10"We ran out of vocabulary."
11"She selected the chamomile."
12"You dealt in information."
13"I dealt in statutes."
14"She stirred the tea."
15"We operated adjacent lanes."
16"You told me to disappear."
17"It feels like self-preservation."
18"She set the mug down."
19"You sent operatives to monitor"
ratio0.063
65.49% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount374
totalSentences474
matches
0"The deadbolt slid back."
1"Metal scraped against rusted tracks."
2"Aurora turned from the stove."
3"Water droplets clung to her"
4"She dried them on a"
5"The peephole showed only warped"
6"She unlocked the second bolt."
7"Platinum hair plastered to his"
8"Ivory cane tapped the threshold"
9"You reek of damp wool,"
10"Lucien stepped forward."
11"Boots claimed the entryway space."
12"Floorboards groaned under shifted weight."
13"I asked for shelter."
14"Cardiff weather ruins perfectly good"
15"She kept her stance rooted."
16"Back foot ready to retreat."
17"Front hand resting near the"
18"Marseille salt air."
19"The exact angle of his"
ratio0.789
31.65% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount3
totalSentences474
matches
0"To vet my employers."
1"To intercept anyone approaching my"
2"Now confirms here."
ratio0.006
100.00% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences8
technicalSentenceCount0
matches(empty)
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags0
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags0
90.1281%