How Asten works
Asten keeps a record of the facts you settle, compares each page against it, and marks what disagrees. You decide what to do with each mark.

In short
Asten works in four steps. You write freely; you settle the details that matter as facts; Asten’s deterministic compiler marks any page that disagrees with those facts, in red, with evidence; and you decide whether to keep the sentence, update canon, record a change, or silence the rule. Asten never edits your text.
Write
Open a scene and type. No setup, no character forms, no world bible required. The binder keeps chapters, scenes, notes, and sources in order.
Settle
When a detail matters, settle it as a fact: Mira · hair · auburn. It joins your canon, with a status, an optional span of story time, and a source.
Notice
When a later page disagrees with what you settled, Asten marks it in red in the margin with a code, both sides of the disagreement, and your options.
Decide
Keep the sentence, update canon, record a change, or silence the rule. Asten records your decision. It never rewrites a word.
1. Write, with nothing in the way
Create a project (novel, screenplay, non-fiction, or something else) and start a scene. Asten doesn’t ask for a synopsis, a character sheet, or a map. The binder holds chapters, scenes, notes, and sources; the page is plain and quiet.
If you already have a draft, import it from Markdown, plain text, Fountain, HTML, or .docx.
2. Settle the facts that matter
A detail becomes canon when you settle it. Each fact records who it’s about, what it says, how sure you are, when in story time it’s true, and where it came from.
- Mira · hair · auburn
- Confirmed, established, settled in chapter 2.
- Oren · status · dead
- Confirmed, from chapter 9 onward.
- Veld · east of · the reef
- Settled from the atlas.
- The guild · founded · year 300
- Contested: three characters disagree, and that’s the point.
You can settle facts from the cast or canon views, or from a world entry you mark settled. Asten also reads names and plain attributes from the page with fixed rules and weighs them against your facts; what it reads is never stored as a fact, so canon changes only when you change it.
Chapter 19
The harbor at dawn
The tide came in grey over the harbor at Veld, carrying the smell of last night’s fires.
Mira pushed her black hair out of her eyes and listened for the bell.
“You’re late,” Oren said, though he had only just arrived himself.
Three of the fifteen rules
Asten ships fifteen canon rules in seven families, each with a stable code that means the same thing every time. Three examples:
- ① Settled: Mira · hair · auburn
- ② Chapter 19 says: “black”
- Add an event · Retire “auburn” · Silence this mark · Keep my sentence
- ① Captain Oren dies (day 9)
- ② Chapter 14 mentions Captain Oren in narration
- Mark the scene as a memory · Set the scene’s time · Keep my sentence
- ① Chapter 10: placed at day 17
- ② Chapter 11: placed at day 4
- Set the scene’s time · This scene is not part of the run · Keep my sentence
3. Asten notices, in red
Asten’s compiler weighs your project against its canon. When something doesn’t balance, a red mark appears in the margin beside the sentence, with a stable code and both sides of the disagreement.
4. You decide
A mark is a question, not a correction. Every mark offers choices, and none of them touch your sentence unless you do:
- Keep my sentence. Nothing changes on the page, and the mark stays until you decide.
- Silence the mark. The suppression and your reason stay with the project, and the mark comes back for review if its evidence changes.
- Retire the old fact. The page was right; retire “auburn” and settle black.
- Record a change. Add an event, or let auburn hold until a day: auburn until chapter 12, black after.
- Mark it contested. For lies, legends, and unreliable narrators. Contested facts never raise errors.
- Deprecate the old fact. It stays in history but stops being compared.
Example: an attribute check
Your page
Mira pushed her black hair out of her eyes and listened for the bell.
Your canon
Mira · hair · auburn
settled in chapter 2
- ① Settled: Mira · hair · auburn
- ② Chapter 19 says: “black”
- ③ No event between an unplaced time and day 40 changes Mira’s hair.
Most likely slip: ② (93%)
Mira’s hair was settled as auburn.
About the process
How does Asten find contradictions?
Does Asten change my text when it finds a problem?
What if I don’t want to settle any facts?
Keep reading
Try the pre-alpha
Open the workbench in your browser on a sample novel, or download release 0.0.1b for Windows or Linux.