Add draft archive and acceptance workflow

This commit is contained in:
Joey Grasty
2026-08-23 15:47:46 -05:00
parent 23e4ef595e
commit 630c0c468f
18 changed files with 1701 additions and 67 deletions

View File

@@ -1,6 +1,14 @@
# Read-only Package Preview Prototype
# Local Authoring-System Prototype
This is the first authoring-system vertical slice. It reads a Scrivener project, checks the project structure, and builds an on-screen package preview. It does **not** call a model and it does **not** write to Scrivener.
This prototype reads a Scrivener project, checks the project structure, builds an exact package preview, and can send a confirmed package to the temporary OpenRouter drafting model.
When Scrivener is closed, accepting a generated draft for editing creates three records in the project:
- an immutable initial draft in `Authoring System → Drafting Archive → Accepted for Editing`;
- an editable working copy in the same folder; and
- the exact package snapshot in `Authoring System → Drafting Archive → Package Snapshots`.
An outright rejected draft writes nothing. A separate, explicit final-accept action copies the saved working copy into its paired Manuscript scene. Every write checks `Files/user.lock`; close the project in Scrivener first. Before a structural archive write, the prototype places a recoverable binder/checksum backup in `Files/authoring-backups`.
Run from `Authoring_System`:
@@ -16,4 +24,4 @@ To point it at another project:
python3 prototype/app.py --project /absolute/path/to/Book.scriv
```
The app binds scene/brief pairs by the visible `Scene X` labels for this read-only prototype. The next phase will persist UUID bindings in a sidecar, so later renaming does not break relationships.
The app currently binds scene/brief pairs by their visible `Scene X` labels. A later phase will persist UUID bindings in a sidecar, so later renaming does not break relationships.