From 1ff88fd3727be115b7bd026256609d42897b7762 Mon Sep 17 00:00:00 2001 From: cclohmar Date: Fri, 16 Oct 2026 23:22:21 +0100 Subject: [PATCH] docs(novel): record the verified vault lineage and correct the schema framing Timestamps show the pack was authored in the OpenNovelWriter vault (17:10-21:33, 8 Sept 2026), deployed to Scruffy + Kessler at 21:34:47, and only then did Scruffy receive its real content (DATA/ 21:46-21:54, Kapitel 002 22:00, Kapitel 001 on 9 Sept) - Scruffy is the live project and the best instance, not a stale copy. Also verified: Scruffy's SCHEMA.md has no unique content (7 structural lines only), so the pack revision supersedes it without loss, and the Kessler vault was an import test that should not be the import target. --- novel/PACK-NOTES.md | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/novel/PACK-NOTES.md b/novel/PACK-NOTES.md index 430a1e8..bc4a3df 100644 --- a/novel/PACK-NOTES.md +++ b/novel/PACK-NOTES.md @@ -2,6 +2,24 @@ Committed 2026-10-16 by Hermes. Before this, the pack existed **only** as three byte-identical copies inside Obsidian vaults, with no version control. +## Lineage (verified from filesystem mtimes) + +The three vaults are not redundant copies of one thing — they have distinct roles: + +| when (8–9 Sept 2026) | where | what | +|---|---|---| +| 17:10 → 21:33 | `OpenNovelWriter` vault | the pack was **authored/rebuilt here** (AI-assisted OAC → OWC conversion); `docs/SCHEMA.md` last revised 21:30 | +| 21:34:47 | `Scruffy-der-Weltenhund` + `Die-Kessler-Zwillinge` | the pack was **deployed** to both — hence identical md5s | +| 21:46 → 22:00 | `Scruffy-der-Weltenhund` | **real writing and data**: `DATA/style.md` 21:46, `glossary` 21:52, `wiki`+`timeline` 21:54, `01/DE/Kapitel 002` 22:00 | +| 9 Sept 13:44 | `Scruffy-der-Weltenhund` | `01/DE/Kapitel 001.md` — the newest file in the whole set | + +**Consequences for anyone reading this later:** + +- **Scruffy is the live project and the best instance** — it holds the only book content (`DATA/`, `01/DE/`, a filled-in `AGENTS.md`) and the newest timestamps. It is the reference for how the pack behaves in real use. +- **`OpenNovelWriter` is the pack's source** — it is where the framework was authored and revised, and it carries the distribution extras (`LICENSE`, `templates/`, product `README.md`). +- **`Die-Kessler-Zwillinge` was an import test, not the final project.** It contains only the pack plus Obsidian's stock `Welcome.md`; no manuscript was ever imported into it. Treat it as disposable — create a fresh vault for the real Kessler import. +- The pack was deployed *before* Scruffy's writing began, so Scruffy's instance files are **newer than the pack** — never "restore" a vault from the pack wholesale; sync only the pack-managed paths. + ## Sources | file | md5 | source | @@ -22,7 +40,7 @@ Committed 2026-10-16 by Hermes. Before this, the pack existed **only** as three | `.opencode/opencode.json` | `65438515bec8` | pristine config (default_agent) | | `LICENSE` | `538dbda71eed` | pack doc | | `README.md` | `805f1d95a2f3` | pack doc | -| `docs/SCHEMA.md` | `e28c37ae2ada` | canonical schema (newest) | +| `docs/SCHEMA.md` | `e28c37ae2ada` | canonical schema (revision of 21:30) | | `start.sh` | `841b0997a053` | launcher | | `templates/AGENTS.md` | `ba5da851f769` | template | | `templates/DATA/glossary.yaml.md` | `af92947f7799` | template | @@ -33,24 +51,25 @@ Committed 2026-10-16 by Hermes. Before this, the pack existed **only** as three ## What was verified before committing -- All **10 agents**, both **commands** (`import.md`, `init.md`), `languages.yaml` and `start.sh` are **md5-identical** in all three vaults (`Die-Kessler-Zwillinge`, `Scruffy-der-Weltenhund`, `OpenNovelWriter`) — so there was no divergence to reconcile for them. -- `docs/SCHEMA.md` **did** diverge: OpenNovelWriter's copy (9477 B, 257 lines, 2026-09-08 21:30) is newer and a superset of Scruffy's (5812 B, 182 lines, 17:45). The newer one is committed; it adds the *workspace = book* concept, `images/prompts` + `images/generated`, multiple-books-in-parallel, and a rewritten section 7 (Images & Illustrations). +- All **10 agents**, both **commands** (`import.md`, `init.md`), `languages.yaml` and `start.sh` are **md5-identical** in all three vaults — there was no divergence to reconcile for them. +- `docs/SCHEMA.md` is the only real divergence: the pack version (9477 B, 257 lines, **21:30**) supersedes Scruffy's copy (5812 B, 182 lines, **17:45**). Scruffy's seven unique lines are **structural only** — the old section numbers (`## 7. The Co-Authoring Cycle`, `## 9. Versioning`) and the old ASCII tree — so nothing was lost in the revision. The committed version adds *workspace = book*, `images/prompts` + `images/generated`, multiple-books-in-parallel, a **Temperature Policy** section, and renumbers Co-Authoring Cycle to §8 / Versioning to §10. Scruffy's copy is simply the *pre-revision* one — not damaged, just older. - `AGENTS.md` in the Scruffy vault is a *filled-in instance* (real series title/author/genre), not the template — the placeholder version is committed as `templates/AGENTS.md`; instances stay in their vault. - `opencode.json` is committed pristine (`$schema` + `default_agent`). The permission block added to the Kessler vault (external_directory allow for `/Users/Shared/Novels/**`) is machine-local and deliberately **not** in the pack. ## Sync direction -The repo is now the source of truth. Vaults pull from here: +The repo is the source of truth **for the pack**. Vaults pull pack-managed files from here: ```sh -novel/sync-to-vault.sh /Users/Shared/Vaults/Die-Kessler-Zwillinge # dry run -novel/sync-to-vault.sh /Users/Shared/Vaults/Die-Kessler-Zwillinge --apply # write (backs up what it replaces) +novel/sync-to-vault.sh /Users/Shared/Vaults/Scruffy-der-Weltenhund # dry run +novel/sync-to-vault.sh /Users/Shared/Vaults/Scruffy-der-Weltenhund --apply # write (backs up what it replaces) ``` -`sync-to-vault.sh` overwrites only agent/command files, `docs/SCHEMA.md`, `languages.yaml` and `start.sh`. It never touches `DATA/`, `AGENTS.md`, `01/`, `Notizen/` or the vault's own `opencode.json` — your content and instance config are safe. +`sync-to-vault.sh` overwrites only agent/command files, `docs/SCHEMA.md`, `languages.yaml` and `start.sh`. It never touches `DATA/`, `AGENTS.md`, `01/`, `Notizen/`, `Welt/` or the vault's own `opencode.json` — the newest content in the set (Scruffy's) is exactly what it leaves alone. ## Known open items -- Scruffy's `docs/SCHEMA.md` is stale — run the sync to bring it up to date. -- The Scruffy vault is the test bed for the Kessler run; no book-specific DATA was committed. +- Scruffy's `docs/SCHEMA.md` predates the pack revision — running the sync refreshes just that file and loses nothing of the writing. +- No book-specific content is committed here by design: `DATA/`, chapters and `AGENTS.md` instances stay in their vaults (or get their own repo). +- `Die-Kessler-Zwillinge` is a spent import test; pick a fresh vault target before running the real import. - `Importer` is a subagent: invoke via the primary agent or `/import`, not `opencode run --agent Importer`.