NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-03-18-01KM09AHNTTM3HC0A46Y5CJP3W
Run Details
Model:
GPT-5.4 Nano (Reasoning)
Test:
Bad Writing Habits
Scenario:
Horror: alone in an eerie place at night
Duration:
24.4s
Cost:
$0.005414
Provider:
OpenAI
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
93.11%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
31.13%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
83.33%
Name drop frequency
(details)
96.24%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
60.17%
Em-dash & semicolon overuse
(details)
98.74%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
38.10%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
70.37%
Pronoun-first sentence starts
(details)
34.07%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
97.51%
Technical jargon density
(details)
13.89%
Useless dialogue additions
(details)
66.67%
Dialogue tag variety (said vs. fancy)
(details)
82.7778%
Overall
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> <location id="861" name="The Fae Grove" aliases="Isolde's grove, Richmond grove, the Grove" realm="Earth (Fae-touched)"> <parkLocation>Richmond Park</parkLocation> <standingStones>ancient oak standing stones mark the boundary</standingStones> <timeBehavior>time moves differently — an hour inside can be minutes or days outside</timeBehavior> <flora>wildflowers bloom year-round</flora> <description>A hidden clearing that exists in a pocket between Earth and the Fae realm.</description> </location> <item id="2001" name="Heartstone Pendant" aliases="the pendant, Heartstone" type="Artifact" origin="Dymas"> <gemstoneColor>deep crimson</gemstoneColor> <chainMaterial>silver chain</chainMaterial> <size>roughly the size of a thumbnail</size> <behavior>pulses faintly with warmth when near a Hel portal</behavior> <glow>faint inner glow</glow> <description>Given to Aurora by an unknown benefactor.</description> </item> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the horror genre. A character is alone in a strange, isolated place at night. They came here for a reason, but something feels off from the moment they arrive. The wrongness builds slowly — sounds that shouldn't be there, things that move at the edge of vision, a growing certainty that they are not alone. Build tension through restraint, not through gore. Use the codex entries above as your world reference for the character and setting. Only include the prose of the scene without any markdown or commentary. </instructions>
Model response
Messages
Meta
AI
Aurora waited in the dark
between the last streetlamp and the line of trees at Richmond Park.
The air bit through her
delivery jacket and sat in her throat.
She kept her phone face-down
in her palm and watched the screen refuse to wake, like it had already decided the night belonged to something else.
The pendant hung beneath her
shirt, tucked against her skin. Deep crimson. Silver chain.
It pulsed once against her
heartbeat, warm enough to count as
warmth
instead of imagination.
She lifted her left wrist
to steady herself, the crescent scar pale and
familiar
, then lowered it again.
She hated how her body
reacted faster than her mind.
Her mind ran through the
same list it always did when she wanted control: route in, route out. Mark the stones. No heroics. No second guessing. She walked anyway. The footpath swallowed sound. Gravel didn’t crunch. Leaves didn’t crack.
Her steps landed on a
soft surface that felt like moss until her shoe dragged and the texture changed under her tread. When she looked down, there wasn’t anything to see.
Just darkness and the faint
sheen of damp that shouldn’t have existed this deep in autumn. At the boundary, the ancient oak standing stones rose in a crooked ring.
Each one carried lichen like
old scabs.
Each one stood too straight
for a ruin.
She stopped a few paces
short and angled her body,
scanning
for a gap in the line. The grove offered no answer. No signpost. No gate.
Nothing that matched the map
she’d drawn from memory and a set of directions she didn’t remember agreeing to. The pendant warmed again. Aurora tugged the shirt open. The crimson glow stayed faint, but it looked wrong against her fingers.
It didn’t shine outward like
light.
It brightened inward, as if
something deep inside the stone had pulled it taut.
She lifted her phone and
thumbed the power button. The screen stayed black. “Fine,”
she said, and the word
sounded too loud in the quiet. “You want me without witnesses. I get it.” The air thickened around the ring. Not like fog. Like pressure.
Her lungs felt the change
first, then her ears adjusted and found a new
silence
—thin, stretched, waiting. She stepped through the stones. Warmth slid off her skin in a slow wash. A different night reached for her. The stars overhead looked sharper, and the cloud cover looked staged. The trees ahead held wildflowers, year-round bloom that shouldn’t have survived frost. Petals floated in the air without wind, hovering close to the stems and then dropping into place with the gentlest taps, like someone arranged them by hand. Aurora didn’t slow.
She kept moving with the
certainty she used at night when a delivery address sat in the wrong postcode universe and she refused to get lost.
She went deeper until the
standing stones fell behind her like a closed door. The clearing opened into a pocket of space that felt larger than the park around it.
Her footsteps kept taking their
time, arriving late, spaced out. A sound followed her: a faint tick-tick, like a clock inside a wall. She stopped and listened harder. The ticking didn’t stop. It shifted.
It moved from left to
right, always keeping pace with her attention. Aurora tightened her grip on the strap of her bag. Her shoulders pulled forward. Her eyes, bright blue in the dark,
scanned
the flower heads. No movement in the stems. No sway in the air. She stepped left. The ticking answered with a nearer tone, as if it lived inside her shadow. “Show yourself properly,” she called, and kept her voice steady on purpose. The words scraped her throat, then rested there like they wanted to stay. “If you want something, say it.” The grove offered her a different sound instead: a low scrape, soft enough to hide inside the dark, like fingernails dragged along bark. Aurora held still. She didn’t turn right away. She watched the edge of her peripheral vision for the kind of shift that belonged to an animal. Her brain
tried to
label it as movement without making eye contact with it. Something moved anyway. It skated across the outer ring of her sight, a darker smear against the lighter flowerbeds. It didn’t creep. It slid—smooth, deliberate, like a person crossing a room with care not to touch furniture. She forced herself to
look
. Only empty air.
Only stems and blossoms and
the faint silver gleam of dew. Her
pulse
hammered. She hated the way her mind filled the gap after she checked. She went looking for a source for the scrape instead. She walked toward a cluster of oak roots where the ground dipped. The tick-tick resumed there, faster, impatient. Aurora knelt and pressed her fingers against the dirt. The soil held cold and wet, but it also held
warmth
. Like a hand had been resting beneath the surface and left only seconds ago. Her skin prickled. She withdrew fast, then rubbed her thumb against her scar as if the
familiar
curve could ground her. “Okay,” she said under her breath, and the word shook anyway. She swallowed and made her voice louder on the next attempt. “I’m here for a portal. That’s the reason. Not—whatever this is.” The pendant slid against her chest when she straightened. It
pulsed
hard enough to feel through fabric. Warmth spread through her ribs and settled behind her sternum, where fear usually lived but didn’t get invited. Aurora stood and followed the
warmth
. She moved between the wildflowers, stepping
carefully
around the hovering petals. Each time she crossed a patch of bare earth, the glow in the pendant brightened. She reached a stand of ancient stones half-buried in the clearing’s centre. They weren’t the same stones as the boundary ring. These carried no lichen. They looked freshly cut by someone who understood how to make rock
look
like it belonged in flesh. Carvings covered their faces. Not symbols she could read. Shapes like teeth and knots. Lines that curved in the wrong direction. The pendant
pulsed
in a steady rhythm now, like it had found a heartbeat and matched it. Aurora held the pendant out toward the nearest stone. The crimson inner glow rose, turning her fingers red with reflected light. For an instant, the air between her hand and the rock
shimmered
, like heat over asphalt. Then the shimmer thickened. A thin seam appeared,
not in the stone, but in the space beside it
—darkness that bent light away from it. Her eyes caught on the edge of it and slid off, like the world refused to render a straight boundary. Cold hit her face. Not the
chill
of night. The kind that came with closed rooms and burnt-out candles. Aurora leaned closer and refused to flinch at the smell. It wasn’t rot. It smelled like old iron and winter-green plants crushed underfoot. A sound came through the seam: distant breathing. Slow. Unhurried. Aurora jerked back and almost laughed out of sheer frustration at how her body kept reacting like she expected teeth. She steadied the pendant with both hands and watched the seam for any sign of motion. Nothing moved. Still, the breathing continued. She lifted her head. Her hair slid over her cheek, black strands catching faint crimson light from the pendant. “What do you want?” she asked. The grove answered with a voice that wasn’t a voice. It arrived in layers, like the air
tried to
translate a thought into sound and failed. Words formed and broke apart before her ears could hold them. Then her name landed clean. “Aurora.” The syllables didn’t come from any direction. They came from inside the space she stood in. She felt them rather than heard them, a vibration against her molars. Aurora’s grip tightened until her knuckles hurt. She turned her head a fraction, slow and controlled, hunting for the mouth that produced it. Nothing. Only stones. Only flowers.
Only hovering petals that drifted
as if they watched her move. She took a step toward the seam. The breathing stopped. Silence dropped so hard it
felt like a hand clamped over her ears
. Her pendant warmed
sharply
, then cooled, like it had hit resistance. Aurora froze. Her eyes tracked the seam’s edge. The darkness didn’t expand. It waited. From behind her—close enough to stir the air near her neck—came a sound like fabric brushing fabric. Not a full step. Not a shuffle. A close pass, careful. She didn’t rotate. She stared at the seam until her eyes watered. Her mind
calculated
distances based on the feel of pressure on her skin. A second pass brushed her again, then stopped. Aurora forced words out through clenched teeth. “Don’t stand behind me.” Her breath came shallow. She hated the way her fear turned into anger because anger gave her something to aim at. She used it like a tool. “Who are you?” she demanded. The response came as a soft movement in the flowers. Petals drifted downward. They landed on the ground in a pattern that looked accidental until Aurora noticed the spacing. The petals formed a rough circle around her boots—too even to count as falling. Inside the circle, the pendant’s crimson light dimmed, then flared. Aurora’s scar on her wrist itched. She stared down at it, then at the pendant chain. The silver link nearest her chest had gone cold. She pulled the pendant free and held it in the air between her and the seam. The seam
shimmered
in anger at the distance. Her
stomach
tightened. She backed a step, and the pendant continued to warm as if it had caught the direction of the portal’s pull and refused to let go. The circle of petals
trembled
. A third sound came, closer than the brushing. It
sounded like nails tapping stone in a slow
rhythm: once, pause, once, pause—waiting for her to respond. Aurora didn’t step back again. She lowered the pendant until the glow faced the seam’s edge. The air thickened. Her skin prickled. The grove’s
silence
tightened like a noose around her thoughts. A
whisper
scraped out of the seam. Not gibberish. Not a threat with teeth. A set of instructions delivered like an old song. “Take… the… door.” Aurora’s mouth went dry. She kept her tone blunt because softness invited more of it. “I came for the portal. I don’t take anything. I don’t steal.” The seam breathed again. The pressure shifted. The hovering petals lifted a few inches, then settled, as if the grove had decided on a new position for the scene.
Then her pendant pulsed hard
enough to hurt. Aurora flinched and clutched it against her palm. Crimson light bled into the veins along her fingers. Her eyes burned. A movement erupted at the corner of her vision—something tall and narrow, too upright for a person in the dark and too thin for an animal. It didn’t enter the light. It stayed half-hidden behind an oak trunk, an outline that refused to keep a consistent shape. Aurora stared and watched the outline adjust, sliding its edges until it matched whatever her mind expected to see. When she refused to blink, it couldn’t decide what it wanted to
look
like and stalled on a shape that made her
stomach
roll. She stepped sideways, slow. The outline slid with her. It kept the distance. Aurora spoke to it without taking her eyes off the changing edges. “You’re behind me and you’re in front of me. Which one are you?” The grove answered by shifting the sound of the breathing. It came from her left. Then her right.
Then directly above her, where
no one stood. Her neck hairs rose as if a warm presence hovered there. Aurora lifted her gaze toward the seam and held the pendant steady like a lit match near a curtain. “I don’t care about riddles. I need a way through. I need—” Her throat tightened on the last word because the reason she’d come snapped into focus too
sharply
. The reason had a face she didn’t like, a name she had learned to avoid in quiet rooms. She swallowed. “I need out of what I fell into.” The seam
pulsed
once, sharp and bright. For a second, she saw inside it. Not a room. Not a landscape. A thick corridor of shadow with pale lines running through it like veins. The pale lines moved without her touching them, sliding as if something in the corridor adjusted itself to her attention. Aurora’s hand shook. She didn’t put the pendant down. She kept her grip and forced her body not to retreat. “I’m not asking for help,” she said, voice lower now, directed at the seam, at the thing that breathed, at the outline behind the oak. “I’m taking the door the way anyone takes a door.” The tapping nails returned, faster. Tap-tap-tap. The sound came from the seam’s edge now, not from behind her. The air
vibrated
with each tap. Aurora’s breath hitched. She felt the grove leaning in around her, the wildflowers and stones tightening their spacing like a crowd at a show. Her eyes
flicked
to the petal circle. The petals had stopped trembling. They sat pressed into the ground as if they had always belonged there. Aurora looked back at the seam. The breathing sped up. The darkness thickened until the seam looked less like an opening and more like something clamped shut and forcing itself into the shape of an entrance. A new sound slid under the nails tapping: a wet click, too small to belong to stone. It came from the air itself, from a spot just above her left shoulder. Aurora didn’t turn.
She lifted her left wrist
instead, scar visible in the crimson glow, and pointed her thumb toward the sound’s source like she could accuse the air. “Don’t touch me,” she said. The tapping stopped. Silence clamped down so
suddenly
it made her ears ring. Aurora listened for her own heartbeat. She held still long enough for the sound to catch up. Each beat sounded harsher than the last, like her body
tried to
warn her it had no control left. The seam opened wider. Light didn’t spill through. Darkness didn’t pour out.
Instead, the air around Aurora
bent, and her pendant’s glow dragged across her palm as if the line between objects had thickened. Her skin cooled. Her lungs filled with a smell like crushed herbs in a funeral home. Aurora took a step toward the seam and raised the pendant higher. A figure pushed against the darkness from within. Not fully formed—more like shadow pressed into the outline of a person. It had the suggestion of shoulders and a head, and the edges of it
shimmered
like heat haze. Her
stomach
turned because she
could feel
eyes on her without seeing them. The shape leaned forward. Aurora lifted her chin. “You don’t get to act like you live here.” The figure jerked, as if her words
disrupted
whatever it used to hold its shape. It pulled back a fraction, then surged forward again, testing the seam’s boundary like a mouth tasting air. The nails tapping started again, slower this time,
measured
. Tap. Pause. Tap. Pause. A
whisper
curled from the seam and slid along her teeth. “Door… door… door…” Aurora
clenched her jaw
until her scar ached. “I came for a portal,” she repeated, and pushed the pendant toward the seam’s edge. “You don’t get to make it a game.” The pendant warmed so fast it burned. Aurora swallowed a hiss and forced her hand to hold steady. For a heartbeat, the seam’s darkness clarified. She saw pale lines in the corridor stretching toward her like roots. The corridor didn’t wait for her; it reached. Her eyes tracked the nearest pale line. It moved closer, sliding along the air, and it left a faint mark of cold behind it. Aurora jerked her hand back, and the pendant chain snapped against her skin with a sting. The figure inside the seam froze. The
whisper
stopped. The nails went quiet. In the sudden calm, the grove’s background noise returned: a far-off hum from somewhere in the trees, a low note that didn’t fit with the night. Aurora pressed her tongue to the roof of her mouth, tasting iron. She forced her breathing to slow. She took one careful step backward, heel lifting then landing on solid ground. The petal circle didn’t shift. The stones didn’t move. Yet the pressure around her changed, like the grove adjusted its grip to keep her at the centre of its attention. Aurora stared at the seam and kept the pendant in her open palm, glow dimmed but present. “I’m not your door,” she said. The
whisper
came again, softer and closer, like breath right next to her ear. “Aurora Carter.” The cold snapped across her shoulder. Not from a hand. From a presence sliding into the space her body used for
warmth
. Aurora didn’t turn. She backed another step, slow enough to count. Her pendant
pulsed
once, twice, then steadied as if it had finally found a stable rhythm. Ahead, the seam waited. Behind, the air held that wrong pressure. Aurora kept her eyes on the darkness and didn’t blink, because the second she let her gaze wander, the outline would follow.
created_at
"2026-03-18T10:54:36.232Z"
3/18/2026, 10:54:36 AM
model
"openai/gpt-5.4-nano-20260317"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
14768
moderation_latency
(null)
generation_time
23820
tokens_prompt
1038
tokens_completion
5133
native_tokens_prompt
916
native_tokens_completion
4185
native_tokens_completion_images
0
native_tokens_reasoning
576
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"completed"
usage
0.00541445
router
(null)
provider_responses
0
endpoint_id
"0c835f2e-c18d-4e8c-b245-e1e3bd08b97f"
id
"resp_0f9673b661c396180169ba846c49dc8196a9a397b3edaff36b"
is_byok
false
latency
191
model_permaslug
"openai/gpt-5.4-nano-20260317"
provider_name
"OpenAI"
status
200
user_agent
"langchainjs-openai/1.0.0 ((node/v24.14.0; linux; x64))"
http_referer
(null)
api_type
"completions"
id
"gen-1773831276-5GtcW2ETx3NAFoWbQSXL"
upstream_id
"resp_0f9673b661c396180169ba846c49dc8196a9a397b3edaff36b"
total_cost
0.00541445
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
9
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
24
tagDensity
0.375
leniency
0.75
rawRatio
0
effectiveRatio
0
93.11%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
2904
totalAiIsmAdverbs
4
found
0
adverb
"carefully"
count
1
1
adverb
"sharply"
count
2
2
adverb
"suddenly"
count
1
highlights
0
"carefully"
1
"sharply"
2
"suddenly"
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)
31.13%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
2904
totalAiIsms
40
found
0
word
"pulsed"
count
6
1
word
"warmth"
count
6
2
word
"familiar"
count
2
3
word
"scanning"
count
1
4
word
"silence"
count
4
5
word
"footsteps"
count
1
6
word
"scanned"
count
1
7
word
"pulse"
count
1
8
word
"shimmered"
count
3
9
word
"chill"
count
1
10
word
"calculated"
count
1
11
word
"stomach"
count
3
12
word
"trembled"
count
1
13
word
"whisper"
count
4
14
word
"vibrated"
count
1
15
word
"flicked"
count
1
16
word
"could feel"
count
1
17
word
"disrupted"
count
1
18
word
"measured"
count
1
highlights
0
"pulsed"
1
"warmth"
2
"familiar"
3
"scanning"
4
"silence"
5
"footsteps"
6
"scanned"
7
"pulse"
8
"shimmered"
9
"chill"
10
"calculated"
11
"stomach"
12
"trembled"
13
"whisper"
14
"vibrated"
15
"flicked"
16
"could feel"
17
"disrupted"
18
"measured"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"clenched jaw/fists"
count
1
highlights
0
"clenched her jaw"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
1
narrationSentences
296
matches
0
"d in anger"
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
3
narrationSentences
296
filterMatches
0
"look"
hedgeMatches
0
"tried to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
311
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
27
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
2894
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
17
unquotedAttributions
0
matches
(empty)
83.33%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
38
wordCount
2755
uniqueNames
3
maxNameDensity
1.31
worstName
"Aurora"
maxWindowNameDensity
2.5
worstWindowName
"Aurora"
discoveredNames
Richmond
1
Park
1
Aurora
36
persons
0
"Aurora"
places
0
"Richmond"
1
"Park"
globalScore
0.847
windowScore
0.833
96.24%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
186
glossingSentenceCount
4
matches
0
"felt like moss until her shoe dragged a"
1
"smelled like old iron and winter-green pla"
2
"felt like a hand clamped over her ears"
3
"sounded like nails tapping stone in a slow"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
1
per1kWords
0.346
wordCount
2894
matches
0
"not in the stone, but in the space beside it"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
311
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
141
mean
20.52
std
13.91
cv
0.678
sampleLengths
0
55
1
29
2
54
3
3
4
57
5
45
6
28
7
4
8
37
9
13
10
20
11
28
12
5
13
65
14
29
15
53
16
5
17
18
18
35
19
3
20
14
21
31
22
23
23
3
24
37
25
3
26
34
27
5
28
14
29
37
30
6
31
9
32
46
33
33
34
35
35
32
36
43
37
21
38
17
39
37
40
4
41
40
42
19
43
23
44
10
45
36
46
2
47
4
48
19
49
6
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
0
totalSentences
296
matches
(empty)
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
519
matches
(empty)
60.17%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
9
semicolonCount
1
flaggedSentences
9
totalSentences
311
ratio
0.029
matches
0
"Her lungs felt the change first, then her ears adjusted and found a new silence—thin, stretched, waiting."
1
"It slid—smooth, deliberate, like a person crossing a room with care not to touch furniture."
2
"A thin seam appeared, not in the stone, but in the space beside it—darkness that bent light away from it."
3
"From behind her—close enough to stir the air near her neck—came a sound like fabric brushing fabric."
4
"The petals formed a rough circle around her boots—too even to count as falling."
5
"It sounded like nails tapping stone in a slow rhythm: once, pause, once, pause—waiting for her to respond."
6
"A movement erupted at the corner of her vision—something tall and narrow, too upright for a person in the dark and too thin for an animal."
7
"Not fully formed—more like shadow pressed into the outline of a person."
8
"The corridor didn’t wait for her; it reached."
98.74%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
2775
adjectiveStacks
0
stackExamples
(empty)
adverbCount
115
adverbRatio
0.04144144144144144
lyAdverbCount
15
lyAdverbRatio
0.005405405405405406
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
311
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
311
mean
9.31
std
6.13
cv
0.659
sampleLengths
0
17
1
12
2
26
3
10
4
2
5
2
6
15
7
18
8
10
9
18
10
3
11
2
12
3
13
3
14
4
15
3
16
3
17
22
18
9
19
16
20
13
21
7
22
8
23
17
24
5
25
2
26
2
27
19
28
4
29
5
30
12
31
6
32
14
33
9
34
4
35
12
36
8
37
6
38
3
39
2
40
17
41
5
42
9
43
6
44
11
45
12
46
27
47
3
48
26
49
14
38.10%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
37
diversityRatio
0.18971061093247588
totalSentences
311
uniqueOpeners
59
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
10
totalSentences
270
matches
0
"Just darkness and the faint"
1
"Only empty air."
2
"Only stems and blossoms and"
3
"Then the shimmer thickened."
4
"Then her name landed clean."
5
"Only hovering petals that drifted"
6
"Then her pendant pulsed hard"
7
"Then her right."
8
"Then directly above her, where"
9
"Instead, the air around Aurora"
ratio
0.037
70.37%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
101
totalSentences
270
matches
0
"She kept her phone face-down"
1
"It pulsed once against her"
2
"She lifted her left wrist"
3
"She hated how her body"
4
"Her mind ran through the"
5
"She walked anyway."
6
"Her steps landed on a"
7
"She stopped a few paces"
8
"It didn’t shine outward like"
9
"It brightened inward, as if"
10
"She lifted her phone and"
11
"she said, and the word"
12
"Her lungs felt the change"
13
"She stepped through the stones."
14
"She kept moving with the"
15
"She went deeper until the"
16
"Her footsteps kept taking their"
17
"She stopped and listened harder."
18
"It moved from left to"
19
"Her shoulders pulled forward."
ratio
0.374
34.07%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
230
totalSentences
270
matches
0
"Aurora waited in the dark"
1
"The air bit through her"
2
"She kept her phone face-down"
3
"The pendant hung beneath her"
4
"It pulsed once against her"
5
"She lifted her left wrist"
6
"She hated how her body"
7
"Her mind ran through the"
8
"She walked anyway."
9
"The footpath swallowed sound."
10
"Gravel didn’t crunch."
11
"Leaves didn’t crack."
12
"Her steps landed on a"
13
"Each one carried lichen like"
14
"Each one stood too straight"
15
"She stopped a few paces"
16
"The grove offered no answer."
17
"Nothing that matched the map"
18
"The pendant warmed again."
19
"Aurora tugged the shirt open."
ratio
0.852
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
270
matches
(empty)
ratio
0
97.51%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
126
technicalSentenceCount
8
matches
0
"It brightened inward, as if something deep inside the stone had pulled it taut."
1
"The trees ahead held wildflowers, year-round bloom that shouldn’t have survived frost."
2
"Her footsteps kept taking their time, arriving late, spaced out."
3
"She watched the edge of her peripheral vision for the kind of shift that belonged to an animal."
4
"It stayed half-hidden behind an oak trunk, an outline that refused to keep a consistent shape."
5
"Her neck hairs rose as if a warm presence hovered there."
6
"The pale lines moved without her touching them, sliding as if something in the corridor adjusted itself to her attention."
7
"In the sudden calm, the grove’s background noise returned: a far-off hum from somewhere in the trees, a low note that didn’t fit with the night."
13.89%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
9
uselessAdditionCount
2
matches
0
"she said, and the word sounded too loud in the quiet"
1
"she said, and the word shook anyway"
66.67%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
9
fancyCount
2
fancyTags
0
"she demanded (demand)"
1
"she repeated (repeat)"
dialogueSentences
24
tagDensity
0.375
leniency
0.75
rawRatio
0.222
effectiveRatio
0.167
82.7778%