expand draft-publish-workflow plan with image lifecycle and versioning
All checks were successful
deploy / deploy (push) Successful in 43s

Adds comprehensive documentation for:
- Page versions table schema and draft columns
- Image soft delete with tiered logic (block/warn/allow)
- Trash/recycle bin with restore and permanent delete
- Version retention policy (all/30d, weekly/90d, monthly/365d)
- Storage math and pruning cascade
- GDPR permanent erase option

Updates PROGRESS.md with complete 7-phase breakdown (~31h total)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-04-03 09:20:42 +01:00
parent 544c83ad0f
commit 9facfd926e
2 changed files with 349 additions and 7 deletions

View File

@@ -199,14 +199,28 @@ Comprehensive SEO tooling to rival Yoast/RankMath. Per-page SEO controls, enhanc
### Draft-then-publish workflow ([plan](docs/plans/draft-publish-workflow.md))
Auto-save drafts, explicit publish. No more lost work or `beforeunload` warnings. Visitors always see published version.
Auto-save drafts, explicit publish, version history with rollback. No more lost work or `beforeunload` warnings. Visitors always see published version. Includes image soft delete with trash/recycle bin pattern.
| Phase | Description | Depends on | Est | Status |
|-------|-------------|------------|-----|--------|
| 1 | Page drafts (auto-save, publish/discard) | unified-editing-mode | 5h | planned |
| 0 | Site-level publishing (coming soon until first publish) | unified-editing-mode | 1.5h | planned |
| 1 | Page versions and drafts (auto-save, publish/discard, version table) | Phase 0 | 7h | planned |
| 2 | Theme drafts | Phase 1 | 4h | planned |
| 3 | Settings drafts | Phase 2 | 4h | planned |
| 4 | Polish (age indicator, conflict handling) | Phase 3 | 5h | planned |
| 4 | Version history and rollback (history panel, diff view, URL redirect chain) | Phase 3 | 5.5h | planned |
| 5 | Image soft delete and trash (usage check, tiered delete, restore, auto-purge) | Phase 4 | 4.5h | planned |
| 6 | Polish and pruning (draft age, conflict handling, version retention worker) | Phase 5 | 4.25h | planned |
**Total: ~31h**
Key design decisions:
- Page versions stored in separate `page_versions` table (not draft columns)
- Editorial images soft-deleted with 30-day grace period, protected while on current pages
- Product images (from Printify/Printful) hard-deleted on sync — provider is source of truth
- Images only in old versions can be deleted with warning (versions show placeholder)
- Trash tab in media library with restore/permanent delete
- Tiered version retention: all/30d, weekly/90d, monthly/365d, ~32 max versions
- GDPR "permanently erase" option rewrites history
### Platform site