Pinned publication revisions + "Cite this motif" #130
Labels
No labels
bug
duplicate
enhancement
future
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/TeaLeaves#130
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Feature idea (Fable ideation, rank #7) · Effort: M · Value: Med
Pitch
Snapshot a motif at publish time ("v1, 2026-07-15"), keep the public URL pointing at the pinned revision while she keeps working, and emit a copyable citation block (plain + BibTeX) on public pages.
Why it matters
Public pages are live database views - if someone cites a motif page and she reorganizes it next week, the citation dangles. For research meant to be referenced (the ActivityPub/publishing investment says it is), stable citable versions are table stakes; "what changed since I published" is also a useful diff for her own process.
How it fits
The raw material exists:
audit_logstores full prev/next JSONB for every edit (migrations 002/009), and entry-level restore already reads it (routes/entries.ts~214-246). Add amotif_revisionstable (motif_id, revision, snapshot JSONB, published_at) written by a "publish revision" action;routes/public.tsserves the pinned snapshot when one exists, with a "newer draft exists" note; slugs/redirects (migration 018) keep URLs stable. Citation block is pure rendering.Why it was likely missed
Publishing was scoped as visibility (private/unlisted/public, migration 017) - a switch, not a publication event. Versioning only matters once external readers/federated followers exist, which arrived in v6/v7.
Acceptance criteria
From the 2026-07-15 codebase audit - Fable feature-ideation pass. Companion report:
docs/.internal/report-2026-07-15.md(gitignored).