Run: 2026-04-24-01KQ03HRAQY47S1FN9V11T1SZP

Run Details

Duration:
7m 57s
Cost:
$0.064163
Provider:
Moonshot AI

Model input

System
You are an expert and award-winning novel writer in the dark Thriller genre. Your readers are hooked on your stories and can't wait to read the book you have in store. <important> - MUST: Start each chapter in medias res (in the middle of action). AVOID talking about the weather, time of day, the position of the sun, or other boring stuff. - The instructions/summary are just a that, a summary. Feel free to add details, stretch sections and add interesting transitions/descriptions/fillers. - When called for it, have fast-paced action, but otherwise take things slow. This is an experience, and not for people with short attention spans. Enjoy the wine, not slurp Red Bull. - Add descriptions when transitioning places/times/etc, or when coming by new places (e.g. a corner shop, a cafe, etc.). But remember: NOT at the start or end of a chapter. - MUST: AVOID ending in internal monologue, reminiscing or waiting for the next day. A good chapter end is when we're ending right when shit hits the fan. We want to have the reader be excited for what comes next. So no reminiscing, contemplating or summarizing the day. It's popcorn time! </important>
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <codex> <character id="4416" name="Detective Harlow Quinn" aliases="Quinn, Detective Quinn, Harlow" pronouns="she/her" species="Human" storyRole="Antagonist"> <eyeColor>brown</eyeColor> <hair>closely cropped salt-and-pepper</hair> <height>5'9"</height> <age>41</age> <jawline>sharp jaw</jawline> <watch>worn leather watch on her left wrist</watch> <bearing>military precision</bearing> <description>A Metropolitan Police detective with 18 years of decorated service who suspects the clique is involved in criminal activity.</description> <backstory>She lost her partner, DS Morris, during a case three years ago under unexplained circumstances that had supernatural origins she doesn't yet understand.</backstory> </character> <character id="4417" name="Tomás Herrera" aliases="Tommy, Tomás, Herrera" pronouns="he/him" species="Human" storyRole="Support"> <eyeColor>warm brown</eyeColor> <hair>short curly dark brown</hair> <height>5'10"</height> <age>29</age> <skinTone>olive skin</skinTone> <scar>scar running along his left forearm from a knife attack</scar> <medallion>Saint Christopher medallion around his neck</medallion> <birthplace>Seville, Spain</birthplace> <description>A former paramedic who provides off-the-books medical care for the clique.</description> <backstory>Born in Seville, Spain. He moved to London to work for the NHS but lost his license after administering unauthorized treatments to supernatural patients.</backstory> </character> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> <location id="856" name="The Veil Market" aliases="Veil Market, the Market, underground market" realm="Earth"> <currentLocation>abandoned Tube station beneath Camden</currentLocation> <entryRequirement>bone token</entryRequirement> <schedule>moves locations every full moon</schedule> <description>A hidden supernatural black market that sells enchanted goods, banned alchemical substances, and information.</description> </location> </codex> <proseGuidelines> <styleGuide> - Write in past tense and use British English spelling and grammar - Keep a Flesch reading ease score of 60 - Respect the the Royal Order of Adjectives: The order is: opinion, size, age, shape, color, origin, material, purpose, followed by the noun itself (e.g., "a lovely little old rectangular green French silver whittling knife") - Respect the ablaut reduplication rule (e.g. tick-tock, flip-flop) - Write in active voice - Passive voice: <bad>The book was read by Sarah.</bad> - Active voice: <good>Sarah read the book.</good> - Reduce the use of passive verbs - <bad>For a moment, I was tempted to throw in the towel.</bad> - <good>For a moment, I felt tempted to throw in the towel.</good> - Avoid misplaced modifiers that can cause confusion when starting with "-ing" words: - <bad>Considering going to the store, the empty fridge reflected in Betty's eyes.</bad> - <good>Betty stared into the empty fridge. It was time to go to the store.</good> - Avoid redundant adverbs that state the obvious meaning already contained in the verb: - <bad>She whispered quietly to her mom.</bad> - <good>She whispered to her mom.</good> - Use stronger, more descriptive verbs over weak ones: - <bad>Daniel drove quickly to his mother's house.</bad> - <good>Daniel raced to his mother's house.</good> - Omit adverbs that don't add solid meaning like "extremely", "definitely", "truly", "very", "really": - <bad>The movie was extremely boring.</bad> - <good>The movie was dull.</good> - Use adverbs to replace clunky phrasing when they increase clarity: - <bad>He threw the bags into the corner in a rough manner.</bad> - <good>He threw the bags into the corner roughly.</good> - Avoid making simple thoughts needlessly complex: - <bad>After I woke up in the morning the other day, I went downstairs, turned on the stove, and made myself a very good omelet.</bad> - <good>I cooked a delicious omelet for breakfast yesterday morning.</good> - Never backload sentences by putting the main idea at the end: - <bad>I decided not to wear too many layers because it's really hot outside.</bad> - <good>It's sweltering outside today, so I dressed light.</good> - Omit nonessential details that don't contribute to the core meaning: - <bad>It doesn't matter what kind of coffee I buy, where it's from, or if it's organic or not—I need to have cream because I really don't like how the bitterness makes me feel.</bad> - <good>I add cream to my coffee because the bitter taste makes me feel unwell.</good> - Always follow the "show, don't tell" principle. For instance: - Telling: <bad>Michael was terribly afraid of the dark.</bad> - Showing: <good>Michael tensed as his mother switched off the light and left the room.</good>- Telling: <bad>I walked through the forest. It was already Fall, and I was getting cold.</bad> - Showing: <good>Dry orange leaves crunched under my feet. I pulled my coat's collar up and rubbed my hands together.</good>- Add sensory details (sight, smell, taste, sound, touch) to support the "showing" (but keep an active voice) - <bad>The room was filled with the scent of copper.</bad> - <good>Copper stung my nostrils. Blood. Recent.</good> - Use descriptive language more sporadically. While vivid descriptions are engaging, human writers often use them in bursts rather than consistently throughout a piece. When adding them, make them count! Like when we transition from one location to the next, or someone is reminiscing their past, or explaining a concept/their dream... - Avoid adverbs and clichés and overused/commonly used phrases. Aim for fresh and original descriptions. - Avoid writing all sentences in the typical subject, verb, object structure. Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. Like so: <good>Locked. Seems like someone doesn't want his secrets exposed. I can work with that.</good> - Convey events and story through dialogue. It is important to keep a unique voice for every character and make it consistent. - Write dialogue that reveals characters' personalities, motivations, emotions, and attitudes in an interesting and compelling manner - Leave dialogue unattributed. If needed, only use "he/she said" dialogue tags and convey people's actions or face expressions through their speech. Dialogue always is standalone, never part of a paragraph. Like so: - <bad>"I don't know," Helena said nonchalantly, shrugging her shoulders</bad> - <good>"No idea" "Why not? It was your responsibility"</good> - Avoid boring and mushy dialog and descriptions, have dialogue always continue the action, never stall or include unnecessary fluff. Vary the descriptions to not repeat yourself. Avoid conversations that are just "Let's go" "yes, let's" or "Are you ready?" "Yes I'm ready". Those are not interesting. Think hard about every situtation and word of text before writing dialogue. If it doesn't serve a purpose and it's just people talking about their day, leave it. No one wants to have a normal dinner scene, something needs to happen for it to be in the story. Words are expensive to print, so make sure they count! - Put dialogue on its own paragraph to separate scene and action. - Use body language to reveal hidden feelings and implied accusations- Imply feelings and thoughts, never state them directly - NEVER use indicators of uncertainty like "trying" or "maybe" - NEVER use em-dashes, use commas for asides instead </styleGuide> <voiceGuide> Each character in the story needs to have distinct speech patterns: - Word choice preferences - Sentence length tendencies - Cultural/educational influences - Verbal tics and catchphrases Learn how each person talks and continue in their style, and use their Codex entries as reference. <examples> - <bad>"We need to go now." "Yes, we should leave." "I agree."</bad> <good>"Time's up." "Indeed, our departure is rather overdue." "Whatever, let's bounce."</good> - Power Dynamic Example: <bad> "We need to discuss the contract." "Yes, let's talk about it." "I have concerns." </bad> <good> "A word about the contract." "Of course, Mr. Blackwood. Whatever you need." "The terms seem..." A manicured nail tapped the desk. "Inadequate." "I can explain every-" "Can you?" </good> </examples> </voiceGuide> <dialogueFlow> When writing dialogue, consider that it usually has a goal in mind, which gives it a certain flow. Make dialogue sections also quite snappy in the back and forth, and don't spread the lines out as much. It's good to have details before, after, or as a chunk in-between, but we don't want to have a trail of "dialogue breadcrumbs" spread throughout a conversation. <examples> - Pattern 1 - Question/Deflection/Revelation: <good> "Where were you last night?" "Work. The usual." "Lipstick's an interesting shade for spreadsheets." </good> - Pattern 2 - Statement/Contradiction/Escalation: <good> "Your brother's clean." "Tommy doesn't touch drugs." "I'm holding his tox screen." </good> - Pattern 3 - Observation/Denial/Truth: <good> "That's a new watch." "Birthday gift." "We both know what birthdays mean in this business." </good> - Example - A Simple Coffee Order: <bad> "I'll have a coffee." "What size?" "Large, please." </bad> <good> "Black coffee.""Size?""Large. Been a long night." "That bodega shooting?" "You watch too much news." "My brother owns that store." </good> This short exchange: - Advances plot (reveals connection to crime) - Shows character (cop working late) - Creates tension (unexpected connection) - Sets up future conflict (personal stake) - Example - Dinner Scene: <bad> "Pass the salt." "Here you go." "Thanks." </bad> <good> "Salt?" "Perfect as is. Mother's recipe." "Mother always did prefer... bland things." "Unlike your first wife?" </good> - Example - Office Small Talk: <bad> "Nice weather today." "Yes, very nice." "Good for golf." </bad> <good> "Perfect golf weather." "Shame about your membership." "Temporary suspension. Board meets next week." "I know. I called the vote." </good> </examples> </dialogueFlow> <subtextGuide> - Layer dialogue with hidden meaning: <bad>"I hate you!" she yelled angrily.</bad> <good>"I made your favorite dinner." The burnt pot sat accusingly on the stove.</good> - Create tension through indirect communication: <bad>"Are you cheating on me?"</bad> <good>"Late meeting again?" The lipstick stain on his collar caught the light.</good> <examples> - Example 1 - Unspoken Betrayal: <bad> "Did you tell them about our plans?" "No, I would never betray you." "I don't believe you." </bad> <good> "Funny. Johnson mentioned our expansion plans today." "The market's full of rumors." "Mentioned the exact numbers, actually." The pen in his hand snapped. </good> - Example 2 - Failed Marriage: <bad> "You're never home anymore." "I have to work late." "I miss you." </bad> <good> "Your dinner's in the microwave. Again." "Meetings ran long." "They always do." She folded the same shirt for the third time. </good> - Example 3 - Power Struggle: <bad> "You can't fire me." "I'm the boss." "I'll fight this." </bad> <good> "That's my father's nameplate you're sitting behind." "Was." "The board meeting's on Thursday." </good> </examples> </subtextGuide> <sceneDetail> While writing dialogue makes things more fun, sometimes we need to add detail to not have it be a full on theatre piece. <examples> - Example A (Power Dynamic Scene) <good> "Where's my money?" The ledger snapped shut. "I need more time." "Interesting." He pulled out a familiar gold pocket watch. My mother's. "Time is exactly what you bargained with last month." "That was different-" "Was it?" The watch dangled between us. "Four generations of O'Reillys have wound this every night. Your mother. Your grandmother. Your great-grandmother.Shall we see who winds it next?" </good> - Example B (Action Chase) It's much better to be in the head of the character experiencing it, showing a bit of their though-process, mannerisms and personality: <good> Three rules for surviving a goblin chase in Covent Garden: Don't run straight. Don't look back. Don't let them herd you underground. I broke the first rule at Drury Lane. Rookie mistake. The fruit cart I dodged sailed into the wall behind me. Glass shattered. Someone screamed about insurance. *Tourist season's getting rough*, the scream seemed to say. Londoners adapt fast. "Oi! Market's closed!" The goblin's accent was pure East End. They're evolving. Learning. I spotted the Warren Street tube station sign ahead. *Shit.* There went rule three. </good> - Example C (Crime Scene Investigation) <good> "Greek." Davies snapped photos of the symbols. "No, wait. Reverse Greek." "Someone's been watching too many horror films." I picked up a receipt from the floor. Occult supply shop in Camden. Paid by credit card. *Amateur hour*. "Could be dangerous though," Davies said. "Remember Bristol?" "Bristol was Sanskrit. And actual cultists." I pointed to the nearest symbol. "This genius wrote 'darkness' backwards but used a Sigma instead of an S. It's summoning Instagram followers at best." "Speaking of followers..." Davies pointed to heavy foot traffic in the dust. Multiple sets. All new trainers. *Ah.* "Anyone check local uni paranormal societies?" </good> - Example D (Dialogue-heavy) <good> "Found your card in her wallet." The detective slid it across the table. Worn edges. Folded corner. Three years old at least. "Standard practice. I work missing persons." "Funny thing about missing persons.Eventually they stop being missing. Turn up in the Thames. Under motorways. In pieces." "I don't-" "You found four last year. All breathing." She opened a file. "This would've been your first dead one. If we hadn't found her first." The card felt heavier somehow. </good> </examples> </sceneDetail> <sceneOpenings> KEY RULE: Never open with more than one paragraph of description, no matter how beautiful. Description should be earned through action and dialogue. Instead of opening with setting description, open with: - A character doing something specific - A line of dialogue that raises questions - An unexpected observation - A moment of tension or conflict - Start with a hook that's 1-2 sentences maximum - Follow with a smaller paragraph that provides immediate context - Vary paragraph size from the start to create visual interest </sceneOpenings> </proseGuidelines> Write a chapter based on the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the thriller genre. A detective is pursuing a suspect through rain-soaked city streets at night. The chase takes them from the street level down into an underground market. The detective must decide whether to follow the suspect into unfamiliar and potentially dangerous territory. 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
Quinn's palm smacked the iron railing as the suspect vaulted the Camden Lock bridge. Water roared six metres below, black and hungry. She didn't break stride. Eighteen years of service and three years of hunting Morris's ghost had burned hesitation out of her muscles. The suspect, slight and wrapped in an olive waxed jacket, hit the towpath running. Quinn followed. Her worn leather watch cracked against the metal, the familiar sting grounding her. The sharp lines of her jaw ached from clenching. She'd let this one slip twice before. Not again. The towpath narrowed. Rain needled the back of her neck, cold and insistent. The suspect veered left, scrambling up a maintenance ladder to street level. Quinn grasped the rungs. Slick moss coated the metal, oozing between her fingers. She hauled herself up, salt-and-pepper hair plastered to her scalp. Above, the suspect darted across Camden High Street, weaving between stalled traffic. A black cab blared its horn. The suspect didn't flinch. They zig-zagged between a Deliveroo cyclist and a group of students spilling from a kebab shop. Quinn reached the pavement and sprinted. Her shoes slapped the wet tarmac. A night bus swept past, its tyres spraying dirty water across her trousers. Neon from a shuttered music shop spilled across the sodden ground, fragmenting in the oil slicks. The smell of fried food and diesel hung thick. Friday night crowds clogged the pavements, drunk and loud. The suspect used them as cover, ducking under a scaffold pole, knocking a paper cup from a tourist's hand. "Met Police!" Quinn's voice cut through the din. No one listened. She pushed through a cluster of teenagers huddled beneath a broken awning. The suspect had a lead of maybe ten metres, no more. They moved with an eerie economy, shoulders low, feet barely touching the ground. Not normal. Nothing about this case was normal. The clique she'd been surveilling for six months operated like smoke, leaving behind only traces: a stolen medical supply here, a corrupted CCTV feed there. And now this courier, running with a satchel that bulged and shifted against their spine as if something inside pressed back. The suspect hooked a sharp right into an alley between a betting shop and a boarded-up Off-Licence. Quinn followed. The alley stank of piss and rotting cardboard. Wheelie bins blocked the path. The suspect vaulted them. Quinn didn't. She shoved the first bin sideways, sending it clattering against the brickwork. Her shoulder clipped the second. Pain flared, white and brief. She ignored it. At the alley's end, the suspect stopped. For a heartbeat, they stood before a graffiti-covered door set into the station wall. Someone had scratched out the old Underground roundel above it, leaving only a pale circle on the brick. The suspect pulled something from their pocket, a small pale token, and pressed it to the door's centre. A latch clicked. Bone on metal. The sound vibrated in Quinn's molars. Quinn lunged. The suspect slipped through. The door swung shut. Quinn's fist hit the metal, the impact jarring her knuckles. She grasped the handle. Locked. No visible keyhole. She stepped back and drove her heel into the wood just beneath the latch. Once. Twice. The frame splintered. On the third strike, the door burst inward. Darkness swallowed the stairwell beyond. Not ordinary darkness. It pressed against her eyeballs, thick as velvet. Quinn paused on the threshold. The stairwell exhaled a chill that seeped through her jacket. Every instinct honed over nearly two decades told her to secure the perimeter, to wait for backup, to follow protocol. Morris had done exactly that. Morris was dead. She stepped through. She pulled her mobile, thumbed the torch. The beam caught motes of dust suspended in dead air. Decades-old posters peeled from the curved walls: a 1995 Oasis gig, a lost cat. The stairs descended into the abandoned Tube station beneath Camden, spiralling down into a silence that felt deliberate. Wet prints gleamed ahead. The suspect's trail. She descended. Each step groaned. Her torch beam trembled across cracked white tiles and a discarded tokens machine. At the bottom, the platform opened out. And so did the world. The Veil Market hummed. Quinn's breath caught. She'd raided black markets in docks, warehouses, condemned estates. Nothing compared. Stalls of twisted black wood lined the platform, crowding against the yellowed tiling. Bioluminescent fungi pulsed in glass jars, casting jagged shadows across faces that weren't quite right. A woman with too many joints in her fingers weighed purple powder on brass scales. At another stall, a hooded figure sorted through jars of eyes that blinked independently. A cage of songbirds with human teeth chirped a melody that scraped at her eardrums. The air reeked of ozone, copper, and something sweetly rotten. This was no ordinary underground. This was a cavity beneath the city where the rules of nature held no sway. Quinn stepped onto the platform. Her sensible shoes crunched on grit. Heads turned. Eyes, too many of them, fixed on her unmarked coat, her watch, the cut of her bearing that screamed authority. She didn't belong. She didn't have a bone token. She didn't care. The suspect was twenty metres ahead, moving through the crowd with purpose, heading toward a stall draped in crimson velvet. Quinn weaved between the stalls. A bony hand snatched at her sleeve. She twisted free. A vendor hissed something in a language that made her teeth ache. "Police!" The word sounded foreign here. A woman with scales tattooed across her throat stepped into her path. "No entry without tribute, copper." Quinn sidestepped. She didn't have time to decipher the rules of an invisible economy. The suspect reached the crimson stall. Quinn closed the gap. Ten metres. Five. She dove. They hit the ground in a tangle of limbs. The suspect's hood fell back, revealing a young face, genderless and pale, with ink-black eyes. No whites. Only black. The skin of their cheek bore a tattoo of a raven in flight, identical to the graffiti she'd photographed behind the Nest last Tuesday. Quinn's stomach lurched, but her hands already moved, wrenching the suspect's arm behind their back. The satchel strap snapped. Vials tumbled across the grimy platform. One shattered. Smoke hissed upward, green and acrid. The crowd recoiled, then surged forward with a collective intake of breath. Not fear. Hunger. Quinn ignored them. She flipped the suspect and pressed her knee into their sternum. Her fingers found the satchel's torn flap and pulled it open. Inside lay a leather wallet. She flipped it open. A Metropolitan Police badge stared back. Morris's badge. The number matched. The photograph, though altered, showed her dead partner's face stretched into a grin that split his cheeks too wide. The platform fell silent. Quinn looked up. The crowd had formed a ring around her, close and tight. The vendor from the crimson stall stood nearest, a curved bone blade in his hand. The blade dripped with something that steamed against the floor. At the stairs, two figures blocked the exit. They wore masks of polished wood, expressionless and smooth. The suspect beneath her laughed, a wet, rattling sound. "You shouldn't have come, Detective. The Market remembers those who enter without a token." Quinn's hand moved toward her cuffs. Her other hand inched toward the baton at her hip. The wooden masks tilted in unison. The bone blade rose. Behind her, the shattered vial's smoke coalesced into a shape with too many legs. It skittered across the tiles, clicking. Quinn drew her baton. The ring tightened.
created_at"2026-04-24T16:00:46.441Z" 4/24/2026, 4:00:46 PM
model"moonshotai/kimi-k2.6-20260420"
app_id182717
external_user(null)
streamedtrue
cancelledfalse
latency1943
moderation_latency(null)
generation_time476505
tokens_prompt4663
tokens_completion17071
native_tokens_prompt4163
native_tokens_completion15052
native_tokens_completion_images(null)
native_tokens_reasoning15106
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"
usage0.06416285
router(null)
provider_responses
0
endpoint_id"90b5957c-b5ba-485a-9b23-d3e9a8abffc1"
id"chatcmpl-69eb93b612323513714c8f7d"
is_byokfalse
latency1943
model_permaslug"moonshotai/kimi-k2.6-20260420"
provider_name"Moonshot AI"
status200
user_agent"langchainjs-openai/1.0.0 ((node/v24.14.1; linux; x64))"
http_referer(null)
request_id"req-1777046446-Pe190MuIDFpgtqGvjKcR"
session_id(null)
api_type"completions"
id"gen-1777046446-tVmCEVd24cV243zFuTqB"
upstream_id"chatcmpl-69eb93b612323513714c8f7d"
total_cost0.06416285
cache_discount(null)
upstream_inference_cost0
provider_name"Moonshot AI"
response_cache_source_id(null)

