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`.