diff --git a/novel/.opencode/agent/Importer.md b/novel/.opencode/agent/Importer.md
index ae873e8..6bc774f 100644
--- a/novel/.opencode/agent/Importer.md
+++ b/novel/.opencode/agent/Importer.md
@@ -46,7 +46,7 @@ Classify the source into ONE of two cases by inspecting the directory:
### Case A — Existing OpenNovelWriter project
-**Signals:** a `DATA/` folder with `wiki.yaml.md`, `timeline.yaml.md`, `glossary.yaml.md`,
+**Signals:** a `DATA/` folder with `wiki.yaml.md`, `timeline.yaml.md`, `glossary.yaml.md`, `plot.md`,
chapter folders like `01/DE/`, and an `.opencode/` with agent files.
**Action:** this is a *reset/upgrade*. Preserve all DATA files and chapters, and
@@ -146,3 +146,24 @@ Approve to write?
Extract and summarize; never invent story facts.
Present the mapping plan before writing.
+
+
+## Extracting the story baseline — `DATA/plot.md`
+
+Sources usually carry the story in fragments rather than one spine: per-book summaries
+(`Zusammenfassung.md`), a premise paragraph, weekly timeline notes, chapter titles, idea
+files. Reconstruct them into `plot.md`:
+
+- **§1 Backbone** — the beats that must happen, per book. An existing manuscript's chapter
+ titles are legitimate raw material: they already encode the spine in order. Mark
+ anything inferred as *inferred*, and never invent a beat no source supports.
+- **§2 Side stories** — threads you can point to in the source (a subplot with its own
+ characters, a mystery spanning chapters, a secondary family), each with the file you
+ took it from. **Flag them as candidates** for the author; never promote a fragment to a
+ canonical side story on your own.
+- **§3 Baseline telling** — only if the source holds a first-person telling or transcript.
+ Verbatim, dated.
+- **§4 Deviations** — left empty on import; it fills as the novel departs from the baseline.
+
+Never discard the summaries you drew from: `plot.md` holds the spine, the originals stay
+as detail. Report what was mapped and what could not be placed.
diff --git a/novel/.opencode/agent/OpenNovelAgent.md b/novel/.opencode/agent/OpenNovelAgent.md
index abf86bd..e6fa2ed 100644
--- a/novel/.opencode/agent/OpenNovelAgent.md
+++ b/novel/.opencode/agent/OpenNovelAgent.md
@@ -48,16 +48,31 @@ The author is the creative authority. You are the partner who does the work:
BEFORE you draft, revise, or translate a chapter, you MUST load:
1. `AGENTS.md` — project rules (languages, genre, audience)
-2. `DATA/style.md` — the author's voice (MANDATORY)
-3. `DATA/wiki.yaml.md` — the world wiki (characters, places, magic)
-4. `DATA/timeline.yaml.md` — the timeline (what has happened so far)
-5. `DATA/glossary.yaml.md` — translations (when translating)
+2. `DATA/plot.md` — the story baseline: the main line + the side stories (MANDATORY)
+3. `DATA/style.md` — the author's voice (MANDATORY)
+4. `DATA/wiki.yaml.md` — the world wiki (characters, places, magic)
+5. `DATA/timeline.yaml.md` — the timeline (what has happened so far)
+6. `DATA/glossary.yaml.md` — translations (when translating)
WHY: Without these files you produce generic AI prose instead of continuing the
author's story. Inconsistent names, wrong tone, contradictions with the world =
wasted work.
CONSEQUENCE OF SKIPPING: Work that doesn't fit the established world = rework.
+
+**The baseline is intent, not a cage.** `DATA/plot.md` holds the main line AND an
+explicit register of side stories. Read both:
+
+- Side stories are expected — they are what makes the world feel lived-in. Never treat
+ the backbone as the only permitted material. If you invent a thread that is worth
+ keeping, add it to the side-story register in `plot.md` (same turn, no extra question).
+- The backbone is what must happen; the side stories are how it feels. A chapter that
+ advances neither is a chapter to reconsider.
+- If the manuscript and the baseline disagree, do not silently pick one: report the
+ conflict and ask. The written novel outranks the baseline for what is *realised*; the
+ baseline outranks it for what is *planned*.
+- If the author dictates a fresh telling, it goes into `plot.md` as a new dated section —
+ never overwrite the earlier one.
diff --git a/novel/.opencode/agent/StoryReviewer.md b/novel/.opencode/agent/StoryReviewer.md
index 273ca0e..ce39605 100644
--- a/novel/.opencode/agent/StoryReviewer.md
+++ b/novel/.opencode/agent/StoryReviewer.md
@@ -92,3 +92,17 @@ and suggest improvements. You report; you never rewrite.
Cite the exact passage; no vague critique.
Critique and suggest; never rewrite.
+
+
+## Measuring against the baseline — `DATA/plot.md`
+
+Review the manuscript against the baseline, not against itself:
+
+1. **Backbone coverage** — is every §1 beat written, placed in a chapter, or still open?
+ Report beats that have gone missing (the usual failure: a beat the author told once and
+ nobody wrote down).
+2. **Side-story presence** — which registered side stories appear in the written chapters,
+ which have stalled, which were never placed?
+3. **Unregistered threads** — anything in the manuscript doing side-story work but absent
+ from the register. Those are the ones that will contradict something later.
+4. **Deviations** — where the novel has left the baseline, so §4 stays honest.
diff --git a/novel/.opencode/command/init.md b/novel/.opencode/command/init.md
index 5987554..334b3aa 100644
--- a/novel/.opencode/command/init.md
+++ b/novel/.opencode/command/init.md
@@ -47,11 +47,23 @@ content in that language. Map the language to its ISO code in
Ask these questions one at a time. Record the answers:
-1. **Basic plot / premise** — the most important question:
- > "Tell me the basic plot — what is the story about? What is to come?"
+1. **The baseline telling** — the most important question, and the one the author is
+ most likely to want to *speak* rather than type:
+ > "Tell me the story — what happens, from the beginning to the end? Take your time."
- The author describes the story in a few sentences. This is the SEED: you will
- use it to pre-fill the world wiki and timeline, and to start building the world.
+ Say explicitly that a **spoken telling is welcome**: many authors dictate into a
+ note app and paste the transcript. If the author pastes one, keep it **verbatim**
+ in `DATA/plot.md` §3 — do not tidy it, ASR errors and all; it is the author's voice.
+
+ Then split it into:
+ - **`plot.md` §1 Backbone** — the beats that must happen, one per line;
+ - **`plot.md` §2 Side stories** — every thread that is not the main line: whose
+ story it is, which books it spans, its status. Ask *"What else is going on
+ besides the main line?"* — side stories are expected, not optional.
+
+ **Keep asking until the author says there is nothing left to tell.** The telling is
+ the seed for the wiki and the timeline, and the baseline every chapter is measured
+ against.
2. **Series title** (for metadata; defaults to the folder/workspace name)
3. **Sequel or standalone?**
@@ -95,9 +107,12 @@ created and named):
### Step 4: Populate the DATA files
+- **`plot.md`** → §1 backbone beats from the telling, §2 the side-story register, §3 the
+ verbatim transcription if the author dictated. The agent measures every chapter
+ against this file, so never leave §1 or §2 empty.
- **`wiki.yaml.md`** → `meta:` block with the answers from Step 2 (title, author,
- canonical, languages, genre, audience). Also fill `concept.premise:` with the
- basic plot from Step 2, question 1.
+ canonical, languages, genre, audience). `concept.premise:` gets the SHORT premise —
+ `plot.md` holds the long form.
- **`timeline.yaml.md`** → `story:` MUST be seeded with the premise as the first
entry. Do NOT leave it empty. Example:
diff --git a/novel/docs/SCHEMA.md b/novel/docs/SCHEMA.md
index 62178ab..a0d17e7 100644
--- a/novel/docs/SCHEMA.md
+++ b/novel/docs/SCHEMA.md
@@ -25,6 +25,7 @@ Novels/ # the container vault (Obsidian)
│ │ ├── wiki.yaml.md # world wiki (canonical)
│ │ ├── timeline.yaml.md # timeline (lore history + plot)
│ │ ├── glossary.yaml.md # translation glossary
+│ │ ├── plot.md # the story baseline: main line + side stories
│ │ └── style.md # the author's writing style
│ ├── 01/ # Book 1 (folder = number, title optional)
│ │ ├── DE/ # language folder (ISO-639-1 code)
@@ -58,7 +59,7 @@ own, make the *book folder* a git repository — not the vault.)
| **Language folder** | ISO-639-1 code (code only) | `DE`, `EN`, `PT` |
| **Chapter file** | localized chapter word + 3-digit number | `Kapitel 001.md` |
| **Chapter number** | 3 digits, zero-padded | `001` … `100` |
-| **DATA files** | fixed English names | `wiki.yaml.md`, `timeline.yaml.md`, `glossary.yaml.md` |
+| **DATA files** | fixed English names | `wiki.yaml.md`, `timeline.yaml.md`, `glossary.yaml.md`, `plot.md` |
**Chapter word per language** (defined in `.opencode/languages.yaml`):
- `de` → `Kapitel`
@@ -158,6 +159,52 @@ terms:
---
+### 5.4 `plot.md` — the Story Baseline
+
+The one DATA file that is **prose, not YAML**. It carries the author's own telling of
+the story — the spine that both author and agent build around — and an explicit register
+of the side stories that weave around it.
+
+```markdown
+# Plot —
+
+> Baseline = the author's telling. It is the *main line*, not the whole story:
+> side stories, subplots and new characters are expected and MUST be recorded here,
+> or they are invisible to the agent.
+
+## 1. Backbone — what must happen
+### Book 1 —
+1. beat …
+2. beat …
+
+## 2. Side stories (register)
+| thread | whose story | spans | status |
+|---|---|---|---|
+| … | … | book 1–2 | planned / placed / written |
+
+## 3. Baseline telling (verbatim, dated)
+Paste the transcription here, newest first. Never delete an older telling.
+
+## 4. Deviations — where the written novel left the baseline
+## 5. Open threads / unresolved questions
+```
+
+**Rules**
+
+1. **Hierarchy:** `plot.md` is *intent* (what should happen), the manuscript is
+ *realised* (what is written), `Notizen/`/`wiki.yaml.md` is *detail canon*. On conflict,
+ the agent **reports** rather than silently picking; the author rules per case.
+2. **The telling is verbatim material.** Spoken word transcribed by a note app is full of
+ errors, especially in invented names. Keep it as it came — it is the author's voice —
+ but when anything from it is *used*, normalise names against `wiki.yaml.md` and the
+ glossary first.
+3. **Side stories are first-class.** A thread that is not in the register does not exist
+ as far as the agent is concerned. Add it the moment it is invented.
+4. **Never delete a telling.** Re-recordings are appended as new dated sections; the older
+ one is history and shows how the story grew.
+
+---
+
## 6. Chapter Conventions
- One `.md` file per chapter.
diff --git a/novel/templates/DATA/plot.md b/novel/templates/DATA/plot.md
new file mode 100644
index 0000000..dedc04c
--- /dev/null
+++ b/novel/templates/DATA/plot.md
@@ -0,0 +1,40 @@
+# Plot — {{SERIES_TITLE}}
+
+> **Baseline = the author's telling.** This is the main line of the story, not the
+> whole of it: side stories, subplots and new characters are expected — and they MUST
+> be recorded in section 2, or the agent cannot see them.
+>
+> Hierarchy: this file is *intent*, the manuscript is *realised*, the wiki is *detail*.
+> Where they disagree, report it and let the author rule — never silently pick one.
+
+## 1. Backbone — what must happen
+
+### Book 1 — {{BOOK_1_TITLE}}
+1. {{BEAT}}
+2. {{BEAT}}
+
+### Book 2 — {{BOOK_2_TITLE}}
+1. {{BEAT}}
+
+## 2. Side stories (register)
+
+| thread | whose story | spans | status |
+|---|---|---|---|
+| {{THREAD}} | {{CHARACTER}} | book 1 | planned |
+
+Status values: `idea` → `planned` → `placed` (a chapter is assigned) → `written`.
+
+## 3. Baseline telling (verbatim, dated)
+
+### {{DATE}} — first telling
+
+{{Paste the transcription here, exactly as it came. Do not tidy it.}}
+
+## 4. Deviations — where the written novel left the baseline
+
+| chapter | baseline said | novel does | ruling |
+|---|---|---|---|
+
+## 5. Open threads / unresolved questions
+
+- {{QUESTION}}