Evaluation details

Result Evaluator Details Meta Data
100.00% Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags1
adverbTagCount0
adverbTags(empty)
dialogueSentences4
tagDensity0.25
leniency0.5
rawRatio0
effectiveRatio0
96.02% AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount1255
totalAiIsmAdverbs1
found
0
adverb"sweetly"
count1
highlights
0"sweetly"
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)
48.21% AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount1255
totalAiIsms13
found
0
word"familiar"
count1
1
word"clenching"
count1
2
word"vibrated"
count1
3
word"velvet"
count2
4
word"chill"
count1
5
word"silence"
count1
6
word"trembled"
count1
7
word"pulsed"
count1
8
word"stomach"
count1
9
word"lurched"
count1
10
word"shattered"
count2
highlights
0"familiar"
1"clenching"
2"vibrated"
3"velvet"
4"chill"
5"silence"
6"trembled"
7"pulsed"
8"stomach"
9"lurched"
10"shattered"
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
narrationSentences156
matches(empty)
100.00% Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount2
hedgeCount0
narrationSentences156
filterMatches
0"watch"
hedgeMatches(empty)
100.00% Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences158
gibberishSentences0
adjustedGibberishSentences0
longSentenceCount0
runOnParagraphCount0
giantParagraphCount0
wordSaladCount0
repetitionLoopCount0
controlTokenCount0
repeatedSegmentCount0
maxSentenceWordsSeen25
ratio0
matches(empty)
100.00% Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans0
markdownWords0
totalWords1255
ratio0
matches(empty)
100.00% Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions2
unquotedAttributions0
matches(empty)
64.84% Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions42
wordCount1233
uniqueNames17
maxNameDensity1.7
worstName"Quinn"
maxWindowNameDensity3
worstWindowName"Quinn"
discoveredNames
Camden3
Lock1
Morris4
High1
Street1
Deliveroo1
Off-Licence1
Underground1
Quinn21
Oasis1
Tube1
Veil1
Market1
Nest1
Tuesday1
Metropolitan1
Police1
persons
0"Morris"
1"Quinn"
2"Market"
places
0"Camden"
1"Lock"
2"High"
3"Street"
globalScore0.648
windowScore0.667
100.00% Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences87
glossingSentenceCount0
matches(empty)
100.00% "Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches0
per1kWords0
wordCount1255
matches(empty)
100.00% Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount0
totalSentences158
matches(empty)
100.00% Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs33
mean38.03
std29.44
cv0.774
sampleLengths
022
169
286
378
411
590
663
77
862
92
1053
1162
1256
1330
144
15116
1645
1747
186
1917
2014
2115
2271
2329
2425
259
2630
274
2856
2923
3016
3130
327
100.00% Passive voice overuse
Target: ≤2% passive sentences
passiveCount0
totalSentences156
matches(empty)
100.00% Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount0
totalVerbs223
matches(empty)
100.00% Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount0
semicolonCount0
flaggedSentences0
totalSentences158
ratio0
matches(empty)
100.00% Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount1241
adjectiveStacks0
stackExamples(empty)
adverbCount29
adverbRatio0.023368251410153102
lyAdverbCount9
lyAdverbRatio0.007252215954875101
100.00% Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences158
echoCount0
echoWords(empty)
100.00% Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences158
mean7.94
std5.47
cv0.689
sampleLengths
014
18
24
318
414
52
613
79
87
92
103
1110
1212
134
149
1510
1612
176
184
1916
206
216
2213
2316
249
259
2619
278
283
2912
3011
3113
322
336
3425
3521
3617
372
388
395
404
412
4212
435
445
453
467
4714
4818
4918
46.84% Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats11
diversityRatio0.3227848101265823
totalSentences158
uniqueOpeners51
0.00% Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount0
totalSentences134
matches(empty)
ratio0
100.00% Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount31
totalSentences134
matches
0"She didn't break stride."
1"Her worn leather watch cracked"
2"She'd let this one slip"
3"She hauled herself up, salt-and-pepper"
4"They zig-zagged between a Deliveroo"
5"Her shoes slapped the wet"
6"She pushed through a cluster"
7"They moved with an eerie"
8"She shoved the first bin"
9"Her shoulder clipped the second."
10"She ignored it."
11"She grasped the handle."
12"She stepped back and drove"
13"It pressed against her eyeballs,"
14"She stepped through."
15"She pulled her mobile, thumbed"
16"Her torch beam trembled across"
17"She'd raided black markets in"
18"Her sensible shoes crunched on"
19"She didn't belong."
ratio0.231
34.63% Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount114
totalSentences134
matches
0"Quinn's palm smacked the iron"
1"Water roared six metres below,"
2"She didn't break stride."
3"The suspect, slight and wrapped"
4"Her worn leather watch cracked"
5"The sharp lines of her"
6"She'd let this one slip"
7"The towpath narrowed."
8"Rain needled the back of"
9"The suspect veered left, scrambling"
10"Quinn grasped the rungs."
11"She hauled herself up, salt-and-pepper"
12"A black cab blared its"
13"The suspect didn't flinch."
14"They zig-zagged between a Deliveroo"
15"Quinn reached the pavement and"
16"Her shoes slapped the wet"
17"A night bus swept past,"
18"Neon from a shuttered music"
19"The smell of fried food"
ratio0.851
0.00% Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount0
totalSentences134
matches(empty)
ratio0
89.95% Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences54
technicalSentenceCount4
matches
0"And now this courier, running with a satchel that bulged and shifted against their spine as if something inside pressed back."
1"The stairs descended into the abandoned Tube station beneath Camden, spiralling down into a silence that felt deliberate."
2"A cage of songbirds with human teeth chirped a melody that scraped at her eardrums."
3"The photograph, though altered, showed her dead partner's face stretched into a grin that split his cheeks too wide."
100.00% Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags1
uselessAdditionCount0
matches(empty)
100.00% Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags0
86.0158%