StorySpark: Module-wise Evolutionary Search for Story Premise Generation
摘要
Introduces StorySpark, a module-wise evolutionary search framework for LLM-based story premise generation, demonstrating consistent gains in originality and downstream story quality.
arXiv:2608.12336v1 Announce Type: new
Abstract: A story premise is the creative spark from which a full narrative can grow. Yet LLM-based story generation has mostly emphasized later-stage planning, controllability, coherence, and prose expansion, while premise-level ideation remains comparatively underexplored. We introduce StorySpark, a module-wise evolutionary search framework for story premise generation. StorySpark operates over interpretable narrative modules such as background, persona, event, ending, and twist, treating each active module not as a static field to fill once, but as a local search space conditioned on the partial premise built so far. For each module, it generates alternatives, evaluates them in context, refines them through feedback-driven mutation and recombination, preserves complementary strengths with Pareto-guided selection, and reallocates frontier capacity to balance branch coverage with promising directions. Multi-view automatic and human evaluations show that StorySpark produces stronger final premises than competitive baselines, with especially consistent gains in originality; when expanded with the same story writer, its premises also lead to higher-quality downstream stories while maintaining completeness, fascination, and diverse usable narrative directions.
查看缓存全文
缓存时间: 2026/08/14 09:25
# Module-wise Evolutionary Search for Story Premise Generation
Source: [https://arxiv.org/html/2608.12336](https://arxiv.org/html/2608.12336)
Yang Yang1,†, Zining Zhong1,†, Qian Cao2, Jindong Li1, Boyun Xu3, Kaishen Yuan1, Menglin Yang1, Yutao Yue1,4,∗ 1The Hong Kong University of Science and Technology \(Guangzhou\), Guangzhou 511400, China 2Renmin University of China, Beijing, China 3Shandong University, Weihai, China 4Institute of Deep Perception Technology, JITRI, Wuxi 214000, China †Equal contribution\.∗Corresponding author
###### Abstract
A story premise is the creative spark from which a full narrative can grow\. Yet LLM\-based story generation has mostly emphasized later\-stage planning, controllability, coherence, and prose expansion, while premise\-level ideation remains comparatively underexplored\. We introduce StorySpark, a module\-wise evolutionary search framework for story premise generation\. StorySpark operates over interpretable narrative modules such as background, persona, event, ending, and twist, treating each active module not as a static field to fill once, but as a local search space conditioned on the partial premise built so far\. For each module, it generates alternatives, evaluates them in context, refines them through feedback\-driven mutation and recombination, preserves complementary strengths with Pareto\-guided selection, and reallocates frontier capacity to balance branch coverage with promising directions\. Multi\-view automatic and human evaluations show that StorySpark produces stronger final premises than competitive baselines, with especially consistent gains in originality; when expanded with the same story writer, its premises also lead to higher\-quality downstream stories while maintaining completeness, fascination, and diverse usable narrative directions\.
StorySpark: Module\-wise Evolutionary Search for Story Premise Generation
## 1Introduction
> *“That premise will suggest the essence of the story, and we will use that to figure out how to develop it so as to get the most out of the idea\.”* — John Truby,The Anatomy of Story
High\-quality stories matter across fiction and screenwriting\(Field,[2005](https://arxiv.org/html/2608.12336#bib.bib36); Truby,[2008](https://arxiv.org/html/2608.12336#bib.bib30); Cron,[2012](https://arxiv.org/html/2608.12336#bib.bib31)\), as well as games, collaborative storytelling, and human\-AI narrative systems\(Akouryet al\.,[2020](https://arxiv.org/html/2608.12336#bib.bib4); Mirowskiet al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib32)\)\. A successful story requires fluent prose, coherent progression, and emotional engagement, but these qualities are difficult to sustain without a compelling story premise\(Field,[2005](https://arxiv.org/html/2608.12336#bib.bib36); Lyons,[2015](https://arxiv.org/html/2608.12336#bib.bib29); Truby,[2008](https://arxiv.org/html/2608.12336#bib.bib30)\)\. Such a premise is a compact early seed that captures a story’s main idea, foundation, and trajectory, and supports later expansion into narrative text\(Lyons,[2015](https://arxiv.org/html/2608.12336#bib.bib29); Maet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib33)\)\.
Recent LLM\-based story generation has advanced later\-stage narrative development through hierarchical and plan\-and\-write generation\(Fanet al\.,[2018](https://arxiv.org/html/2608.12336#bib.bib3); Yaoet al\.,[2019](https://arxiv.org/html/2608.12336#bib.bib5)\), controllable plot and event modeling\(Martinet al\.,[2018](https://arxiv.org/html/2608.12336#bib.bib20); Tambwekaret al\.,[2018](https://arxiv.org/html/2608.12336#bib.bib6)\), long\-form coherence, outline control, and recursive revision\(Parket al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib2); Yanget al\.,[2022](https://arxiv.org/html/2608.12336#bib.bib22),[2023](https://arxiv.org/html/2608.12336#bib.bib23); Zhuet al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib24); Xiaet al\.,[2025](https://arxiv.org/html/2608.12336#bib.bib1)\), and interactive or machine\-in\-the\-loop authoring\(Akouryet al\.,[2020](https://arxiv.org/html/2608.12336#bib.bib4); Mirowskiet al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib32)\)\. However, most of these efforts focus on how an existing narrative seed is planned, controlled, revised, or expanded into longer text\. The earlier ideation problem—how to produce a premise that is worth developing in the first place, as illustrated in Figure[1](https://arxiv.org/html/2608.12336#S1.F1)—has received comparatively less attention\.
Figure 1:A premise as the creative spark between an input theme and later outline or story expansion\.DOC improves long\-story coherence through detailed outline control, but its outline\-driven pipeline does not specifically optimize the premise as an early\-stage design artifact\(Yanget al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib23)\)\. DPWriter introduces planning\-level branching to promote diversity in complete creative\-writing responses, but its search is aimed at diverse downstream generations rather than quality\-guided premise construction\(Caoet al\.,[2026](https://arxiv.org/html/2608.12336#bib.bib35)\)\. MoPS is more premise\-centered: it represents a premise as modular components, evaluates premise quality, and synthesizes sampled module paths from a nested inventory into complete premises\(Maet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib33)\)\. However, its modular candidates are largely fixed after induction and are mainly used through path sampling and final synthesis, without repeatedly scoring, revising, recombining, or reallocating active candidates while the partial premise is being built\. Weak local choices may therefore persist, and a fixed candidate structure may fail to adapt capacity across directions with different promise or different trade\-offs among completeness, fascination, and originality\.
In this paper, we introduce StorySpark, a module\-wise evolutionary search framework for story premise generation\. StorySpark keeps the modular premise space introduced by MoPS, but turns construction into quality\-guided search over a growing partial premise\. Under a fixed parent prefix, it evolves the active module through feedback\-driven mutation and recombination, allowing weak initial candidates to be improved before their branches are discarded\. It then uses Pareto\-guided local selection to preserve candidates with different strengths across completeness, fascination, and originality, and reserve\-wildcard frontier allocation to balance branch coverage with extra capacity for promising directions\(Debet al\.,[2000](https://arxiv.org/html/2608.12336#bib.bib12); Mouret and Clune,[2015](https://arxiv.org/html/2608.12336#bib.bib13); Pughet al\.,[2016](https://arxiv.org/html/2608.12336#bib.bib14)\)\. Across premise\-level scoring, ablation and process analysis, pairwise validation, story\-level transfer, and quality\-aware diversity analysis, StorySpark consistently improves premise quality while showing that the gain is not merely an artifact of a single pointwise judge\.
In summary, our contributions are threefold:\(1\) Evolutionary premise search\.To the best of our knowledge, we are the first to formulate story premise generation as evolutionary search, moving premise\-level ideation beyond one\-shot prompting and static modular sampling\.\(2\) Prefix\-conditioned evolution\.We introduce a module\-wise framework with partial\-premise scoring, feedback\-driven mutation and recombination, Pareto\-guided local selection, and reserve\-wildcard frontier allocation\.\(3\) Premise\-and\-story validation\.We show through automatic and human scoring, ablations, pairwise validation, story\-level transfer, and quality\-aware diversity analysis that StorySpark improves premise quality, especially originality, without relying on a single evaluation view\.
## 2Related Work
### 2\.1Story Generation and Premise Design
Narrative planning, expansion, and premiseAutomatic story generation has moved from short\-prompt continuation toward structured pipelines for later\-stage narrative development\. Prior work studies hierarchical and plan\-and\-write generation\(Fanet al\.,[2018](https://arxiv.org/html/2608.12336#bib.bib3); Yaoet al\.,[2019](https://arxiv.org/html/2608.12336#bib.bib5)\), controllable plot and event modeling\(Tambwekaret al\.,[2018](https://arxiv.org/html/2608.12336#bib.bib6); Martinet al\.,[2018](https://arxiv.org/html/2608.12336#bib.bib20); Fanet al\.,[2019](https://arxiv.org/html/2608.12336#bib.bib21)\), long\-form coherence, outline control, and revision\(Parket al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib2); Yanget al\.,[2022](https://arxiv.org/html/2608.12336#bib.bib22),[2023](https://arxiv.org/html/2608.12336#bib.bib23); Zhuet al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib24); Xiaet al\.,[2025](https://arxiv.org/html/2608.12336#bib.bib1)\), and diverse planning\-level branching for creative writing\(Caoet al\.,[2026](https://arxiv.org/html/2608.12336#bib.bib35)\)\. These methods improve how systems develop or diversify narrative material after an instruction, seed, outline, or intent is provided, but they do not directly optimize the compact premise seed itself\. Premise\-centered work takes a more direct step: MoPS represents a premise as a modular object composed of theme, background, persona, and plot\-related components, then samples module paths from a nested inventory and synthesizes them into complete premises\(Maet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib33)\)\. StorySpark adopts this modular premise space, but changes the optimization regime: rather than sampling final designs from a static inventory, it searches over each module under a fixed partial\-premise prefix, allowing candidate modules to be scored, revised, recombined, and selected while the premise is being built\.
Interactive creative ideation\.Interactive writing and story\-ideation systems show that generated suggestions are most useful when they fit an evolving creative context and help writers explore alternatives rather than commit to a single continuation\(Leeet al\.,[2022](https://arxiv.org/html/2608.12336#bib.bib7); Akouryet al\.,[2020](https://arxiv.org/html/2608.12336#bib.bib4)\)\. TaleBrush\(Chunget al\.,[2022](https://arxiv.org/html/2608.12336#bib.bib37)\)gives writers sketch\-based control for story ideation, while ABScribe\(Rezaet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib38)\)supports rapid exploration and comparison of multiple LLM\-generated writing variations\(Chunget al\.,[2022](https://arxiv.org/html/2608.12336#bib.bib37); Rezaet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib38)\)\. These systems highlight a premise\-level challenge: early ideation often requires repeatedly exploring, comparing, and revising alternative narrative seeds before committing to a full story\. StorySpark systematizes this exploration process by formulating premise construction as module\-wise evolutionary search, using automatic scoring, mutation, recombination, and selection to produce premise candidates that can be inspected, compared, and further developed before later story expansion\.
### 2\.2LLM\-driven Search and Evaluation for Creative Generation
LLM\-driven evolutionary and iterative search\.Recent LLM\-driven search and refinement systems suggest that open\-ended artifacts can be improved through repeated proposal, evaluation, selection, and feedback\-driven revision\. In code and algorithm discovery, FunSearch and AlphaEvolve place language models inside search loops with automatic evaluators, while ShinkaEvolve studies more sample\-efficient open\-ended program evolution\(Romera\-Paredeset al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib26); Novikovet al\.,[2025](https://arxiv.org/html/2608.12336#bib.bib11); Langeet al\.,[2025](https://arxiv.org/html/2608.12336#bib.bib10)\)\. In language generation, Self\-Refine shows that feedback\-driven revision can improve model outputs through iterative self\-feedback\(Madaanet al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib27)\)\. StorySpark draws on both views, but moves the search loop to a different granularity: instead of optimizing complete programs or revising complete generated outputs, it evolves current\-module candidates under fixed premise prefixes\. This smaller and more controlled search unit makes candidates easier to compare and links score changes more directly to specific narrative decisions such as background, persona, event, ending, or twist\.
Evaluation for creative search\.Evaluation is tightly coupled to this search design\. MoPS evaluates premises with pointwise LLM scores for fascination, completeness, and originality, and measures diversity through breadth and density\(Maet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib33)\)\. More broadly, recent evaluator work studies rubric\-based LLM judging, LLM\-as\-judge protocols, and pairwise ranking\(Kimet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib8); Zhenget al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib9); Jianget al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib25); Caoet al\.,[2025](https://arxiv.org/html/2608.12336#bib.bib34)\), while classical pairwise models provide foundations for relative preference estimation\(Bradley and Terry,[1952](https://arxiv.org/html/2608.12336#bib.bib15); Glickman and Jones,[1999](https://arxiv.org/html/2608.12336#bib.bib16)\)\. Pointwise scores are efficient enough to guide repeated local search, but creative artifacts are difficult to validate with a single calibrated scalar judgment\. StorySpark therefore uses pointwise judges as search\-time signals and validates final premises through complementary pointwise, pairwise, downstream, and diversity\-oriented views\.
## 3Method
StorySpark is a module\-wise evolutionary search framework for story premise generation, as illustrated in Fig[2](https://arxiv.org/html/2608.12336#S3.F2)\. It follows the modular premise view of MoPS\(Maet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib33)\), but changes how this space is used\. Instead of sampling a complete key path from a static module inventory, StorySpark grows a premise one module at a time through quality\-guided search\. Given a fixedtheme, it maintains a frontier of partial module paths\. For each frontier branch, the current module is searched under the branch’s fixed prefix: candidates are generated, placed back into context for scoring, improved through mutation and crossover, and promoted through quota\-based allocation\. This keeps the modular structure interpretable while making each module revisable during construction\.
We useα\\alphafor thetheme, which serves as the root condition rather than an active module\. The*active module sequence*isℳ=\(m1,…,m5\)\\mathcal\{M\}=\(m\_\{1\},\\ldots,m\_\{5\}\), corresponding tobackground,persona,event,ending, andtwist\. A*module candidate*ctc\_\{t\}fills the current modulemtm\_\{t\}; a*module prefix*x1:t−1x\_\{1:t\-1\}is the upstream path selected so far; a*materialized partial premise*ztz\_\{t\}is the temporary natural\-language premise synthesized from the theme, prefix, and current candidate for scoring; and a*frontier*ℱtα\\mathcal\{F\}^\{\\alpha\}\_\{t\}is the set of partial module paths retained after modulemtm\_\{t\}\.
Figure 2:Overview of StorySpark\. Given a theme, each frontier branch evolves current\-module candidates under a fixed prefix using contextual scoring; quota\-based allocation promotes selected descendants to the next frontier\.### 3\.1Theme\-conditioned Modular Evolution
StorySpark represents a premise as an ordered module path conditioned on a fixed theme\. Following the MoPS\-style modular view,backgroundspecifies the story world,personaintroduces the driving character configuration, andevent,ending, andtwistspecify the plot trajectory and payoff\. We treat these five components as active modules and search them under an increasingly specific narrative prefix\.
For each themeα\\alpha, StorySpark initializesℱ0α=\{∅\}\\mathcal\{F\}\_\{0\}^\{\\alpha\}=\\\{\\emptyset\\\}\. At modulemtm\_\{t\}, each node from the previous frontier
x1:t−1\(b\)=\(c1\(b\),…,ct−1\(b\)\)∈ℱt−1α,x\_\{1:t\-1\}^\{\(b\)\}=\(c\_\{1\}^\{\(b\)\},\\ldots,c\_\{t\-1\}^\{\(b\)\}\)\\in\\mathcal\{F\}\_\{t\-1\}^\{\\alpha\},\(1\)serves as a parent branchbb, whereci\(b\)c\_\{i\}^\{\(b\)\}is the selected candidate for modulemim\_\{i\}\. StorySpark then opens a local candidate pool𝒫t\(b\)\\mathcal\{P\}\_\{t\}^\{\(b\)\}for the current module under this fixed prefix\. For example, when searching for a persona, the LLM observes the theme and selected background, but proposes only persona candidates\. Thus, generation remains local while scoring remains prefix\-conditioned\.
At modulemtm\_\{t\},BtB\_\{t\}denotes the per\-branch frontier capacity,Rt≤BtR\_\{t\}\\leq B\_\{t\}the reserved quota, andGtG\_\{t\}the target local\-pool size after evolution\. For each parent branch, the initializer proposesBtB\_\{t\}seed candidates conditioned on the theme and prefix\. Local evolution expands the pool to
𝒫t\(b\)=\{ct\(b,1\),…,ct\(b,Gt\)\}\.\\mathcal\{P\}\_\{t\}^\{\(b\)\}=\\\{c\_\{t\}^\{\(b,1\)\},\\ldots,c\_\{t\}^\{\(b,G\_\{t\}\)\}\\\}\.\(2\)Eachct\(b,i\)c\_\{t\}^\{\(b,i\)\}is a candidate for the current module rather than a complete premise\.
StorySpark expands each local pool with mutation and crossover\. Mutation rewrites one candidate using its previous text and judge feedback, while crossover fuses two candidates from the same pool using feedback from both parents\. Both operators keep the theme and upstream modules fixed, and only modify the current module\. Typed modules such as background and persona are checked against predefined module\-type constraints\.
### 3\.2Local Scoring and Evolutionary Control
A module fragment cannot be judged reliably in isolation, because its value depends on the prefix it extends\. StorySpark therefore first places each current\-module candidate back into context\. LetMatt\(⋅\)\\operatorname\{Mat\}\_\{t\}\(\\cdot\)denote the partial\-premise synthesis operation\. Given the theme, fixed prefix, current module identity, and current\-module candidate, it produces a contextually readable partial premise:
zt\(b,i\)=Matt\(α,x1:t−1\(b\),mt,ct\(b,i\)\)\.z\_\{t\}^\{\(b,i\)\}=\\operatorname\{Mat\}\_\{t\}\\left\(\\alpha,\\,x\_\{1:t\-1\}^\{\(b\)\},\\,m\_\{t\},\\,c\_\{t\}^\{\(b,i\)\}\\right\)\.\(3\)zt\(b,i\)z\_\{t\}^\{\(b,i\)\}is a temporary premise used to scorect\(b,i\)c\_\{t\}^\{\(b,i\)\}under branchbb\.
An LLM judge scores each materialized partial premise along three quality dimensions:
𝐪\(zt\(b,i\)\)=\(qfas,qcom,qori\),\\mathbf\{q\}\(z\_\{t\}^\{\(b,i\)\}\)=\(q\_\{\\mathrm\{fas\}\},q\_\{\\mathrm\{com\}\},q\_\{\\mathrm\{ori\}\}\),\(4\)where the dimensions denote fascination, completeness, and originality\. For intermediate states, completeness is interpreted relative to the available prefix: it measures whether the partial premise provides coherent and useful information for subsequent module development, rather than whether it already forms a complete final premise\. For brevity, we write𝐪\(ct\(b,i\)\)\\mathbf\{q\}\(c\_\{t\}^\{\(b,i\)\}\)for the score assigned through its materialized partial premise\.
The three dimensions are not collapsed into a single scalar during local selection\. A candidate may be original but incomplete, or complete but less surprising; averaging too early can remove alternatives that later modules could make useful\. StorySpark therefore treats the scores as a multi\-objective vector\. CandidateaaPareto\-dominates candidatebbif it is no worse on all dimensions and strictly better on at least one\. Non\-dominated sorting assigns each candidate a Pareto rankr\(c\)r\(c\), where a smaller rank is better\.
To avoid filling a local pool with near\-duplicates, StorySpark also computes local crowding from embeddings of current\-module candidate texts\. Since all candidates in one pool share the same theme and prefix, this directly measures non\-redundancy among alternative fillings of the current module\.
Parents for further variation are sampled using both quality and diversity:
w\(c\)\\displaystyle w\(c\)=ϵ\+d~\(c\)max\(r\(c\),1\),\\displaystyle=\\frac\{\\epsilon\+\\tilde\{d\}\(c\)\}\{\\max\(r\(c\),1\)\},\(5\)p\(c\)\\displaystyle p\(c\)=w\(c\)∑c′∈𝒫t\(b\)w\(c′\)\.\\displaystyle=\\frac\{w\(c\)\}\{\\sum\_\{c^\{\\prime\}\\in\\mathcal\{P\}\_\{t\}^\{\(b\)\}\}w\(c^\{\\prime\}\)\}\.whered~\(c\)\\tilde\{d\}\(c\)is normalized local crowding andϵ\\epsilonis a smoothing constant\. At each expansion step, StorySpark applies mutation with probabilityμt\\mu\_\{t\}and crossover otherwise, until the local pool reachesGtG\_\{t\}\. Invalid, duplicate, type\-conflicting, or materialization\-failed candidates are filtered before entering the local pool\.
### 3\.3Quota\-based Frontier Allocation
After local evolution, StorySpark allocates the next frontier across competing parent branches\. A purely global top\-kkrule may collapse the search into a few strong branches too early, while a purely branch\-local rule may preserve coverage but weaken cross\-branch competition\. StorySpark therefore uses quota\-based frontier allocation to balance branch coverage with competition among promising candidates\.
The allocation has two parts\. The*reserved quota*gives each parent branchRtR\_\{t\}positions, filled by strong and diverse candidates from its own local pool\. The*shared quota*sends runner\-up candidates from all branches into a shared pool, where they compete for the remaining capacity at the same module layer\. Thus, every branch keeps minimum coverage, while branches with multiple strong candidates can receive extra positions\.
Reserved\-quota and shared\-quota candidates are selected by the following sorting keys:
Reserved:\(PR↑,LC↓,TB↑\),Shared:\(GPR↑,Ov↓,LC↓,TB↑\),\\displaystyle\\begin\{aligned\} \\textsc\{Reserved\}:&\\quad\(\\mathrm\{PR\}\\uparrow,\\mathrm\{LC\}\\downarrow,\\mathrm\{TB\}\\uparrow\),\\\\ \\textsc\{Shared\}:&\\quad\(\\mathrm\{GPR\}\\uparrow,\\mathrm\{Ov\}\\downarrow,\\mathrm\{LC\}\\downarrow,\\mathrm\{TB\}\\uparrow\),\\end\{aligned\}\(6\)where PR, GPR, LC, TB, and Ov denote local Pareto rank, global Pareto rank, local crowding, deterministic tie\-breaking, and average quality score\. Sorting uses ascending order for PR, GPR, and TB, and descending order for LC and Ov\. GPR is recomputed over the shared pool, while LC is retained from each candidate’s original local pool\.
We chooseGt≥BtG\_\{t\}\\geq B\_\{t\}so that each local pool can supply its reserved\-quota candidates while retaining runner\-up candidates for shared\-quota competition\. The next frontier size and shared\-quota capacity are
\|ℱtα\|\\displaystyle\\left\|\\mathcal\{F\}^\{\\alpha\}\_\{t\}\\right\|=Bt\|ℱt−1α\|,\\displaystyle=B\_\{t\}\\left\|\\mathcal\{F\}^\{\\alpha\}\_\{t\-1\}\\right\|,\(7\)Ht\\displaystyle H\_\{t\}=\(Bt−Rt\)\|ℱt−1α\|\.\\displaystyle=\(B\_\{t\}\-R\_\{t\}\)\\left\|\\mathcal\{F\}^\{\\alpha\}\_\{t\-1\}\\right\|\.whereHtH\_\{t\}is the shared\-quota capacity at modulemtm\_\{t\}\. Each promoted current\-module candidate is attached back to its original parent prefix:
x1:t\(b,i\)=\(x1:t−1\(b\),ct\(b,i\)\)\.x\_\{1:t\}^\{\(b,i\)\}=\(x\_\{1:t\-1\}^\{\(b\)\},c\_\{t\}^\{\(b,i\)\}\)\.\(8\)Thus, the shared quota introduces cross\-branch competition but not cross\-branch recombination\.
After the twist module is completed, each full module path\(α,c1,…,c5\)\(\\alpha,c\_\{1\},\\ldots,c\_\{5\}\)is synthesized by an LLM into a compact final premise and evaluated with the same three quality dimensions\. Thus, final scores measure the completed premise rather than only intermediate partial states\. Budget values, decoding settings, validity filtering, implementation details, and full pseudocode are provided in the experimental setup and Appendix[A](https://arxiv.org/html/2608.12336#A1)\. Prompt templates are provided in Appendix[B](https://arxiv.org/html/2608.12336#A2)\.
## 4Experiment Setup
We evaluate StorySpark using the MoPS genre domains, released baseline assets, and three shared quality dimensions\. We assess final\-premise quality, quality\-conditioned coverage, module\-wise search behavior, premise\-to\-story transfer, pairwise preference, independent rerating, and human ratings\.
### 4\.1Baselines and Comparison Sets
We compare StorySpark with six baselines in three groups: modular synthesis,Modular Story Premise Synthesis \(MoPS\)\(Maet al\.,[2024](https://arxiv.org/html/2608.12336#bib.bib33)\); direct prompting,Vanilla prompting \(VIL\)andComplex prompting \(CPX\); and external\-source premise assets released with MoPS,DOC\(Zhuet al\.,[2023](https://arxiv.org/html/2608.12336#bib.bib24)\),WritingPrompts \(WP\)\(Fanet al\.,[2018](https://arxiv.org/html/2608.12336#bib.bib3)\), andStorium \(STM\)\(Akouryet al\.,[2020](https://arxiv.org/html/2608.12336#bib.bib4)\)\.
Modular baseline\.MoPS samples paths from a modular premise inventory and synthesizes selected modules into complete story premises\.
Direct prompting\.VIL directly prompts the generation backend to produce complete premises\. CPX follows the Complex baseline in MoPS by conditioning direct prompting on a small set of example premises\.
External sources\.DOC provides LLM\-generated premise\-like seeds from prior long\-story generation work; WP provides Reddit writing\-prompt titles; and STM provides structured game descriptions from a collaborative storytelling platform\. StorySpark and MoPS use the same 14 MoPS genre domains, while DOC, WP, and STM are evaluated as aggregate premise sources\.
### 4\.2Evaluation Criteria and Judges
Pointwise quality\.For automatic evaluation, final premises and expanded stories receive 0–100 scores for fascination, completeness, and originality; Overall is their arithmetic mean\. The three dimensions capture narrative hook and emotional pull, sufficient story information for coherent development, and freshness beyond generic templates, respectively\. Human ratings use the same dimensions for premises only, on a 1–5 Likert scale, and are reported separately from automatic scores\.
Quality\-conditioned coverage\.For semantic diversity, we follow the MoPS\-style breadth view: final premises are embedded, projected into a two\-dimensional t\-SNE space, and measured by the covered area in this semantic plane\. We compute breadth after filtering premises by automatic Overall thresholds and weight it by the retained fraction\. This measures semantic coverage among usable high\-quality premises rather than low\-quality outliers\.
Pairwise preference\.Pairwise evaluation provides a relative validation view that is less sensitive to absolute score calibration\. An automatic judge compares anonymized premise pairs and returns A, B, or TIE\. We summarize the outcomes with direct StorySpark\-vs\.\-baseline preference scores and an Elo\-style aggregate ranking\.
Model backends\.DeepSeek\-V4\-Flash is used for generation, search\-time feedback, primary pointwise scoring, pairwise judging, and story expansion\. GPT\-5\.2 is used only as an independent evaluator: it rerates existing final\-premise artifacts, expanded stories, and anonymized pairwise comparisons, without participating in generation or search\. Generation calls use temperature 0\.7, while evaluation calls are deterministic\.
### 4\.3Evaluation Experiments
We summarize the main evaluation experiments below\. Additional operational details, including artifact counts, artifact reuse, pairwise aggregation, story transfer, human evaluation, and quality\-conditioned coverage, are provided in Appendix[C](https://arxiv.org/html/2608.12336#A3)\.
Main premise comparison\.We evaluate 1,000 final premises per method for automatic quality and quality\-conditioned coverage\.
Mechanism and process analysis\.We compare full StorySpark with variants that remove local evolution, dynamic competition, or both, evaluating 4,032 final premises per variant\. We also score materialized partial premises at each module depth to analyze how quality and semantic breadth change during search\.
Premise\-to\-story transfer\.We sample 100 premises per method and expand them with the same fixed StoryWriter\-style pipeline\. Since the writer is held constant, differences in story quality mainly reflect the premise seeds\.
Pairwise validation\.We sample 100 premises per method from all seven methods and compare anonymized premise pairs\.
Independent and human validation\.The independent automatic judge rerates the main premise\-quality artifacts\. Human evaluation uses 20 anonymized premises per method from StorySpark, MoPS, Storium, and WritingPrompts, rated on Fascination, Completeness, and Originality\.
Table 1:Main premise quality and quality\-conditioned coverage results under the DeepSeek\-V4\-Flash judge on 1,000 premises per method\. Coverage is weighted t\-SNE breadth after filtering by Overall cutoffτ\\tau; bold and underline denote the best and second\-best results\.
## 5Results
### 5\.1Premise\-level Quality and High\-quality Diversity
Table[1](https://arxiv.org/html/2608.12336#S4.T1)shows that StorySpark achieves the best premise\-level Overall score, with the largest gain on Originality\. Compared with the strongest baseline, StorySpark improves Overall by 1\.21 points and Originality by 4\.41 points, while remaining comparable on Fascination and Completeness\. This indicates that the main advantage comes from finding fresher and less templated story seeds, rather than only improving structural completeness\.
Quality\-conditioned coverage further shows that StorySpark places more diverse premises in the high\-quality region\. MoPS has the largest coverage at lower cutoffs, but StorySpark becomes stronger as the quality threshold rises\. At the highest cutoff, its coverage is about 1\.8 times that of the strongest baseline\. This suggests a shift in the quality–diversity frontier: more semantically distinct StorySpark premises remain after stringent quality filtering\.
Figure 3:module\-level ablation process curves\. Breadth denotes t\-SNE area over retained partial premises, and quality denotes mean Overall\.
### 5\.2Ablation and Process Analysis
Figure[3](https://arxiv.org/html/2608.12336#S5.F3)summarizes the ablation and module\-level process curves\. The full StorySpark system maintains the strongest quality trajectory and separates from the ablated variants from the persona stage onward, while its breadth does not collapse\. Removing local evolution causes the largest quality drop, indicating that feedback\-guided mutation and crossover are the main source of improved premise quality\. Removing reserve–wildcard frontier allocation has a smaller standalone effect, but still weakens the trajectory, suggesting that frontier\-level competition provides an additional selection benefit\.
The two components are therefore best understood as complementary rather than equally strong in isolation\. Local evolution creates better current\-module candidates under a fixed prefix, whereas reserve–wildcard allocation decides how these improved candidates are carried forward across branches\. The reserve quota preserves branch coverage, and the wildcard quota lets strong runner\-up candidates compete across prefixes\. This combination explains why the full model performs best: evolution enriches the local candidate pool, and frontier allocation converts those local gains into a stronger and more diverse next\-step search frontier\.
Figure 4:Premise\-to\-story transfer\. Left: mean story Overall with±1\\pm 1s\.d\.; right: score\-survival curve over Overall thresholds\.
### 5\.3Premise\-to\-story Transfer
Figure[4](https://arxiv.org/html/2608.12336#S5.F4)shows that the premise\-level gains transfer to downstream story generation\. With the same story writer held fixed across methods, StorySpark ranks first on story\-level Overall, indicating that its stronger premises remain useful after long\-form expansion\. The survival curve further shows that StorySpark has a larger high\-quality tail: at Overall\>84\>84, it retains 37% of expanded stories, roughly twice the strongest baseline\.
This suggests that StorySpark improves not only average story quality, but also the likelihood that a generated premise can support a high\-scoring complete story\. The result is consistent with the premise\-level findings: more original and higher\-quality story seeds lead to stronger downstream expansions rather than being washed out during generation\.
### 5\.4Independent Pairwise Validation
Figure[5](https://arxiv.org/html/2608.12336#S5.F5)evaluates the same premise candidates through relative preference rather than absolute rubric scores\. StorySpark obtains a direct preference score above 0\.5 against every baseline, meaning that it is preferred more often than it is dispreferred after ties are counted\. The margins are largest against the external\-source assets and VIL, while the scores against CPX and MoPS are more moderate\. This pattern is useful: it shows that the strongest generation baselines remain competitive in some individual pairwise cases, but StorySpark still has a consistent advantage under direct comparison\.
The candidate\-level Elo ranking gives the same conclusion from the full tournament\. StorySpark achieves the highest mean rating, ahead of CPX and MoPS, which are also the closest competitors in the direct preference view\. Because the tournament uses adaptive rating\-near pairing after warm\-up rounds, many later comparisons focus on harder cross\-method decisions rather than only obvious quality gaps\. Thus, the pairwise results complement Table[1](https://arxiv.org/html/2608.12336#S4.T1): StorySpark’s gains are not only reflected in pointwise averages, but also persist when concrete premises are judged side by side\.
Figure 5:Pairwise preference validation\. Left: direct StorySpark preference score, where 0\.5 indicates parity; right: mean candidate\-level Elo rating\.
### 5\.5Robustness Across Judges and Evaluation Views
Table 2:Robustness across judges and views\. Margins are against the strongest baseline; GPT\-5\.2 only rerates existing artifacts\.Table[2](https://arxiv.org/html/2608.12336#S5.T2)summarizes robustness across judges and evaluation views\. GPT\-5\.2 rerates the same main\-premise artifacts without participating in generation, search, or story expansion, and StorySpark still ranks first: its Overall margin changes only from \+1\.21 to \+1\.24, while its Originality margin increases from \+4\.41 to \+6\.61\. The auxiliary views show the same pattern: StorySpark ranks first in premise\-to\-story transfer under both judges, first in DeepSeek\-V4\-Flash pairwise Elo and second under GPT\-5\.2\. These results indicate that the gains are not just a search\-judge calibration artifact; StorySpark remains consistently strong, with the clearest signal in producing more original premise seeds\.
Table 3:Human evaluation on anonymized story premises\. Scores are averaged over four annotators on a 1–5 Likert scale; Overall is the mean of Fascination, Completeness, and Originality\.Human evaluation provides a reader\-facing check\. Following the anonymized protocol in Section[1](https://arxiv.org/html/2608.12336#S4.T1), evaluators rate premises from the methods in Table[3](https://arxiv.org/html/2608.12336#S5.T3)on Fascination, Completeness, and Originality using a 1–5 Likert scale\. StorySpark obtains the best Overall score and ranks first on Completeness and Originality, while MoPS is slightly higher on Fascination\. This mirrors the automatic results: StorySpark’s advantage is strongest in producing more complete and original premise seeds\.
## 6Conclusion
StorySpark moves story premise generation from static modular composition to module\-wise evolutionary search\. It keeps the interpretable MoPS\-style module structure, evaluates partial premises across fascination, completeness, and originality, and uses Pareto\-guided local selection plus reserve\-wildcard frontier allocation to balance quality, complementarity, and branch coverage\. Across premise\-level quality, ablations, process analysis, pairwise validation, story\-level transfer, and embedding\-based quality\-aware diversity, the strongest recurring signal is improved originality while retaining completeness\. Looking ahead, we hope to explore lower\-cost intermediate evaluation, larger\-scale creator feedback, interactive long\-form planning, and richer narrative constraints, while keeping premise generation as a controllable early\-stage aid for human writers\.
## Limitations
Fixed modular premise structure\.StorySpark follows the MoPS\-style premise schema, constructing a premise through ordered modules such as background, persona, event, ending, and twist\. This fixed structure makes module\-wise search interpretable, but story ideation is not always strictly linear\. A later event, ending, or twist may suggest that an earlier background or persona should be revised\. Future work will explore more dynamic module structures, including adaptive module ordering and backward updates from downstream modules to upstream ones\.
Larger\-scale evaluation and human\-guided evolution\.StorySpark is evaluated through automatic judging, pairwise validation, story expansion, diversity analysis, and human evaluation\. These views provide complementary evidence, but creative premise quality still depends on reader preference, author intent, and literary judgment\. Future work will conduct larger\-scale evaluations with readers, writers, and experts\. We also plan to incorporate sparse human feedback into the evolutionary loop, so that a small amount of high\-value human judgment can better guide premise search\.
## Ethical considerations
StorySpark is designed as an early\-stage creative ideation aid, not an autonomous replacement for human writers\. Since it relies on LLM generation and automatic evaluation, its outputs may inherit biases, stereotypes, unsafe associations, or sensational narrative patterns from the underlying models and prompts, which may be further amplified by evolutionary search if favored by automatic judges\. Generated premises and stories should therefore be treated as draft suggestions and reviewed by humans before publication or deployment\. Although our evaluation considers premise quality, story expansion, pairwise preference, diversity, and human ratings, these signals are not definitive measures of literary value, which depends on reader background, cultural context, authorial intent, and genre conventions\. Practical systems based on StorySpark should include human oversight, content moderation, and safeguards, especially for stories involving sensitive social groups, traumatic events, violence, or other potentially harmful themes\.
## References
- Storium: a dataset and evaluation platform for machine\-in\-the\-loop story generation\.InProceedings of the 2020 Conference on Empirical Methods in Natural Language Processing \(EMNLP\),pp\. 6470–6484\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p2.1),[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p2.1),[§4\.1](https://arxiv.org/html/2608.12336#S4.SS1.p1.1),[Table 1](https://arxiv.org/html/2608.12336#S4.T1.28.28.5)\.
- R\. A\. Bradley and M\. E\. Terry \(1952\)Rank analysis of incomplete block designs: i\. the method of paired comparisons\.Biometrika39\(3/4\),pp\. 324–345\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p2.1)\.
- Q\. Cao, Y\. Liu, W\. Bi, Y\. Zhao, R\. Song, X\. Wang, R\. Tang, G\. Zhou, and H\. Li \(2026\)DPWriter: reinforcement learning with diverse planning branching for creative writing\.arXiv preprint arXiv:2601\.09609\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p4.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- Q\. Cao, X\. Wang, Y\. Yuan, Y\. Liu, F\. Luo, and R\. Song \(2025\)Evaluating text creativity across diverse domains: a dataset and large language model evaluator\.arXiv preprint arXiv:2505\.19236\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p2.1)\.
- J\. J\. Y\. Chung, W\. Kim, K\. M\. Yoo, H\. Lee, E\. Adar, and M\. Chang \(2022\)TaleBrush: sketching stories with generative pretrained language models\.InProceedings of the 2022 CHI conference on human factors in computing systems,pp\. 1–19\.Cited by:[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p2.1)\.
- L\. Cron \(2012\)Wired for story: the writer’s guide to using brain science to hook readers from the very first sentence\.Ten Speed Press\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p2.1)\.
- K\. Deb, S\. Agrawal, A\. Pratap, and T\. Meyarivan \(2000\)A fast elitist non\-dominated sorting genetic algorithm for multi\-objective optimization: nsga\-ii\.InInternational conference on parallel problem solving from nature,pp\. 849–858\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p5.1)\.
- A\. Fan, M\. Lewis, and Y\. Dauphin \(2018\)Hierarchical neural story generation\.InProceedings of the 56th Annual Meeting of the Association for Computational Linguistics \(Volume 1: Long Papers\),pp\. 889–898\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1),[§4\.1](https://arxiv.org/html/2608.12336#S4.SS1.p1.1),[Table 1](https://arxiv.org/html/2608.12336#S4.T1.32.32.5)\.
- A\. Fan, M\. Lewis, and Y\. Dauphin \(2019\)Strategies for structuring story generation\.InProceedings of the 57th Annual Meeting of the Association for Computational Linguistics,pp\. 2650–2660\.Cited by:[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- S\. Field \(2005\)Screenplay: the foundations of screenwriting\.Delta\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p2.1)\.
- M\. E\. Glickman and A\. C\. Jones \(1999\)Rating the chess rating system\.CHANCE\-BERLIN THEN NEW YORK\-12,pp\. 21–28\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p2.1)\.
- D\. Jiang, X\. Ren, and B\. Y\. Lin \(2023\)Llm\-blender: ensembling large language models with pairwise ranking and generative fusion\.InProceedings of the 61st Annual Meeting of the Association for Computational Linguistics \(Volume 1: Long Papers\),pp\. 14165–14178\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p2.1)\.
- S\. Kim, J\. Shin, J\. Jang, S\. Longpre, H\. Lee, S\. Yun, R\. Shin, S\. Kim, J\. Thorne, M\. Seo,et al\.\(2024\)Prometheus: inducing fine\-grained evaluation capability in language models\.InInternational Conference on Learning Representations,Vol\.2024,pp\. 29927–29962\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p2.1)\.
- R\. T\. Lange, Y\. Imajuku, and E\. Cetin \(2025\)Shinkaevolve: towards open\-ended and sample\-efficient program evolution\.arXiv preprint arXiv:2509\.19349\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p1.1)\.
- M\. Lee, P\. Liang, and Q\. Yang \(2022\)Coauthor: designing a human\-ai collaborative writing dataset for exploring language model capabilities\.InProceedings of the 2022 CHI conference on human factors in computing systems,pp\. 1–19\.Cited by:[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p2.1)\.
- J\. Lyons \(2015\)Anatomy of a premise line: how to master premise and story development for writing success\.Routledge\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p2.1)\.
- Y\. Ma, Y\. Qiao, and P\. Liu \(2024\)MoPS: modular story premise synthesis for open\-ended automatic story generation\.InProceedings of the 62nd Annual Meeting of the Association for Computational Linguistics \(Volume 1: Long Papers\),pp\. 2135–2169\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p2.1),[§1](https://arxiv.org/html/2608.12336#S1.p4.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1),[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p2.1),[§3](https://arxiv.org/html/2608.12336#S3.p1.1),[§4\.1](https://arxiv.org/html/2608.12336#S4.SS1.p1.1),[Table 1](https://arxiv.org/html/2608.12336#S4.T1.12.12.5),[Table 1](https://arxiv.org/html/2608.12336#S4.T1.16.16.5),[Table 1](https://arxiv.org/html/2608.12336#S4.T1.20.20.5)\.
- A\. Madaan, N\. Tandon, P\. Gupta, S\. Hallinan, L\. Gao, S\. Wiegreffe, U\. Alon, N\. Dziri, S\. Prabhumoye, Y\. Yang,et al\.\(2023\)Self\-refine: iterative refinement with self\-feedback\.Advances in neural information processing systems36,pp\. 46534–46594\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p1.1)\.
- L\. Martin, P\. Ammanabrolu, X\. Wang, W\. Hancock, S\. Singh, B\. Harrison, and M\. Riedl \(2018\)Event representations for automated story generation with deep neural nets\.InProceedings of the AAAI Conference on Artificial Intelligence,Vol\.32\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- P\. Mirowski, K\. W\. Mathewson, J\. Pittman, and R\. Evans \(2023\)Co\-writing screenplays and theatre scripts with language models: evaluation by industry professionals\.InProceedings of the 2023 CHI conference on human factors in computing systems,pp\. 1–34\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p2.1),[§1](https://arxiv.org/html/2608.12336#S1.p3.1)\.
- J\. Mouret and J\. Clune \(2015\)Illuminating search spaces by mapping elites\.arXiv preprint arXiv:1504\.04909\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p5.1)\.
- A\. Novikov, N\. Vũ, M\. Eisenberger, E\. Dupont, P\. Huang, A\. Z\. Wagner, S\. Shirobokov, B\. Kozlovskii, F\. J\. Ruiz, A\. Mehrabian,et al\.\(2025\)Alphaevolve: a coding agent for scientific and algorithmic discovery\.arXiv preprint arXiv:2506\.13131\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p1.1)\.
- K\. Park, N\. Yang, and K\. Jung \(2024\)Longstory: coherent, complete and length controlled long story generation\.InPacific\-Asia Conference on Knowledge Discovery and Data Mining,pp\. 184–196\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- J\. K\. Pugh, L\. B\. Soros, and K\. O\. Stanley \(2016\)Quality diversity: a new frontier for evolutionary computation\.Frontiers in Robotics and AI3,pp\. 40\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p5.1)\.
- M\. Reza, N\. M\. Laundry, I\. Musabirov, P\. Dushniku, Z\. Y\. “\. Yu, K\. Mittal, T\. Grossman, M\. Liut, A\. Kuzminykh, and J\. J\. Williams \(2024\)Abscribe: rapid exploration & organization of multiple writing variations in human\-ai co\-writing tasks using large language models\.InProceedings of the 2024 CHI Conference on Human Factors in Computing Systems,pp\. 1–18\.Cited by:[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p2.1)\.
- B\. Romera\-Paredes, M\. Barekatain, A\. Novikov, M\. Balog, M\. P\. Kumar, E\. Dupont, F\. J\. Ruiz, J\. S\. Ellenberg, P\. Wang, O\. Fawzi,et al\.\(2024\)Mathematical discoveries from program search with large language models\.Nature625\(7995\),pp\. 468–475\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p1.1)\.
- P\. Tambwekar, M\. Dhuliawala, L\. J\. Martin, A\. Mehta, B\. Harrison, and M\. O\. Riedl \(2018\)Controllable neural story plot generation via reward shaping\.arXiv preprint arXiv:1809\.10736\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- J\. Truby \(2008\)The anatomy of story: 22 steps to becoming a master storyteller\.Farrar, Straus and Giroux\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p2.1)\.
- H\. Xia, H\. Peng, Y\. Qi, B\. Xu, J\. Li, H\. Lei, and X\. Wang \(2025\)Storywriter: a multi\-agent framework for long story generation\.InProceedings of the 34th ACM International Conference on Information and Knowledge Management,pp\. 6559–6563\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- K\. Yang, D\. Klein, N\. Peng, and Y\. Tian \(2023\)Doc: improving long story coherence with detailed outline control\.InProceedings of the 61st Annual Meeting of the Association for Computational Linguistics \(Volume 1: Long Papers\),pp\. 3378–3465\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§1](https://arxiv.org/html/2608.12336#S1.p4.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- K\. Yang, Y\. Tian, N\. Peng, and D\. Klein \(2022\)Re3: generating longer stories with recursive reprompting and revision\.InProceedings of the 2022 Conference on Empirical Methods in Natural Language Processing,pp\. 4393–4479\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- L\. Yao, N\. Peng, R\. Weischedel, K\. Knight, D\. Zhao, and R\. Yan \(2019\)Plan\-and\-write: towards better automatic storytelling\.InProceedings of the AAAI Conference on Artificial Intelligence,Vol\.33,pp\. 7378–7385\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1)\.
- L\. Zheng, W\. Chiang, Y\. Sheng, S\. Zhuang, Z\. Wu, Y\. Zhuang, Z\. Lin, Z\. Li, D\. Li, E\. Xing,et al\.\(2023\)Judging llm\-as\-a\-judge with mt\-bench and chatbot arena\.Advances in neural information processing systems36,pp\. 46595–46623\.Cited by:[§2\.2](https://arxiv.org/html/2608.12336#S2.SS2.p2.1)\.
- H\. Zhu, A\. Cohen, D\. Wang, K\. Yang, X\. Yang, J\. Jiao, and Y\. Tian \(2023\)End\-to\-end story plot generator\.arXiv preprint arXiv:2310\.08796\.Cited by:[§1](https://arxiv.org/html/2608.12336#S1.p3.1),[§2\.1](https://arxiv.org/html/2608.12336#S2.SS1.p1.1),[§4\.1](https://arxiv.org/html/2608.12336#S4.SS1.p1.1),[Table 1](https://arxiv.org/html/2608.12336#S4.T1.24.24.5)\.
## Appendix AAlgorithm Details
This appendix reports the implementation details of StorySpark that are only summarized in the main text\. The theme is treated as a fixed root condition, and the five active modules are background, persona, event, ending, and twist\. We use*branch quota*and*shared quota*as implementation terms corresponding to the reserve and wildcard allocation described in Section 3\.3\.
### A\.1Default Module Budgets
Table 4:Default module\-level hyperparameters\.BtB\_\{t\}is the per\-branch frontier budget,RtR\_\{t\}is the branch quota,GtG\_\{t\}is the target local\-pool size after evolution, andμt\\mu\_\{t\}is the probability of applying mutation rather than crossover\.
### A\.2Full Procedure
Algorithm 1StorySpark module\-wise evolutionary search\.
1:Theme
τ\\tau, modules
m1:5m\_\{1:5\}, budgets
\{Bt,Rt,Gt,μt\}t=15\\\{B\_\{t\},R\_\{t\},G\_\{t\},\\mu\_\{t\}\\\}\_\{t=1\}^\{5\}
2:Final scored premises
𝒴τ\\mathcal\{Y\}^\{\\tau\}
3:
ℱ0τ←\{∅\}\\mathcal\{F\}\_\{0\}^\{\\tau\}\\leftarrow\\\{\\emptyset\\\}
5:
ℱtτ←∅\\mathcal\{F\}\_\{t\}^\{\\tau\}\\leftarrow\\emptyset;
𝒰t←∅\\mathcal\{U\}\_\{t\}\\leftarrow\\emptyset
6:for all
x∈ℱt−1τx\\in\\mathcal\{F\}\_\{t\-1\}^\{\\tau\}do
7:
𝒫←InitAndScore\(τ,x,mt,Bt\)\\mathcal\{P\}\\leftarrow\\textsc\{InitAndScore\}\(\\tau,x,m\_\{t\},B\_\{t\}\)
8:compute Pareto ranks and local crowding in
𝒫\\mathcal\{P\}
9:while
\|𝒫\|<Gt\|\\mathcal\{P\}\|<G\_\{t\}do
10:sample parent candidate\(s\) from
𝒫\\mathcal\{P\}using
w\(c\)w\(c\)
11:
c′←MutateOrCross\(τ,x,mt,𝒫,μt\)c^\{\\prime\}\\leftarrow\\textsc\{MutateOrCross\}\(\\tau,x,m\_\{t\},\\mathcal\{P\},\\mu\_\{t\}\)
12:if
c′c^\{\\prime\}passes validity and duplicate checksthen
13:
z′←Synthesize\(τ,x,mt,c′\)z^\{\\prime\}\\leftarrow\\textsc\{Synthesize\}\(\\tau,x,m\_\{t\},c^\{\\prime\}\)
14:if
z′z^\{\\prime\}is successfully materializedthen
15:
\(𝐪′,ρ′\)←Judge\(z′\)\(\\mathbf\{q\}^\{\\prime\},\\rho^\{\\prime\}\)\\leftarrow\\textsc\{Judge\}\(z^\{\\prime\}\)
16:add
\(c′,z′,𝐪′,ρ′\)\(c^\{\\prime\},z^\{\\prime\},\\mathbf\{q\}^\{\\prime\},\\rho^\{\\prime\}\)to
𝒫\\mathcal\{P\}
17:update Pareto ranks and local crowding
18:endif
19:endif
20:endwhile
21:
𝒬←SelectBranchQuota\(𝒫,Rt\)\\mathcal\{Q\}\\leftarrow\\textsc\{SelectBranchQuota\}\(\\mathcal\{P\},R\_\{t\}\)
22:add
Attach\(x,𝒬\)\\textsc\{Attach\}\(x,\\mathcal\{Q\}\)to
ℱtτ\\mathcal\{F\}\_\{t\}^\{\\tau\}
23:add
RunnerUps\(𝒫,𝒬,x\)\\textsc\{RunnerUps\}\(\\mathcal\{P\},\\mathcal\{Q\},x\)to
𝒰t\\mathcal\{U\}\_\{t\}
24:endfor
25:
Ht←\(Bt−Rt\)\|ℱt−1τ\|H\_\{t\}\\leftarrow\(B\_\{t\}\-R\_\{t\}\)\|\\mathcal\{F\}\_\{t\-1\}^\{\\tau\}\|
26:
𝒮←SelectSharedQuota\(𝒰t,Ht\)\\mathcal\{S\}\\leftarrow\\textsc\{SelectSharedQuota\}\(\\mathcal\{U\}\_\{t\},H\_\{t\}\)
27:add
AttachStoredPrefixes\(𝒮\)\\textsc\{AttachStoredPrefixes\}\(\\mathcal\{S\}\)to
ℱtτ\\mathcal\{F\}\_\{t\}^\{\\tau\}
28:endfor
29:
𝒴τ←∅\\mathcal\{Y\}^\{\\tau\}\\leftarrow\\emptyset
30:for all
x1:5∈ℱ5τx\_\{1:5\}\\in\\mathcal\{F\}\_\{5\}^\{\\tau\}do
31:
y←Synthesize\(τ,x1:5\)y\\leftarrow\\textsc\{Synthesize\}\(\\tau,x\_\{1:5\}\)
32:
\(𝐪\(y\),ρ\(y\)\)←Judge\(y\)\(\\mathbf\{q\}\(y\),\\rho\(y\)\)\\leftarrow\\textsc\{Judge\}\(y\)
33:add
\(y,𝐪\(y\),ρ\(y\)\)\(y,\\mathbf\{q\}\(y\),\\rho\(y\)\)to
𝒴τ\\mathcal\{Y\}^\{\\tau\}
34:endfor
35:return
𝒴τ\\mathcal\{Y\}^\{\\tau\}
Algorithm[A\.2](https://arxiv.org/html/2608.12336#A1.SS2)shows the full module\-wise search loop\. A local\-pool item stores the current\-module candidate, its materialized partial premise, its quality vector, and the corresponding judge feedback\. A shared\-pool item additionally stores the parent\-branch identity, so that shared\-quota selections are attached back to the correct prefix rather than recombined across branches\.
### A\.3Validity Filtering
Before a generated candidate enters a local pool, StorySpark applies four checks\. First, the normalized candidate must contain non\-empty current\-module text\. Second, it must not duplicate an existing candidate in the same local pool under normalized string matching\. Third, for typed modules, it must satisfy the predefined module\-type constraint\. Fourth, it must be successfully materialized into a partial premise before scoring\. Candidates that fail any check are discarded before Pareto ranking or frontier allocation\.
### A\.4Frontier Allocation Implementation Notes
The main text defines the branch\-quota and shared\-quota sorting keys\. In implementation, branch\-quota selection is performed independently inside each local pool, whereas shared\-quota selection is performed over the runner\-up candidates collected from all parent branches at the same module depth\. Shared\-pool candidates keep both their original parent\-prefix identifier and their local\-crowding value\. This allows the shared quota to introduce cross\-branch competition while still attaching each selected candidate back to its own prefix\.
Pareto ranks used for branch\-quota selection are computed within each local pool\. Global Pareto ranks used for shared\-quota selection are recomputed only over the shared runner\-up pool at the current module\. Deterministic tie\-breaking is applied only as a reproducibility device under a fixed generation trace; it does not act as an additional quality signal\.
## Appendix BPrompt Templates
This section keeps only the five StorySpark templates used by our method: initialization, crossover, mutation, module\-to\-premise synthesis, and scoring\. Baseline prompts, pairwise\-evaluation prompts, and story\-expansion prompts are omitted to keep the appendix focused on the proposed search method\.
### B\.1Initialization Prompt
Initialization PromptYou are helping construct a modular story premise\. The current task is to generate candidates for the current slot\. The fixed theme and any upstream slots must not be rewritten\.Theme:\{theme\} Available upstream slots:\{prefix\_slots\} Current slot:\{slot\_name\} Number of candidates:\{target\_count\}Generate exactly \{target\_count\} candidates for the current slot\. Each candidate should fill only the current slot and remain compatible with the theme and upstream slots\.For typed slots, each candidate must choose exactly one valid type: \{slot\_type\_options\}Return JSON only\. For typed slots:``` { "candidates": [ {"text": "candidate 1", "type": "one_valid_type"}, {"text": "candidate 2", "type": "one_valid_type"} ] } ``` For untyped slots:``` { "candidates": [ {"text": "candidate 1"}, {"text": "candidate 2"} ] } ```
### B\.2Crossover Prompt
Crossover PromptYou are creating one new candidate in a modular story premise by combining two parent candidates\. The fixed context below must not be changed\. Create only a new \{slot\_name\} candidate\.Current slot:\{slot\_name\} Fixed context:\{context\}Parent A:\{parent\_a\} Feedback for Parent A: Fascination: \{fascination\_reasoning\_a\} Completeness: \{completeness\_reasoning\_a\} Originality: \{originality\_reasoning\_a\}Parent B:\{parent\_b\} Feedback for Parent B: Fascination: \{fascination\_reasoning\_b\} Completeness: \{completeness\_reasoning\_b\} Originality: \{originality\_reasoning\_b\}Existing candidates that should not be repeated: \{forbidden\_block\}Requirements:•Combine strengths from both parents into one new current\-slot candidate\.•Keep the child concise and coherent with the fixed context\.•Do not repeat or trivially rephrase any existing candidate\.•For typed slots, return one valid candidate type\.Return JSON only: \{"text": "new candidate", "type": "one\_valid\_type"\}For untyped slots, omittype\.
### B\.3Mutation Prompt
Mutation PromptYou are improving one candidate in a modular story premise\. The fixed context below must not be changed\. Revise only the current \{slot\_name\} candidate\.Current slot:\{slot\_name\} Fixed context:\{context\} Parent candidate:\{parent\_text\}Evaluation feedback for the parent candidate: Fascination: \{fascination\_reasoning\} Completeness: \{completeness\_reasoning\} Originality: \{originality\_reasoning\}Existing candidates that should not be repeated: \{forbidden\_block\}Requirements:•Produce exactly one new candidate for the current slot\.•Make the new candidate meaningfully different from the parent\.•Keep it coherent with the fixed context\.•Do not repeat or trivially rephrase any existing candidate\.•For typed slots, consider the valid candidate types and return one type\.Return JSON only: \{"text": "new candidate", "type": "one\_valid\_type"\}For untyped slots, omittype\.
### B\.4Module\-to\-Premise Synthesis Prompt
Module\-to\-Premise Synthesis PromptTASK: \{PARTIAL\_PREMISE\_SYNTHESIS or FINAL\_SYNTHESIS\}The following story elements are currently available:Theme:\{theme\} Background:\{background\} Persona:\{persona\} Event:\{event\} Ending:\{ending\} Twist:\{twist\}Please combine the available elements into one compact, concise, and coherent sentence as a story premise\. For partial synthesis, do not add specific details for downstream slots that have not been provided yet\. For final synthesis, use the full theme, background, persona, event, ending, and twist\.
### B\.5Scoring Prompt
Scoring PromptHere is a story premise:\{premise\}Evaluate the story premise on the following three dimensions\. Use a score from 0 to 100 for each dimension\.Fascination:Judge how engaging the premise is and how strongly it makes you want to read the story developed from it\. Completeness:Judge whether the premise contains the essential elements expected in a complete story premise\. Originality:Judge how familiar or novel the premise feels\. For originality, score the candidate only if it is at least a complete story premise\. Otherwise, give originality a score of 0\.Requirement: provide deterministic scores and concise explanations\. For each dimension, write the explanation before the numeric score\.Return JSON only: \{ "fascination": \{ "explanation": "short explanation", "score": 84 \}, "completeness": \{ "explanation": "short explanation", "score": 92 \}, "originality": \{ "explanation": "short explanation", "score": 78 \} \}
## Appendix CExperimental Setup Details
This appendix provides operational details for the experiment setup in Section[1](https://arxiv.org/html/2608.12336#S4.T1), including model backends, comparison assets, output counts, evaluation units, artifact reuse, pairwise aggregation, story transfer, human evaluation, and quality\-conditioned coverage\.
### C\.1Model Backends and Decoding
Table 5:Model and decoding settings\. “det\.” denotes deterministic decoding\. Generation\-style calls use temperature 0\.7, while evaluation\-style calls are deterministic\.
Structured outputs are parsed after each call\. If a response cannot be parsed into the expected fields, the same prompt is retried within the implementation retry budget; if parsing still fails, the output is discarded\. Candidate\-level failures do not terminate a run\. Duplicate candidates are removed by normalized string matching within each local pool\.
### C\.2Genre Domains, Assets, and Output Counts
Experiments use the 14 genre domains from MoPS: Fantasy, Fantastic, Martial Arts, Immortal Heroes, Urban, Contemporary, Military, Historical, Game, Sports, Science Fiction, Suspense, Romance, and Time\-travel\. Baseline definitions follow Section 4\.1; this appendix only records the asset handling and output\-count details needed to reproduce the experiments\.
StorySpark output count\.StorySpark searches over five active modules: background, persona, event, ending, and twist\. The promoted branching factor at each module is the frontier budgetBtB\_\{t\}, so the number of complete module paths per genre domain is determined by the product of these promoted factors:
Table 6:Promoted branching factors and cumulative final\-path counts for one genre domain\.
Thus, one genre domain yields
6×4×3×2×2=2886\\times 4\\times 3\\times 2\\times 2=288complete module paths, and one full StorySpark run over all 14 domains produces
14×288=4,03214\\times 288=4\{,\}032final premises\. The branch quotaRtR\_\{t\}and local\-pool targetGtG\_\{t\}affect within\-module preservation, competition, and evolution, but they do not change the final number of promoted complete paths\.
Generated comparison outputs\.MoPS, VIL, and CPX are generated comparison systems\. VIL directly generates complete premises, while CPX follows the Complex baseline setting in MoPS by conditioning direct prompting on fixed example premises\. These examples are fixed across runs and are not selected from StorySpark outputs\.
External\-source assets\.DOC, WritingPrompts, and Storium are taken from the released MoPS baseline assets\. We do not recollect, regenerate, or re\-filter the original external datasets; only format normalization required by our evaluation scripts is applied\. These external\-source assets are evaluated as aggregate premise sets rather than genre\-by\-genre generated systems\.
### C\.3Evaluation Units and Sample Counts
Table 7:Evaluation units and sample counts used in the main experiments\.
The main comparison uses equal\-sized final\-premise samples from all seven methods\. The independent automatic judge rerates the same main\-comparison artifacts rather than regenerated outputs\. Mechanism ablations evaluate full output sets from each StorySpark variant\. module\-depth process analysis scores materialized partial premises retained during search, so it evaluates intermediate construction states rather than only final premises\.
### C\.4Pointwise Scoring and Artifact Reuse
The pointwise dimensions and score scales are defined in Section 4\.2\. Here we clarify how these scores are used during search and how evaluation artifacts are reused across judges\.
Search\-time feedback\.During StorySpark search, the primary pointwise judge scores each materialized partial premise and returns concise feedback\. The score vector is used for Pareto ranking, while the feedback is passed to mutation and crossover prompts\. This feedback is only used inside the StorySpark search loop and is not available to baseline generation systems\.
Paper\-facing evaluation artifacts\.For final reporting, all generated artifacts are frozen before evaluation\. The main premise comparison evaluates the same final\-premise sample for each method; the story\-transfer experiment first expands the sampled premises with a fixed writer and then scores the resulting stories\. Overall is computed as the arithmetic mean of fascination, completeness, and originality\.
Independent rerating\.GPT\-5\.2 is used only as an independent evaluator\. It rerates existing final premises, expanded stories, and anonymized pairwise comparisons without regenerating premises, modifying prompts, rewriting stories, or changing baseline outputs\. Therefore, differences between DeepSeek\-V4\-Flash and GPT\-5\.2 results reflect evaluator variation rather than new generation runs\.
### C\.5Pairwise Validation and Elo Aggregation
Pairwise validation is constructed from the main premise\-evaluation artifacts\. We sample 100 premises per method from StorySpark, CPX, MoPS, VIL, DOC, Storium, and WritingPrompts, yielding 700 candidate premises in total\. Sampling uses a fixed random seed of 42\. When method outputs contain theme labels, we apply approximately theme\-balanced sampling by allocating near\-uniform quotas across themes; otherwise, we fall back to random sampling\.
Pair construction\.Each candidate participates in 16 primary cross\-method comparisons\. The first two rounds use random warm\-up pairing across different methods\. The remaining 14 rounds use rating\-near adaptive pairing: candidates are paired with candidates from other methods whose current Elo ratings are close\. This makes later comparisons focus on more contested decisions rather than only obvious quality gaps\. We exclude within\-method comparisons and do not repeat the same candidate pair\.
With 700 candidates and 16 primary comparisons per candidate, the primary tournament contains
700×16/2=5,600700\\times 16/2=5\{,\}600unordered candidate pairs\. Each primary comparison is then audited once with the presentation order reversed, resulting in another 5,600 judge calls\.
Judge protocol and order audit\.For each comparison, the judge sees two anonymized premises, labeled A and B, and returns one of A, B, or TIE\. The prompt asks the judge to assess overall premise quality in terms of fascination, completeness, expandability, originality, and internal consistency\. It also instructs the judge not to decide based on length, surface writing style, formatting, genre preference, or whether the premise appears human\- or machine\-written\. The output is parsed into a winner field and a short reason\.
To reduce positional bias, every comparison is repeated with the candidate order reversed\. After mapping the reversed judgment back to the original candidate identities, we keep the result if the forward and reversed judgments agree\. If they conflict, the final outcome for that candidate pair is converted to TIE\. In the reported run, 3,269 primary comparisons remain direction\-consistent and 2,331 are converted to ties by the reverse\-order audit\.
Direct StorySpark preference\.The direct preference score in Figure 5 is computed only from direct StorySpark\-vs\.\-baseline encounters\. For a comparison between StorySpark and baselinebb, StorySpark receives score
s=\{1,StorySpark wins,0\.5,TIE,0,StorySpark loses\.s=\\begin\{cases\}1,&\\text\{StorySpark wins\},\\\\ 0\.5,&\\text\{TIE\},\\\\ 0,&\\text\{StorySpark loses\}\.\\end\{cases\}The direct preference score against baselinebbis
Pref\(StorySpark,b\)=1Nb∑j=1Nbsj\.\\mathrm\{Pref\}\(\\mathrm\{StorySpark\},b\)=\\frac\{1\}\{N\_\{b\}\}\\sum\_\{j=1\}^\{N\_\{b\}\}s\_\{j\}\.This score is not a raw win rate: a value of 0\.5 indicates parity, while a value above 0\.5 indicates that StorySpark is preferred more often in direct comparisons\. Because later rounds use adaptive rating\-near pairing,NbN\_\{b\}differs across baselines; StorySpark is compared more often with closer competitors such as CPX and MoPS\.
Table 8:Number of direct StorySpark\-vs\.\-baseline comparisons in the reported adaptive pairwise run\.
Candidate\-level Elo ranking\.For the global pairwise ranking, each premise candidate is treated as one Elo player\. All candidates start with ratingR0=1500R\_\{0\}=1500, and we use update factorK=24K=24\. For a comparison between candidates A and B, we assign
sA=\{1,A wins,0\.5,TIE,0,B wins\.s\_\{A\}=\\begin\{cases\}1,&\\text\{A wins\},\\\\ 0\.5,&\\text\{TIE\},\\\\ 0,&\\text\{B wins\}\.\\end\{cases\}The expected score for A is
EA=11\+10\(RB−RA\)/400\.E\_\{A\}=\\frac\{1\}\{1\+10^\{\(R\_\{B\}\-R\_\{A\}\)/400\}\}\.Ratings are updated by
RA\\displaystyle R\_\{A\}←RA\+K\(sA−EA\),\\displaystyle\\leftarrow R\_\{A\}\+K\(s\_\{A\}\-E\_\{A\}\),RB\\displaystyle R\_\{B\}←RB\+K\(\(1−sA\)−\(1−EA\)\)\.\\displaystyle\\leftarrow R\_\{B\}\+K\\big\(\(1\-s\_\{A\}\)\-\(1\-E\_\{A\}\)\\big\)\.The method\-level pairwise rating is the mean final Elo rating over the 100 sampled candidates from that method:
R¯m=1\|Cm\|∑c∈CmRc,\\overline\{R\}\_\{m\}=\\frac\{1\}\{\|C\_\{m\}\|\}\\sum\_\{c\\in C\_\{m\}\}R\_\{c\},whereCmC\_\{m\}is the set of sampled candidates from methodmm\. Thus, the left panel of Figure 5 measures direct StorySpark\-vs\.\-baseline preference, while the right panel summarizes all adaptive pairwise comparisons through candidate\-level Elo aggregation\.
### C\.6Premise\-to\-Story Transfer
For premise\-to\-story transfer, we sample 100 premises per method and expand each premise with the same fixed StoryWriter\-style pipeline\. The story writer backend and decoding settings are held constant across methods\. The resulting stories are then scored with the same three pointwise quality dimensions as premises\. This protocol tests whether differences among premise seeds carry over to downstream story generation\.
### C\.7Human Evaluation Protocol
Human evaluation uses anonymized final premises from StorySpark, MoPS, Storium, and WritingPrompts\. We sample 20 premises per method, yielding 80 premises in total\. Four evaluators rate each premise on fascination, completeness, and originality using a 1–5 Likert scale\. Method names are hidden and premise order is randomized independently for each evaluator\.
Each evaluator received a spreadsheet containing the randomized premises and rating fields\. The spreadsheet presents one premise per row\. Evaluators see only an anonymized item identifier, the premise text, and three Likert\-scale rating columns; they do not see the source method\. Table[9](https://arxiv.org/html/2608.12336#A3.T9)shows the structure of the annotation sheet\. The instruction block asks evaluators to judge each premise independently, where 1 indicates very poor quality, 3 indicates acceptable or mixed quality, and 5 indicates excellent quality for the corresponding criterion\.
Table 9:Example structure of the human evaluation spreadsheet\. The examples illustrate the fields visible to evaluators; source method names are omitted and item order is randomized\.#### Evaluator recruitment and payment\.
The four evaluators were adult students recruited from the authors’ peer network\. They were not authors of this paper and were not involved in developing StorySpark, generating the evaluated premises, or selecting the evaluated examples\. The evaluators consisted of one female evaluator and three male evaluators\. We did not collect other demographic attributes, such as country of residence, age, ethnicity, or socioeconomic background\.
Participation was voluntary, and no monetary compensation was provided\. The evaluation was conducted as a small\-scale internal research assessment rather than a paid crowdsourcing task\. Each evaluator rated 80 short premises, with three Likert\-scale ratings per premise\. The workload was therefore limited in scope and did not require specialized equipment, long\-term commitment, or repeated sessions\. No personally identifying information is reported; only aggregate rating results and aggregate gender distribution are included in the paper\. Evaluators were informed that their ratings would be used only in aggregate form for research reporting\.
### C\.8Quality\-Conditioned Coverage
The main diversity analysis follows the MoPS\-style breadth view but conditions it on automatic quality\. For each methodmmand Overall thresholdτ\\tau, letPmP\_\{m\}be the set of final premises and let
Pm≥τ=\{p∈Pm:Overall\(p\)≥τ\}\.P\_\{m\}^\{\\geq\\tau\}=\\\{p\\in P\_\{m\}:\\mathrm\{Overall\}\(p\)\\geq\\tau\\\}\.We embed the retained premises with Qwen/Qwen3\-Embedding\-4B, project them into a two\-dimensional t\-SNE space, and compute the convex\-hull area covered by their projected points\. The reported quality\-conditioned coverage is
Coveragem\(τ\)=Breadth\(Pm≥τ\)⋅\|Pm≥τ\|\|Pm\|\.\\mathrm\{Coverage\}\_\{m\}\(\\tau\)=\\mathrm\{Breadth\}\(P\_\{m\}^\{\\geq\\tau\}\)\\cdot\\frac\{\|P\_\{m\}^\{\\geq\\tau\}\|\}\{\|P\_\{m\}\|\}\.When no premises are retained at a threshold, coverage is set to zero\. The main text reports thresholdsτ∈\{80,82,84,86\}\\tau\\in\\\{80,82,84,86\\\}\. This weighting prevents a method from receiving high diversity credit only by retaining a small number of scattered high\-scoring premises, and it also prevents low\-quality outliers from inflating semantic breadth\.
## Appendix DMore Results
### D\.1GPT\-5\.2 Cross\-Judge Replication
Figure 6:GPT\-5\.2 cross\-judge story\-level transfer using the same expanded stories as the primary story\-transfer experiment\. Left: mean story Overall with±1\\pm 1s\.d\.; right: score\-survival curve over GPT\-5\.2 Overall thresholds\.Figure[6](https://arxiv.org/html/2608.12336#A4.F6)shows that StorySpark remains the top method under GPT\-5\.2 story\-level rerating\. It achieves the highest mean Overall score and keeps the strongest high\-score survival profile\.
Figure 7:GPT\-5\.2 cross\-judge pairwise validation using the same anonymized premise pairs as the primary pairwise experiment\. Left: direct StorySpark preference against each baseline; right: global pairwise ranking by mean candidate\-level Elo rating\.Figure[7](https://arxiv.org/html/2608.12336#A4.F7)shows that StorySpark remains favored in all direct StorySpark\-vs\-baseline comparisons under GPT\-5\.2\. Its global Elo rank is second behind CPX, indicating that the direct preference trend is robust\.
## Appendix ECase Study
We present a same\-theme case study under theMartial Artstheme\. The comparison includes MoPS and StorySpark\. For each method, we show the module path, the synthesized premise, and the story\-level scores after expansion with the same fixed story writer\.
### E\.1Module Paths and Premises
Table 10:MoPS module path and synthesized premise under theMartial Artstheme\.
Table 11:StorySpark module path and synthesized premise under theMartial Artstheme\.
### E\.2Story\-level Scores
Table 12:Story\-level scores for the two same\-theme expanded stories\. F/C/O denotes fascination, completeness, and originality\. MoPS story contains six chapters and approximately 5,593 words; StorySpark story contains six chapters and approximately 5,831 words\.
### E\.3Expanded Stories
Expanded MoPS story under theMartial Artstheme\.
Chapter 1: The Discovery
The dust of ages coated Wei Liang’s tongue\. He had drawn the short straw, the unenviable duty of delivering a sealed scroll to the deepest recess of the Imperial Archives—a labyrinth of shelves and shadows forbidden to any guard of his rank\. The air was thick with the scent of decaying parchment and cedar oil, a tomb for forgotten knowledge\. He moved with the precise, economical steps drilled into him since childhood, his sword a silent weight at his hip, a symbol of his unwavering loyalty to the Qin code\. Every step was a testament to the rigid, geometric forms he had mastered, forms that promised order and absolute obedience\.
Navigating the dimly lit chamber, his boot caught on a flagstone that had shifted with age\. He stumbled, his hand shooting out to brace against the cold stone wall\. A loose brick, disguised by shadows, groaned and slid inward, revealing a dark cavity\. A prickle of fear, quickly suppressed, ran down his spine\. This was a breach, a flaw in the perfect architecture of the court\. He should report it\. He should seal it immediately\.
But his hand, as if with a will of its own, reached into the void\. His fingers brushed against silk, smooth and cool\. He withdrew a folded bundle, its fabric a deep, riverine blue that seemed to drink the faint torchlight\. Unfurling it, he saw characters painted in a flowing, cursive hand: “The Flowing River Style\.” The title alone was a heresy\. His martial training, the very foundation of his being, was built on the unyielding principles of stone and iron—strikes as straight as a plumb line, defenses as solid as a city wall\. This manual spoke of empathy, of yielding, of adapting like water to the shape of its container\.
He should burn it\. He should march directly to his captain and report the seditious text\. The Qin court tolerated no deviation\. But a deep, unfamiliar curiosity, a hunger he did not know he possessed, gnawed at him\. He glanced at the sealed scroll in his other hand\. Duty could wait a single breath\.
He turned a single page\. The characters seemed to writhe before his eyes\. He read of a stance that was not a stance, a movement that was not a strike, but a gentle redirection of an opponent’s force\. As his mind struggled to comprehend the alien philosophy, a strange ache bloomed in his muscles, a deep, forgotten potential stirring in his bones\. It was as if his own body recognized the truth of the words before his mind could\.
Then, the ink shimmered\. The black strokes lifted from the silk like mist, coalescing into a faint, spectral hand\. It was translucent, the color of moonlight on water\. It stretched from the page, slow and deliberate, and rested, feather\-light, on his sword hand\. A jolt, not of pain, but of profound recognition, shot through him\. The touch was cold, yet familiar\. A whisper, dry as the dust around them, brushed against his ear, a voice that was both alien and intimately known\.
“Do not burn it, Wei Liang\. Not yet\.”
The ghostly hand faded, leaving only the thrum of his own panicked heart and the impossible weight of the silk manual in his hands\. The sealed scroll lay forgotten at his feet\. The decision was no longer a simple choice between duty and curiosity\. It was a conversation with a ghost\. He had to hide it\. He had to know who—or what—had touched him\. He quickly stuffed the manual back into the cavity, his fingers trembling, and pushed the brick back into place\. The archives were silent once more, but the air was charged with a secret that now lived in his chest, a secret that had just touched his hand\.
Chapter 2: The Burning and the Oath
The flames had not died\. They coiled within the brazier like living serpents, casting long, wavering shadows across the cracked flagstones of the courtyard\. Wei Liang’s hands still trembled, though he had clenched them into fists until the knuckles shone white\. The silk was gone\. The forbidden words, the diagrams of impossible grace, the heresy of the Flowing River Style—all ash\. He had done it\. He had proven his loyalty\.
But the air was wrong\.
The smoke from the brazier did not rise and scatter as it should have\. Instead, it pooled, thickened, and began to take shape\. A chill crept up Wei Liang’s spine, a cold that had nothing to do with the winter night\. He reached for his sword, but his hand froze mid\-grip\. The smoke coalesced into the outline of a man—taller than him, broader at the shoulder, with a face that was familiar in a way that made his stomach drop\.
It was his own face\.
The ghost wore the same simple guard’s tunic, but it was torn and stained with old, dark blood\. Its eyes held a weariness that Wei Liang had never seen in a mirror, and its hair was streaked with grey at the temples\. It stood within the haze of the dying fire, translucent as morning frost, and yet more real than the stars above\.
“You did right,” the ghost said\. Its voice was his, but deeper, cracked from disuse or grief\. “Now, you must learn what you burned\.”
Wei Liang’s breath caught\. He took a step back, his heel scraping against stone\. “You are the specter from the manual\. I destroyed it\. You should be gone\.”
The ghost smiled, and it was a sad, knowing thing\. “Fire cannot destroy what is written in the marrow\. The silk is gone, but the words remain—in me, and now in the memory of your eyes\. You read three lines before you threw it into the flames\. That is enough to begin\.”
“Begin what?” Wei Liang’s voice cracked\. “I swore an oath\. I will not betray the court\.”
“You swore an oath to burn the book,” the ghost said, stepping closer\. Its feet did not touch the ground\. “You kept it\. But the oath said nothing about forgetting\. And I am here to ensure you do not forget\.”
Wei Liang’s hand finally found his sword hilt, but he did not draw\. The ghost was unarmed, and yet it radiated a quiet authority that made the blade feel like a child’s toy\. “Who are you? Why do you wear my face?”
The ghost tilted its head, and for a moment, something like pain flickered in its eyes\. “I am the memory of the Flowing River Style\. I am every hand that turned its pages, every breath that shaped its forms\. And I am you, Wei Liang—the you that will be, if you survive what is coming\.”
“That is impossible\.”
“Is it?” The ghost raised its hand, and the smoke from the brazier curled around its fingers like a living ribbon\. “The manual was not written by men of this dynasty\. It was written by a man who saw the chain of years as a river, not a wall\. He learned to send his will backward, to whisper to those who came before\. I am his echo, and yours\.”
Wei Liang shook his head, but the denial died in his throat\. The ghost’s presence was undeniable—a weight in the air, a pressure against his skin\. He felt it in his bones, a resonance that hummed with the same rhythm as his own heartbeat\.
“You burned the book,” the ghost continued, “because you were afraid\. Good\. Fear is the first gate\. But now you must learn what you burned, not with your eyes, but with your body\. The manual cannot be destroyed by fire\. It can only be destroyed by being memorized, lived, and then forgotten\. That is the only way to break the chain\.”
“Break the chain?” Wei Liang’s voice was barely a whisper\.
The ghost’s expression hardened\. “The Qin court has bound itself with iron laws, and those laws have bound the spirit of every warrior who serves them\. The Flowing River Style is not a weapon\. It is a key\. If you learn it, truly learn it, you will not be able to obey the court’s commands without question\. You will see the chains for what they are\. And you will have the strength to break them—or the wisdom to bear them\.”
Wei Liang’s hand fell from his sword\. “And if I refuse?”
The ghost’s eyes glowed faintly, like embers\. “Then I will remain here, trapped between the flame and the ash, and you will live out your days as a perfect guard—loyal, obedient, and hollow\. But the chain will not break\. And in thirty years, when the court orders you to put down a village for the crime of feeding its children, you will do it\. And you will remember this night, and you will wish you had learned\.”
The silence stretched\. The brazier crackled, the last embers dying into grey\.
Wei Liang looked at the ghost—at his own future face, lined with sorrow and purpose\. He thought of the oath he had sworn, the loyalty he had pledged\. He thought of the words he had read, only three lines, but they had moved through him like water through dry earth\.
“How long?” he asked\.
The ghost’s smile returned, softer now\. “Until you are whole\.”
It extended its hand\. The smoke parted, and for a moment, the hand was solid—warm, human, waiting\.
Wei Liang took a breath\. Then he reached out and clasped it\.
Chapter 3: The Secret Training
The first lesson came in a dream, though Wei Liang would later swear it was more real than any waking hour\. He stood in a void that was not empty—a landscape of shifting shadows and echoes, where his past combat forms flickered like candle flames in a draft\. Here, the ghost materialized not from smoke but from the very fabric of his memory, a darker shape against the dark\.
“Forget the root,” the ghost said\. Its voice was a whisper of wind through dry reeds\. “Forget the stance\. Forget the salute\. The Qin court teaches you to stand like a tree—rigid, rooted, waiting to be broken\. Water does not wait\. Water does not root\.”
The ghost moved, and Wei Liang saw a flow so seamless it seemed to bend the air around it\. There was no beginning, no end—only motion that redirected, yielded, and struck from the yielding\. The ghost’s hand brushed Wei Liang’s chest, and he felt no force, only a gentle pressure that somehow sent him stumbling backward\.
“Again,” the ghost said\.
Night after night, they trained\. Wei Liang learned to feel the intent behind a strike before the strike was thrown—a subtle tension in the shoulder, a shift of weight, a breath held too long\. He learned to turn an opponent’s momentum against itself, to flow around a blow like water around a stone\. His body began to move in ways that surprised him, muscles remembering patterns his mind had never been taught\.
But the waking hours grew strained\. In the barracks, his senior officers noticed\. Captain Zhao, a man whose face was a mask of perpetual disapproval, pulled him aside after a sparring session\.
“You’re quicker,” Zhao said, his eyes narrowing\. “But you hesitate\. I saw it\. You had an opening to strike the throat, and you pulled back\. Why?”
Wei Liang’s heart hammered\. “I didn’t want to injure my training partner, sir\.”
“Injury is the price of readiness,” Zhao said coldly\. “You are a guard of the Qin court\. Your duty is not to hesitate\. It is to obey, to strike, to end\.”
That night, Wei Liang entered the void with the ghost’s words and Zhao’s words warring in his mind\. The ghost waited, patient as still water\.
“Your captain is afraid,” the ghost said\. “He sees you changing\. He sees the chains loosening\.”
“He sees a weakness,” Wei Liang replied\.
“He sees a threat\.” The ghost extended its hand\. “Come\. Show me what you have learned\.”
They moved through the void, shadow against shadow, and Wei Liang felt something shift inside him\. His body remembered the ghost’s teachings, and for the first time, he did not think\. He simply flowed\. The ghost’s attacks came faster, sharper, but Wei Liang slipped through them like a current through reeds\. He felt the ghost’s intent before each move—the flicker of purpose, the breath of decision\.
And then, he touched it\.
His hand found the ghost’s shoulder, light as a falling leaf\. It was the first time he had landed a strike in their training\. The ghost froze, and for a split second, its face solidified\.
It was his own face\.
Aged\. Scarred\. Lines ran like dry riverbeds across the cheeks, the brow, the jaw\. The eyes held a thousand silences—a thousand things seen, a thousand things unsaid, a thousand things that could not be undone\.
Wei Liang snatched his hand back as though burned\. “You… you are me\.”
The ghost’s face dissolved back into shadow, but its voice was raw, worn thin by time\. “I was you\. I am what you will become if you learn—and what you will not become if you refuse\.”
“Why do you wear my face?” Wei Liang’s voice cracked\.
The ghost was silent for a long moment\. Then, softly: “Because the river flows both ways\. And I have seen where it ends\.”
Wei Liang fell to his knees in the void\. The shadows swirled around him, whispering echoes of his past forms—the stances of a loyal guard, the strikes of a man who had never questioned\. He looked at his hands\. They were the same hands that had held the burning scroll\. The same hands that had touched a ghost\.
“I don’t want to be you,” he said, his voice barely a whisper\.
“Then learn to be more,” the ghost replied\. “But know this: the scars you see are not from battle\. They are from silence\. From watching\. From knowing what comes and being unable to stop it\.”
The void trembled\. The ghost’s form began to fray at the edges, dissolving into the shifting shadows\. Wei Liang reached out, but his hand passed through empty air\.
“Wait,” he said\. “I still don’t understand\.”
“You will,” the ghost’s voice came, fainter now\. “When the river carries you to the same shore\. But for now—train\. And do not tell them what you have seen\.”
The dream shattered\. Wei Liang woke in his cot, gasping, his hand still outstretched\. The dawn light crept through the barracks window, pale and cold\. He looked at his palm, half\-expecting to see the ghost’s touch still lingering there\.
It was empty\.
But his heart was not\. The face—his face, scarred and ancient—burned behind his eyes\. The ghost had not lied\. It had shown him a truth he was not ready to accept\. And somewhere deep in the currents of his mind, he felt the river begin to flow, carrying him toward a future he could not yet see, but could no longer deny\.
Chapter 4: The Broken Seal
The Hall of Supreme Harmony blazed with a thousand lanterns, their light catching the gold\-leaf dragons coiled along the crimson pillars\. Incense rose in perfect spirals from bronze tripods, and the air itself seemed to hold its breath as the Qin Emperor ascended the jade dais, his robes sweeping the marble steps like a river of black silk\.
Wei Liang stood at his post among the honor guard, his spine locked into the perfect vertical demanded by the court style\. His hands gripped his spear with the exact pressure prescribed—neither too tight nor too loose—and his gaze remained fixed on a point exactly three handbreadths above the Emperor’s crown\. He had performed this stance a thousand times\. It required no thought\.
But thought was precisely the problem\.
Even now, with the Chief Inquisitor’s voice droning through the ceremonial proclamations, Wei Liang felt the ghost’s presence like a second heartbeat beneath his ribs\. The dream\-void training had changed something fundamental in his body\. The Flowing River Style now lived in his muscles, in the spaces between his joints, in the way his breath moved through his lungs\. He could feel the rigid court style pressing against him like a cage, and beneath it, the water waiting to move\.
He tried to suppress it\. He clenched his jaw and forced his shoulders into perfect stillness\.
It did not work\.
The Chief Inquisitor, Master Sheng, had not risen to his position by missing details\. He was a man built of angles and edges—his face all sharp cheekbones and hard jaw, his body lean and corded like a drawn bowstring\. His style was the Iron Mountain, the most absolute of the court forms, and he had personally overseen the execution of seventeen heretics who had dared to practice the old, soft ways\.
As he turned to address the assembled court, his eyes swept across the honor guard with the precision of a scalpel\.
They stopped on Wei Liang\.
Master Sheng’s head tilted, just slightly\. His nostrils flared\. And then, with a deliberate slowness that silenced the murmuring courtiers, he stepped down from his position beside the throne and walked directly toward the young guard\.
"Hold," he said, and the single word carried the weight of an imperial decree\.
The ceremony halted\. Musicians lowered their instruments\. The Emperor’s eyes narrowed from his throne, but he did not intervene\. Master Sheng had earned the right to interrupt\.
Wei Liang’s heart slammed against his ribs, but he kept his face still\. He had been trained for this\. He had been trained for everything except what was happening inside him\.
Master Sheng circled him slowly, his footsteps echoing on the marble\. He stopped directly in front of Wei Liang, close enough that Wei Liang could smell the sandalwood oil in the Inquisitor’s robes\.
"There is something foul in your aura, guard," Master Sheng said, his voice soft and dangerous\. "Something that does not belong to the Iron Mountain\. Something that moves\."
He reached out and pressed two fingers against Wei Liang’s chest, just below the collarbone\. The touch was light, almost gentle, but Wei Liang felt it like a brand\. The ghost inside him stirred, and for a fraction of a heartbeat, his energy responded—a ripple, a flow, a deflection that was not quite a movement\.
Master Sheng’s eyes widened\. Then they hardened into chips of obsidian\.
"The Flowing River Style," he breathed\. "I have not felt its touch in twenty years\. I burned the last heretic who practiced it, and I burned his manual with him\." He stepped back, his voice rising to fill the hall\. "This guard has been corrupted\. He has learned the soft way, the way of the traitor, the way that defies the absolute loyalty of the Qin\."
The crowd gasped\. Courtiers drew back as if Wei Liang carried a plague\. The other guards shifted their grips on their spears, uncertainty flickering across their faces\.
Master Sheng drew his blade—a straight, heavy sword designed for the Iron Mountain’s crushing strikes\. "Demonstrate your loyalty," he said\. "The ghost that has infected you—the spirit of the manual you have consumed—it is still inside you\. Break its form with a single, absolute strike\. Purge yourself of heresy, and I will recommend leniency\."
Wei Liang’s mouth went dry\. He could feel the ghost coiled in his chest, waiting, trusting him\. He knew what Master Sheng was asking\. He had seen it done before\. A loyal guard would turn his own energy inward, would sever the connection with a blow that would shatter the ghost and leave the practitioner scarred but alive\.
But the ghost had taught him\. The ghost had bled for him\. The ghost had shown him his own face\.
"No," Wei Liang said\.
The word fell into the silence like a stone into still water\.
Master Sheng’s face went pale with rage\. "You refuse?"
"I refuse\."
The crowd erupted\. Voices rose in shock and accusation\. The Emperor’s guards began to move, their boots thudding against the marble\. Master Sheng’s sword came up, and he lunged with the full weight of the Iron Mountain behind it—a strike meant to crush, to break, to end\.
Wei Liang did not think\. He could not think\. The ghost moved through him, and he moved with it\.
His body dropped, not in the rigid defensive crouch of the court style, but in a flowing spiral that carried him under the strike\. His hand came up, palm open, and caught Master Sheng’s wrist\. Instead of blocking, he redirected—a gentle push, a turn of the hip, a shift of weight that seemed almost lazy\.
Master Sheng’s momentum carried him forward, past Wei Liang, directly into the jade pillar behind him\. The impact cracked the stone\. The Inquisitor crumpled, his sword clattering across the floor\.
For a moment, there was absolute silence\.
Then the guards charged\.
They came from three directions, spears leveled, their faces masks of duty and fear\. Wei Liang had nowhere to go\. The Emperor had risen from his throne, his hand raised, his mouth opening to give the order that would mean death\.
And then the ghost materialized\.
It stepped out of Wei Liang’s shadow, out of the air itself, out of the space between heartbeats\. It was solid, scarred, its face a ruin of burn tissue that barely resembled human features\. But Wei Liang knew those scars\. He had seen them in his dreams\. He had touched them with his own hands\.
The ghost spread its arms, and the air rippled\. The spear points struck an invisible wall, deflected as if they had hit water\. The guards stumbled, off balance, their weapons skidding across the marble\.
The ghost turned to Wei Liang\. Its eyes held a weariness that mirrored his own dreams, a depth of sorrow that spoke of years lived and lost\. It leaned close, and its voice was a whisper that cut through the chaos of the hall\.
"Now you understand\. I am you, from a future where you never burned the book\. You were executed\. I was sent back to ensure you make the choice that lets you live\."
The words landed like a blade between Wei Liang’s ribs\.
He stared at his own scarred face, at the future that should have been his, and the weight of the choice crashed down upon him\. The book\. The fire\. The ghost’s first words, begging him not to burn it\. The training in the dream\-void\. The scars that came from silence and knowing what was coming\.
It was not a ghost\. It was not a memory\. It was him\.
And he had been sent back to save himself by making himself burn the book\.
The guards regrouped\. Master Sheng rose, blood streaming from his forehead, his eyes burning with murder\. The Emperor’s voice cut through the hall, sharp as a blade: "Seize them both\."
Wei Liang looked at the ghost—at himself—and saw the question in its eyes\.
*Now what?*
Chapter 5: The True Choice
The burning courtyard from that first night surrounded them once more, though the flames had long since consumed the forbidden manual\. Now torches ringed the space, held by two dozen imperial archers whose bows were drawn taut, arrowheads glinting like the eyes of hungry wolves\. Captain Zhao stood at their head, his face carved from stone, while behind him, the Emperor’s death warrant lay unfurled on a silk cushion carried by a trembling eunuch\.
Wei Liang stood between the ghost and his doom\.
The ghost’s form flickered in the torchlight, half\-solid, half\-smoke, its face bearing the same scars that had first appeared in the dream\-void\. It did not look at the archers\. It looked only at Wei Liang, and its eyes held a sorrow so deep it seemed older than the empire itself\.
"You understand now," the ghost said, its voice carrying only to Wei Liang’s ears\.
And Wei Liang did understand\. The terrible trap revealed itself like a blade turning in his chest\. If he embraced the ghost—if he allowed himself to be consumed by this future self, to merge with the memory of what he would become—the archers would loose their arrows\. He would die here, and history would reset\. The ghost would find another "him" in another timeline, another young guard who burned the manual, another chance to break the chain\.
But if he rejected the ghost—if he denied it, turned away, let it fade into the smoke from which it came—then the Flowing River Style would die forever\. No one else would learn it\. No one else would carry its whisper through the centuries\. The art would become a forgotten dream, and the Qin court’s rigid chains would bind every generation to come\.
Two choices\. Both were death\. One of the body, one of the soul\.
"Choose," Captain Zhao commanded, his voice flat and final\. "The Emperor’s seal waits for your answer\. Embrace the demon, or renounce it\. There is no middle path\."
But the ghost smiled\.
It was a strange smile, knowing and gentle, the smile of a man who had seen every possible ending and found one that the universe had overlooked\.
"You don’t have to be me," the ghost said\.
Wei Liang’s breath caught\.
"Train the art in your heart alone," the ghost continued, its form growing fainter, as if the very act of speaking this truth was costing it substance\. "Let no one see\. Let the court believe I am destroyed\. In public, be the perfect guard—rigid, obedient, unquestioning\. Let Captain Zhao see the guard he expects\. Let Master Sheng believe his strike purged the corruption\."
The ghost raised its hand, and for a moment, it was not a ghost at all, but a man—a man who had walked this path before, who had learned to live in the spaces between what was seen and what was true\.
"In secret, be the river\."
Wei Liang’s eyes widened\. The archers shifted, uncertain, for they could not hear the ghost’s words\. They saw only a young guard frozen before a phantom, and a phantom that was slowly dissolving like morning mist\.
"You will live long enough to pass it on," the ghost whispered, its voice now barely a breath\. "Not as a manual, but as a whisper\. Find one student\. Just one\. Teach them to flow\. Let them teach another\. The chain will not be broken—it will become a current, hidden beneath the ice of the court’s law\."
"But how…" Wei Liang’s voice cracked\. "How do I live with the lie?"
The ghost’s smile deepened, and for the first time, Wei Liang saw not sadness in its eyes, but hope\.
"You already do," it said\. "Every guard lives a lie\. The lie that obedience is strength\. The lie that the Emperor’s will is just\. The lie that a man’s heart can be forged into a weapon without breaking\. You will simply live a truer lie—one that serves the future instead of the present\."
The ghost’s hand reached out, and Wei Liang took it\. But this time, there was no merging, no absorption\. The ghost’s fingers were cool, insubstantial, like touching the memory of a hand\.
"When I am gone," the ghost said, "they will see only a loyal guard who resisted temptation\. They will burn the empty air and declare victory\. And you will kneel, and bow, and thank the Emperor for his mercy\."
"And then?" Wei Liang asked\.
"And then you will live," the ghost said\. "Truly live\. Not as a hollow shell, but as a secret river carving a canyon one drop at a time\."
The ghost began to fade, its edges blurring into the torchlight\. But before it dissolved entirely, it leaned close, and Wei Liang felt a warmth that had nothing to do with fire\.
"The scars I carry," the ghost said, "are from silence\. But your scars will be from hope\. They will not show on your skin\. They will show in the students you never name, the techniques you never write, the legacy that will outlast the Qin dynasty itself\."
And then the ghost was gone\.
Wei Liang stood alone in the burning courtyard, surrounded by archers, facing the Emperor’s death warrant\. He felt the ghost’s absence like a hollow in his chest, but also something new—a current, flowing where emptiness had been\.
He turned to Captain Zhao\. He knelt\. He pressed his forehead to the cold stone\.
"I have purged the demon," he said, his voice steady\. "I am the Emperor’s loyal servant\."
Captain Zhao studied him for a long moment\. The archers lowered their bows by a fraction\. The eunuch with the death warrant hesitated, then rolled the scroll closed\.
"The Emperor will be pleased," Captain Zhao said, but his eyes narrowed, searching for the lie\.
He did not find it\.
Because Wei Liang was not lying\. He had purged the ghost\. He had let it go\. He had chosen to become something the court could not see, could not name, could not kill\.
He would be the perfect guard\.
And in the secret hours of the night, when the moon was high and the shadows were deep, he would be the river\.
The archers withdrew\. The torches were extinguished\. The courtyard fell into darkness and silence\.
And Wei Liang rose, brushed the ash from his knees, and walked back into the palace, carrying a secret that would outlive every emperor, every dynasty, every chain that men could forge\.
In his heart, the Flowing River Style began to flow\.
And somewhere, in the spaces between what was and what could be, a ghost that was once him smiled, and faded into the current of time, knowing that this time, the chain had not been broken\.
It had simply learned to bend\.
Chapter 6: The Legacy of Silence
The moonlight painted the courtyard in silver and shadow, the same stones Wei Liang had crossed a thousand nights\. Years had carved their passage into his face—deep lines from the corners of his eyes, a scar that ran from temple to jaw, knuckles swollen from decades of gripping a sword he no longer drew in anger\. He was a ghost in plain sight now, the perfect guard, invisible in his loyalty\.
The boy came stumbling through the archway, a practice blade clutched in trembling hands\. He could not have been more than sixteen, his uniform still stiff with newness, his eyes wide with the terror of a first night patrol\. He froze when he saw Wei Liang moving in the courtyard\.
Wei Liang did not stop\. He could not stop\. The moon was full, and the Flowing River Style sang in his bones on such nights, demanding release after years of silence\. His body became water—pouring, circling, yielding\. A strike that was not a strike\. A block that was an invitation\. His feet traced characters on the flagstones, and his breath made the air shimmer\.
The boy’s practice blade clattered to the ground\.
"What is that?" the apprentice whispered, his voice cracking with awe and fear\. "I’ve never seen… that is not Qin combat\. That is not anything I have been taught\."
Wei Liang’s movement ceased\. He stood in the center of the courtyard, his shadow long and still, and he looked at the boy with eyes that had seen too much\. The ghost had not visited him in years—not since the night he had knelt before the archers and declared it purged\. But he felt its presence now, in the boy’s unguarded wonder, in the question that could destroy them both\.
To teach was to die\. To teach was to undo thirty years of perfect silence, to invite the Inquisitors into his home, to paint a target on this boy’s back before he had learned to sharpen his own blade\. The court’s chains were forged from such secrets\. One word, one movement, one whispered lesson, and the Emperor’s justice would fall like a hammer\.
But to stay silent was to let the Flowing River Style die with him\. The ghost had given him a third path—carry the art in his heart, pass it to a single hidden student\. He had waited thirty years for a student\. He had waited thirty years for a boy brave enough to ask the question\.
Wei Liang crossed the courtyard slowly, his boots making no sound\. He placed a hand on the boy’s shoulder, feeling the tremor of youth, the hunger for something more than the rigid forms of the Qin court\. The boy looked up at him, desperate for an answer\.
"Forget what you saw," Wei Liang said\.
The boy’s face fell\. He opened his mouth to protest, but Wei Liang’s grip tightened, just once, a silent command\. Then Wei Liang turned and walked away, his back straight, his duty fulfilled\.
But as he passed the courtyard’s fountain, his fingers brushed the water’s surface\. A single dried leaf, brown and brittle, floated there in the moonlight\. He did not look back\. He did not need to\.
The boy stared at the leaf\. It was shaped like a river’s first bend, like the opening stroke of a character he had never been taught\. He watched it spin in the fountain’s gentle current, and something stirred in his chest—a question that would not be silenced, a hunger that would not be forgotten\.
Wei Liang disappeared into the shadows of the palace corridor\. Behind him, the leaf continued to float, unbroken and unseen, carrying the memory of water in a world of stone\. And the boy, still staring, began to trace the shape with his finger in the air\.
Expanded StorySpark story under theMartial Artstheme\. tab:case\-storyspark\-story StorySpark story
Chapter 1: Ruined Imperial Conservatory
The air within the shattered dome of the Imperial Conservatory still carried the scent of rotted sandalwood and pulverized jade\. Moonlight bled through a jagged fissure in the ceiling, illuminating the scattered bones of music stands and the skeletal remains of a hundred zithers\. Meilin stood in the center of the desecrated hall, her breath misting in the cold, her fingers wrapped in blood\-stained bandages\.
Her guqin was a monstrosity now\. The original lacquer had been stripped away, replaced with iron bands and a mechanism of her own design—a crank that could wind the seven strings to a razor edge\. The seventh string, the one she called*Wrath’s Echo*, could shear through a man’s throat at thirty paces\.
Tonight, she would prove it\.
From the shadows at the hall’s edge, a scout emerged\. He wore the grey robes of a null\-qi practitioner, his face blank, his hands raised in a defensive gesture\. He was one of her student’s scouts, sent to test her\.
Meilin’s fingers found the seventh string\. She plucked\.
The note was not a note\. It was a scream of metal, a high\-pitched*shing*that split the air\. The string detached from the bridge and shot forward, a silver blur aimed at the scout’s chest\.
But the scout did not flinch\. He raised one hand, palm open, and a silence\-field expanded\. The razor\-string hit the shimmering barrier and*stopped*\. It hung in midair, quivering, as if caught in amber\. Then it went slack\. The field had neutralized the qi she had imbued into the steel, turning her weapon into nothing more than a limp piece of wire\. It fell to the flagstones with a pathetic clatter\.
Meilin’s heart seized\. The scout took a step forward, and the silence\-field crept closer\. She could feel it now—a pressure against her eardrums, a deadening of sound\. Her own heartbeat became a muffled thump, then a whisper, then nothing\. The world was collapsing into a void of absence\.
She stumbled backward, her sandals scraping against the rubble\. Her hands, her broken hands, fumbled for the guqin’s body\. She had no other weapon\. She had staked everything on that one string\.
And then she felt it\.
A vibration\. Not from her hands, not from her chest, but from the floor\. A low, resonant hum that traveled up through the soles of her feet, into her spine, into the hollow of her skull\. It was a note, ancient and pure, buried beneath centuries of stone and dust\.
The scout paused\. His null\-qi field flickered\.
Meilin looked down\. Near the base of the ruined stage, a glint of tarnished bronze caught her eye\. An old tuning fork, half\-buried in the rubble, its prongs still quivering from the sympathetic resonance of her failed strike\. The vibration grew stronger, and the entire conservatory seemed to groan in response\. The walls, the pillars, the shattered dome—they all sang a single, mournful note\.
She stared at the floor, at the intricate patterns of stone that had been laid centuries ago—not as decoration, but as a diagram\. A harmonic ley\-line nexus\. The conservatory had not been built here by chance\. It had been built to*channel*something\.
Her vulnerability was exposed, but so was the truth beneath her feet\.
Chapter 2: The Whisper\-Gorge
The Whisper\-Gorge was a wound in the earth that remembered\.
Meilin had chosen this place for its acoustics, for the way the wind curled through the narrow passes and turned stone into song\. She had mapped every resonance point in her youth, when she was still the Emperor’s favorite musician and the gorge was her secret practice hall\. Now she lay flat against the cliff’s edge, the guqin strapped across her back, and watched General Kael’s column march into the throat of the canyon below\.
They moved in perfect silence\.
Five hundred soldiers, their boots wrapped in felt, their armor padded with silk, their breath disciplined into nothingness\. They carried no drums, no horns, no banners that might flutter and snap\. Each man walked with the careful tread of a ghost, and where they passed, the land itself seemed to hold its breath\. The Whisper\-Gorge, famous for its singing stones and echoing walls, had fallen mute\.
Meilin’s fingers found the iron bands of her guqin\. The seventh string—*Wrath’s Echo*—hummed against her palm\.
She had spent three weeks preparing this ambush\. The razor\-strings were not new; she had been modifying them since the conservatory fell, threading monofilament wire through the silk cores, coating them in ground glass and crushed obsidian\. But the*cascade*was her invention—a technique that required her to pluck not individual strings but the spaces between them, creating a fan of cutting edges that spread like a peacock’s tail of death\.
Kael’s soldiers reached the center of the gorge\.
Meilin waited\.
She counted their breaths, measured their steps, felt the weight of their null\-qi fields pressing against the earth like stones dropped into still water\. The ley\-lines beneath the gorge were deep, ancient, sleeping\. Kael’s silence\-troops had not yet learned to dampen them\. That was her window\.
She dropped\.
Not straight down—that would have been suicide, a target against the sky\. She fell in a spiral, her body twisting through the air, the guqin already drawn and positioned\. The wind screamed past her ears, but she did not hear it\. She heard only the strings\.
The first pluck was a*shatter*\.
Five strings, struck simultaneously with the flat of her palm, sent a wave of razor\-edged wire arcing downward\. The strings did not fly; they*extended*, unspooling from the guqin’s body in a cascade of silver death\. They caught the sunlight and threw it back in a thousand glittering fragments, disorienting the soldiers below\.
The second pluck was a*weave*\.
Her fingers danced across the remaining strings, sending cross\-cutting lines that intersected with the first wave, creating a net of slicing edges that descended upon the column like a fisherman’s cast\. The soldiers raised their shields, but the strings found the gaps—the spaces between armor plates, the exposed throats of men looking up, the hands gripping spear shafts too tightly\.
Blood, and then sound\.
The first scream broke the silence, and the gorge remembered how to speak\. The walls caught the cry and multiplied it, throwing it back and forth until the canyon rang with the agony of Kael’s soldiers\. Their formation shattered\. Men stumbled into each other, their null\-qi fields flickering as concentration broke\. The perfect discipline of silence collapsed into chaos\.
Meilin landed on the shoulder of a fallen soldier, rolled, and came up with the guqin braced against her hip\. Her fingers were already moving, finding the next pattern—a*dirge*that would send vibration\-shocks through the stone, disrupting their footing, turning the gorge floor into a drum of discord\.
But Kael had not moved\.
He stood at the center of the chaos, untouched by the blood and the screaming, his hands raised before him in a shape Meilin knew better than her own face\. His fingers curled into the*shang*mode—the second finger pressed to the thumb, the ring finger extended, the palm hollowed to catch and hold silence\.
It was the same position she had taught him on the day he broke her hands\.
"You taught me that, too," he said, and his voice carried through the chaos without effort, as if the silence itself bent to carry his words\. "The*shang*mode\. The silence that answers a question with a question\."
Meilin’s fingers froze above the strings\.
She watched, horror and recognition warring in her chest, as Kael’s hands began to move\. He was not playing a guqin—he had no instrument—but his fingers traced the same patterns, the same gestures, the same*finger\-positions*from her final lesson\. And where his fingers moved, the silence followed\.
The screams died first\. Not abruptly, but as if they were being swallowed, each cry cut short by an invisible hand\. Then the echoes faded\. Then the wind itself fell still\. Kael’s null\-qi field expanded, but it was no longer a mere suppression—it was a*mirror*, a perfect antipathy that took every sound she had made and turned it back upon itself\.
The razor\-strings hung in the air, frozen mid\-descent, quivering against the resistance of his silence\-field\. They had struck an invisible wall, and they could not advance\.
Meilin’s hands trembled\. The broken bones in her fingers ached with the memory of that final lesson—the moment he had seized her wrists and*twisted*, demanding she teach him the secret of the harmonic nexus\. She had refused\. And he had taken her refusal as permission to break her\.
But now, as she watched his fingers curl into the familiar shape, she understood\. He was not merely countering her attack\. He was*playing*silence against her, note for note, gesture for gesture, in perfect antipathy\. Every move she had taught him, he now wielded as a weapon to undo her\.
The gorge fell silent\.
The ley\-lines beneath the stone, which had begun to hum in response to her cascade, were smothered once more\. Kael’s silence\-field pressed against her like a physical weight, and Meilin knew that her ambush had failed\.
She had come to kill her student\.
But he had already learned everything she had to teach\.
Chapter 3: Underground Resonance\-Chamber
The stairwell spiraled downward, each step a descent into deeper darkness\. Meilin pressed her palm against the damp stone wall, feeling the faint pulse of the ley\-line nexus beneath the Conservatory\. The tarnished tuning fork she had found in the ruined hall above still hummed in her pocket, its vibration a thread connecting her to something vast and ancient\.
The air grew colder as she descended\. The silence here was different from Kael’s null\-qi fields—it was not an absence of sound, but a*waiting*for it\. The stones themselves seemed to hold their breath\.
At the bottom, a door of black iron stood half\-open\. Beyond it, a chamber carved from the living rock stretched into darkness\. Meilin lit a small flame with her qi, and the light revealed what she had come to find\.
The walls were covered in grooves\.
Not writing, not symbols—but*lines*\. Thousands of them, carved into the stone at different depths and angles, some shallow as a fingernail’s scratch, others deep enough to swallow a finger\. They ran in spirals and curves, intersecting and diverging, forming patterns that seemed to shift when she looked at them directly\.
She stepped closer, her breath misting in the cold air\. The grooves were not random\. They followed a logic—a grammar of absence that she recognized from years of teaching Kael the ancient forms of musical notation\. But this was not music as she knew it\. This was something else\.
*Tactile*, she realized\.*They were meant to be felt, not heard\.*
Meilin knelt before the nearest wall and pressed her fingers into the first groove\. It was long and slow, like a drawn\-out sigh\. She traced it, her fingertip following its path through the stone\. The groove deepened, then shallowed, then deepened again—a rhythm of pressure and release\.
She closed her eyes\.
The groove was a silence\. A specific silence, measured in the language of what it excluded\. This one held the shape of a battlefield after the fighting had ended—the silence of bodies that would never move again, of cries that had been swallowed by the earth\. She felt it in her bones: the weight of a thousand deaths, each one a note in this terrible symphony of absence\.
*This is his guilt*, she thought\.*This is what he carries\.*
She moved to the next groove\. It was shorter, sharper, like a cut\. The silence of a door closing\. The silence of a word swallowed before it could be spoken\. The silence of a hand raised, then lowered\.
Each groove was a different time\-signature of silence\. Some lasted centuries, their grooves winding around the entire chamber like the coils of a sleeping serpent\. Others were mere heartbeats—brief, violent absences that ended in jagged edges where the silence had been broken\.
Meilin traced them all\. Her fingers grew raw, then numb, then raw again\. She lost track of time\. The chamber became her world, the grooves her language, and the silence her teacher\.
She found the silence of the day she had first taken Kael as a student—a young boy with empty eyes and hands that trembled when he held a zither\. The groove was hesitant, uncertain, like the silence between two strangers meeting for the first time\.
She found the silence of the day he had played his first complete melody—a simple folk tune that had made her weep\. The groove was warm, almost alive, filled with the silence of pride and promise\.
She found the silence of the day he had broken her hands\.
That groove was different\. It was deeper than the others, carved with more force, as if the hand that made it had been shaking\. It spiraled inward, tighter and tighter, until it ended in a point so sharp it drew blood from her fingertip\. The silence of that moment was not empty—it was*full*\. Full of rage, yes, but also something else\. Something that tasted like regret before it had learned its name\.
*He was crying*, she realized\.*When he did it, he was crying\.*
Her blood dripped onto the stone, and the chamber hummed in response\. The ley\-line nexus beneath her feet vibrated, and the grooves on the walls seemed to pulse with a dim, inner light\.
Meilin pulled her hand back and pressed it to her chest\. Her heart was pounding\. She had been tracing the melody for hours—or was it days?—and she was only now beginning to understand its true shape\.
The lost melody was not a sequence of notes\. It was a sequence of*absences*—a map of every moment Kael had chosen silence over speech, every wound he had inflicted by withholding, every guilt he had buried in the hollow spaces of his memory\.
She followed the grooves to the far wall, where the patterns converged into a single, final line\. This was where the melody should end—where the final silence should complete the composition and bring it to resolution\.
But the groove was incomplete\.
It began like the others, a clean cut in the stone, but after a few inches it became ragged, uneven, as if the carver had lost their nerve\. The line stuttered, then stopped altogether, leaving a raw, unfinished scar in the rock\.
Meilin pressed her fingers to the broken edge\. The stone was warm here, warmer than the rest of the chamber\. She felt a faint residue of qi—not the vibrant, flowing qi of a musician, but something else\. Something hollow and still\.
*Null\-qi\.*
She had felt it before, on every battlefield where Kael had silenced her strings\. It was the absence of qi, the negation of vibration, the void that sound could not cross\. And it was here, embedded in the stone like a fossilized whisper\.
*Kael had written this melody after crippling her\.*
The realization struck her like a physical blow\. She staggered back, her hand flying to her mouth\. He had come here—to this hidden chamber beneath the Conservatory, to this place where the ley\-lines hummed with the memory of ancient harmonies—and carved his guilt into the earth with his own null\-qi\.
The silence\-fields he used against her were not just weapons\. They were*confessions*\. Every time he silenced a battlefield, he was repeating a line from this melody\. Every time he froze her strings, he was carving another groove into his own soul\. Every time he looked at her with those empty eyes, he was reading the silence he had written into the stone\.
But the final groove remained unwritten\. The melody was incomplete\. And until it was finished, neither of them could be free\.
Meilin stood slowly, her fingers still tingling from the stone’s cold story\. She looked at her guqin—at the razor\-edged strings, the iron bands, the seventh string she had named*Wrath’s Echo*\. It felt hollow now, a child’s tantrum against a storm\. The question hung in the silence of the chamber, unanswered:*If I finish the melody for him, will it end us—or begin something new?*
She turned back to the wall, to the incomplete groove that waited like an open wound\. Her hand moved to her guqin, hovering over the strings\. Somewhere above, in the ruined Conservatory, the tuning fork she had found still hummed with the resonance of the ley\-lines\. And somewhere beyond that, in the silence of the Whisper\-Gorge, Kael was waiting\.
The melody was not a weapon\. It was a bridge\. And the final silence was not an ending—it was an invitation\.
Meilin closed her eyes and listened to the chamber’s breath\. The grooves on the walls seemed to whisper to her, each one a memory of pain and regret\. She heard Kael’s silence in every one of them—the silence of a boy who had been taught that sound was weakness, that music was a lie, that the only truth was the void\.
But she had taught him differently\. She had shown him that silence could be a foundation, not a prison\. That absence could create space for something new\.
And now, in this underground chamber, she understood what that something was\.
She pressed her palm to the final, incomplete groove\. The stone was warm against her skin, and she felt the null\-qi residue pulse like a dying heartbeat\. It was waiting for her\. Waiting for the one who had been silenced to choose whether to continue the silence—or break it\.
The ley\-line nexus hummed beneath her feet, and the tuning fork in her pocket vibrated in answer\. The chamber was alive with potential, a song waiting to be completed\.
Meilin opened her eyes\. Her reflection stared back at her from the polished surface of the seventh string—*Wrath’s Echo*, she had called it\. But wrath was not what this moment required\.
She lifted her hand from the stone and placed it on the strings of her guqin\. The razor\-edged wires hummed under her touch, eager and dangerous\. But she did not pluck them\. Instead, she waited\.
The silence of the chamber deepened, and in that silence, she heard it: the faint, almost imperceptible vibration of the final groove, still incomplete, still waiting\. It was not a demand\. It was a question\.
*Will you finish what I started?*
Meilin’s fingers hovered over the strings\. The answer was not in the notes she could play, but in the silence she could choose to hold\.
And in that moment of perfect stillness, she understood what the final groove required\. Not music\. Not sound\. But a silence so complete, so intentional, that it could meet Kael’s null\-qi as an equal—and forge something new from the space between them\.
She lowered her hands to her lap and closed her eyes\.
The chamber held its breath\.
And Meilin began to listen to the silence that was waiting to be written\.
Chapter 4: The Silent Dunes
The dunes stretched endlessly beneath a sky bleached of color, each grain of sand holding its breath as Kael descended from the ridge\. Meilin had tracked him for three days across the Wasting Expanse, following the trail of silenced oases and birds that had fallen mid\-song from the sky\. Now he stood before her, no longer the boy she had taught, but something carved from the very absence she had only begun to understand\.
"You shouldn’t have come, Master\." His voice was flat, devoid of the tremor she remembered\. "The melody ends here\."
Meilin’s fingers hovered over*Wrath’s Echo*, the seventh string she had reforged with iron and rage\. But before she could pluck it, Kael raised his hand—not in threat, but in offering\. The air around them*collapsed*\.
It was not silence as she knew it\. This was silence as a physical force, pressing against her eardrums until her own heartbeat became a phantom she could no longer hear\. The wind died\. The sand ceased its eternal whisper\. Even the blood in her veins seemed to flow without sound, as if the universe had been muted at its source\.
Her guqin trembled\. She struck the seventh string—and felt nothing\. No vibration traveled up her arm\. No razor\-edge sliced through the air\. The string simply*was*, and then it was not, its energy swallowed by the null\-qi field that now surrounded them like a second skin\.
She struck again\. And again\. Each time, the sound died before it could be born\.
*Weaponless\.*
The word echoed in her mind, but even that thought felt muffled, as if her own consciousness was being wrapped in cotton\. She had prepared for battle\. She had prepared for death\. She had not prepared for*nothing*\. Her guqin, her strings, her qi—all useless\. She had only her instincts, raw and animal, screaming at her to move, to dodge, to survive\.
Kael watched her, his eyes the color of ash\. "Do you remember the first lesson you taught me? Before the Conservatory, before the politics, before I learned what silence could*do*?"
Meilin’s throat constricted\. She remembered\. A boy of seven, found wandering the streets with no voice and no past, drawn to her music like a moth to flame\. She had taught him that silence was the canvas upon which sound painted its stories\. She had never imagined he would learn to paint*with*the canvas itself\.
The sand beneath their feet began to shift\.
At first, Meilin thought it was her failing vision, a trick of the null\-qi pressing against her senses\. But no—the grains were moving with purpose, carving patterns that spiraled outward from Kael’s feet\. Not random\. Not chaotic\.*Familiar*\.
She had traced those patterns with her fingers in the darkness of the underground chamber\. She had memorized their contours, their gaps, their silences\. The sand was writing the lost melody—not in sound, but in absence\. Each groove that formed was a moment of silence from the ancient song, a wound carved into the earth as if the land itself remembered and wept\.
The silence of the first note appeared: a jagged trench that split the dune in two\. The silence of the second followed: a perfect circle, empty at its center\. The silence of every pause in the forgotten melody: a constellation of hollow points, each one a star that had died before it could burn\.
Meilin fell to her knees\. Not from weakness, but because the sand was*singing*to her in a language she had forgotten\. The grooves were not random\. They were the lost melody made visible, and the land itself was weeping as it remembered what sound had been stolen from it\.
Kael’s composure cracked\. "Stop," he whispered, but no sound escaped his lips\. She saw the word form, saw the pain twist his features, but the null\-qi field swallowed his voice whole\.
The sand continued its lament\. A new pattern emerged, larger than all the others: a spiral that wound inward toward a single point at its center\. Meilin recognized it from the chamber’s final groove—the incomplete line, the one that ended in null\-qi, the one that had been waiting for*her*\.
She looked up at Kael, and for the first time, she saw not the warlord who had broken her hands, but the boy who had cried while doing it\. The boy who had carved his guilt into stone because he had no other way to confess\.
But she had no weapon\. No guqin\. No qi\. Only instinct\.
And instinct told her to wait\.
The sand patterns continued to form, each groove a silence from the lost melody, each hollow a wound in the earth’s memory\. The dunes wept in patterns, and Meilin watched, weaponless, as the land remembered what she could not play\.
Chapter 5: The Center of the Silent Dunes
The stillness between them had become a living thing, breathing with the weight of all that had been broken and all that remained unsaid\. Meilin’s fingers hovered over the single remaining string of her guqin—*Wrath’s Echo*lay shattered at her feet, its iron bands scattered across the sand like the bones of a forgotten war\. Only this one string remained, still taut, still waiting\.
Kael stood motionless before her, his null\-qi field pressing against the air like a held breath\. The sand between them had fallen still, the incomplete spiral of the lost melody carved into its surface now seeming to wait with her\.
She did not think\. She did not plan\. She simply understood, in the way she had once understood how to make a blind boy feel music through his chest, that this moment required something beyond attack or defense\.
Meilin plucked the string\.
The note was pure, untainted by qi, unburdened by rage\. It was not*Wrath’s Echo*that sang, but something older—the first lesson she had ever learned about sound: that vibration needed no ears to be felt\.
The resonance traveled through the guqin’s body, through the wood her hands had once known as home, and into the air between them\. But it did not stop there\. The vibration passed through Kael’s sternum, through the cage of his ribs, through the marrow of his bones, bypassing his deaf ears entirely and reaching the core of him where no silence\-field could follow\.
Kael’s null\-qi core reacted before his mind could—an instinct honed through years of war, trained to dampen, to cancel, to silence\. The vibration began to attenuate, to fade into the void he carried within him\.
But the sensation triggered something\.
A memory, unbidden and sharp: Meilin pressing his small hands to the belly of a guqin when he was seven, guiding his palms to feel the thrum of a single note through his chest because his ears could not hear it\.*This is how music lives in you,*she had said\.*Not through sound\. Through feeling\.*
His null\-qi core hesitated\.
The vibration did not stop\.
Kael understood then what she was offering—not an attack, not a plea, but an invitation\. He opened his mouth, and from the depths of his null\-qi core, he hummed\.
It was not a note\. It was an anti\-note, a pure null\-frequency that should have canceled all sound\. But he did not aim it at her vibration\. He aimed it beside it, around it, a counterpoint of emptiness that wrapped around her resonance like a hand cupping a flame\.
The two vibrations met\.
They did not cancel\.
They harmonized\.
A third resonance emerged from their intersection—not sound, not silence, but something that existed in the space between\. A soundless peace, born not from the absence of conflict but from the presence of two broken things choosing to vibrate together\.
The stillness held them\.
And in that stillness, the lost melody was complete\.
Chapter 6: The Entire Wounded Kingdom
The harmonic silence spread from Meilin and Kael like ripples in a pond that had forgotten water\. It moved outward across the Wasting Expanse, where the sand that had carved itself into patterns of guilt and memory now smoothed into something like peace\. The silence did not erase—it mended\. Where null\-qi scars had cracked the earth, the vibration threaded through like a needle pulling closed a wound\. Where sound had been deadened for years, the air began to hum again, first at frequencies too low to hear, then in the whisper of wind across stone, the distant call of a bird testing its voice\. The mending spread across the entire kingdom, each healed scar restoring sound in balanced measure—not too loud, not too soft, but exactly as it should be\.
Meilin felt it in her chest first, a warmth that had nothing to do with qi and everything to do with the vibration still trembling between her and the boy she had once taught\. Kael stood across from her, his eyes wide, his hands pressed against his own sternum as if feeling his heartbeat for the first time\. The null\-qi fields that had surrounded him like armor had dissolved into something softer, a silence that listened rather than consumed\.
Neither of them spoke\. Words felt unnecessary, almost clumsy, in the presence of what they had created\.
The peace lasted three days\.
On the fourth morning, dust rose on the horizon\. Meilin recognized the gait of old horses, the creak of wooden carts that had traveled far\. She rose from where she had been sitting beside Kael, teaching him with her fingers pressed to his throat how to feel the vibration of his own voice without needing to hear it\.
The caravan that emerged from the haze was small but unmistakable\. Survivors of the Imperial Conservatory—the ones who had hidden when Kael’s purges came, the ones who had fled into the mountains and deserts, the ones who had watched their colleagues dragged away for refusing to silence their instruments\. Meilin counted twelve faces she knew, each one etched with grief and hunger and a terrible, righteous fury\.
At their head walked Master Wen, the oldest of the court musicians, his white beard stained yellow from years of hiding\. He carried no instrument\. His hands were empty, and that emptiness was itself a weapon\.
"Meilin," he said, his voice cracking from disuse\. "We felt it\. The mending\. We felt the land heal\." His eyes moved past her to where Kael sat, still and watchful\. "And we knew you had found him\."
The others fanned out behind him, forming a semicircle that separated Meilin from her former student\. They carried no blades, no bows, no weapons of steel\. But their hands were shaped for strings and mallets and reeds, and in the old ways, those hands could kill just as surely\.
"You know what must be done," Master Wen said\. "He broke your hands\. He silenced our halls\. He murdered those who would not bow to his vision of perfect stillness\." His voice trembled\. "I buried my own daughter beneath the collapsed eastern wing\. She was practicing the*qin*when his soldiers came\. She refused to stop playing\."
Meilin closed her eyes\. She had known\. She had known about all of them\.
"He is your student," another musician said, a woman whose left ear had been cut off as a warning\. "Your failure to guide him\. Your responsibility to end him\."
The word hung in the air like a blade waiting to fall\.
*End him\.*
Meilin opened her eyes and looked at Kael\. He had not moved from his seated position, but his hands had come to rest on his knees, palms open\. He was watching her with the same expression he had worn when she first taught him to feel music through his chest—trusting, terrified, hoping she would not abandon him\.
"No," Meilin said\.
Master Wen’s face hardened\. "You would spare the man who—"
"I would not spare him," Meilin interrupted, her voice quiet but carrying the weight of the harmonic silence still thrumming beneath their feet\. "I would transform him\. And I would transform you\. And I would transform this entire wounded kingdom, not by cutting out what is broken, but by teaching it to sing in a new key\."
She reached down and picked up a handful of sand from the expanse\. Let it trickle through her fingers\. Watched the grains catch the light\.
"The lost melody," she said, "is not a sequence of notes\. It is a sequence of silences\. Kael taught me that, even when he did not mean to\. He carved his guilt into stone, his pain into the very fabric of soundlessness\. And when I finally listened—not to what he said, but to what he could not say—I found the melody waiting\."
Master Wen shook his head\. "You speak in riddles\."
"I speak in truth\." Meilin turned to face the survivors fully\. "You want me to kill him because you believe justice requires blood\. But I have already shed blood\. I have already screamed\. I have already felt my hands break beneath his, and I have already chosen to meet that breaking with something other than revenge\."
She walked toward them, slowly, her feet bare against the healed earth\.
"Join me\." She began to hum—not a tune, but a silence shaped by breath\. The first note of the lost melody, the one that said*I remember*\. She held it in her chest, let it resonate through her bones, and then let it fall away into stillness\.
Master Wen’s jaw tightened\. But he did not look away\.
Meilin hummed again\. A different silence this time\. The one that said*I forgive*\.
Behind her, she heard Kael’s breath catch\. She did not turn around\. She kept her eyes on the survivors, on their grief\-hardened faces, on the wounds they carried like instruments they no longer knew how to play\.
One by one, they began to understand\.
The woman with the missing ear was the first to join\. She closed her eyes and let out a sound that was not quite a hum, not quite a sigh, but something in between—a silence that said*I am still here*\. The man beside her followed, his own breath shaping a pause that meant*I remember her too*\.
Master Wen was the last\.
He stood rigid, his hands trembling at his sides, his face a mask of fury and sorrow and the unbearable weight of years spent running\. Meilin watched him struggle\. Watched him fight against the melody that was not a melody, the silence that was not empty\.
And then he broke\.
Not in anger\. Not in collapse\. He broke open, like a seed cracking in spring soil, and from his throat came a silence so raw and jagged that it tore the air itself—the silence of a father burying his daughter, the silence of a teacher watching his students die, the silence of a man who had forgotten that silence could be anything but violence\.
The other survivors joined him, their collective silence rising like a chorus of held breaths, each one a different shade of loss and longing and the fragile possibility of something new\.
Meilin stood at the center of them, her hands still scarred, her guqin shattered, her heart wide open\. She felt Kael rise and walk toward her, felt his presence at her back, felt the null\-qi in his core pulsing in time with her own vibration\.
They were not enemies anymore\. They were not teacher and student\. They were co\-creators of a soundless peace, born from mutual wounds, held together by the only melody that had ever mattered—the one that could only be played in the spaces between what was said and what was felt\.
The harmonic silence spread further still, carrying their symphony of forgiveness across the kingdom, binding every scar and every silence and every broken thing into a new world that had learned, at last, how to listen\.相似文章
通过联合生成与评估实现自进化深度研究
来自香港科技大学、字节跳动和UCL的研究人员提出了SCORE——一种协同进化训练框架,将LLM同时训练为深度研究报告生成器和评估器,并通过元约束机制动态调整评估难度,防止奖励饱和。实验表明,该方法在开放式研究报告质量上取得了持续提升。
SAGE:基于属性引导规则演化的自演化分镜技能
SAGE是一个利用自演化规则和属性引导更新来自动化短剧制作中分镜生成的框架,实现了专家级性能,并在商业部署中减少了制作时间。
MetaEvo: 一种用于经验驱动型智能体持续进化的元优化框架
MetaEvo 提出了一种两阶段框架,用于基于LLM的智能体的持续进化,利用基于偏好的优化来增强原则抽象和用于经验重用的模块化架构,在推理基准测试上优于强基线。
研究PSCLS的最新进展
作者分享了Leo/PSCLS的早期进展,这是一个实验性系统,能够学习序列间的关系,并在训练更多故事时改进其故事生成效果和指标。
理解Evolution Strategies在LLM推理中的应用:比GRPO更广泛的推理覆盖
本文研究了Evolution Strategies (ES)作为LLM推理的后训练范式,表明ES通过稀疏功能更新和种群多样性,提供了比GRPO更广泛的推理覆盖和更好的Pass@K性能。