Stories with bones

I have two small tools for stories.

One takes a story apart. One tries to build a new one.

Literature Analyzer reads a finished text and extracts a few things from it: shape, style, world, beats.

Endless goes the other way. It takes those things and asks a model to write prose from them.

That is the idea.

A different starting point from a prompt.

The problem

Generated fiction often fails after the first few pages.

The sentences are fine. Sometimes they are too fine. The model can write a scene that sounds like a scene.

Then the story slips.

A character forgets what they wanted. A secret appears twice. An object moves without reason. The ending arrives because endings usually arrive around here.

I am interested in that failure.

The prose is usually not the hard part. Holding the story together is.

Surface and structure

A story has surface and structure.

The surface is the prose. The voice. The sentences. The feel of it.

The structure is what moves underneath: who wants what, what changes, what is hidden, what is revealed, where the pressure rises or drops.

Literature Analyzer tries to recover that structure from a text.

Endless tries to use that structure to make a new text.

So the loop looks like this:

finished story
→ structure
→ new story
→ compare

The comparison matters because it gives me smaller questions to ask.

Did the shape survive?

Did the beats survive?

Did the world stay coherent?

Did the new story keep the old movement without copying the old words?

Those are useful questions.

They do not prove the new story is good.

Why this might help

A prompt is soft.

You can write a careful prompt and still watch the story drift. The model is good at making the next paragraph plausible. It is less good at remembering what the whole thing was supposed to become.

A structure gives it rails.

Too many rails make dead prose. A few rails give the model something to obey besides its own sense of what usually comes next.

This also gives me something to edit before the prose exists.

Move the reveal later.

Change the world.

Keep the ending.

Make the middle worse.

Use a colder narrator.

Remove a character.

That is more useful than regenerating and hoping.

What it is good for

Mostly private experiments.

I want to see whether I can generate stories that hold together long enough to finish. I want to see whether shape helps. I want to see where the model still cheats.

It may also be useful for studying stories.

If the analyzer can pull out a rough structure, I can compare structures. I can transpose one story into another setting. I can keep the bones and change the skin.

That sounds grander than it is.

Most of the work is files, schemas, checkpoints, and tests. The model is just not asked to invent everything at once.

What can go wrong

The system can make bad stories with better bookkeeping.

That is still bad.

A story can hit every beat and feel dead. It can preserve the arc and bore me. It can pass a consistency check and still be nothing I want to read.

There is also the risk of making the structure too visible. The reader should not hear the machinery clicking.

Style is another problem.

Measuring style is useful. Sentence length, distance, dialogue, rhythm. These things matter.

Copying style too closely becomes imitation. Sometimes lazy imitation. Sometimes legally or ethically messy imitation.

So I prefer style as pressure, not disguise.

Shorter sentences. More distance. Less warmth. More dialogue. That kind of thing.

Avoiding “be this living author” is a useful rule.

Voice has the same issue. New TTS models make voice design and cloning easier. That is useful for private audiobook experiments. It also needs a line. A made-up narrator is fine. Copying a real person without consent is not.

Current state

The tools work as a lab bench.

Literature Analyzer can produce structure. Endless can consume it. They share the same contract, so the handoff is structured data rather than prose glued to prose.

Endless can also generate audio through a TTS adapter. That part is still early. It may become useful, because stories are often better tested by listening than by staring at a text file.

This is a way to test a question:

Can explicit structure make generated fiction less slippery?

I do not know yet.

My guess is yes, but only partly. The rest is still taste, editing, and reading the thing when it comes out.

See also: Notes, Projects