Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a8fab6b
docs: Work identity, versions and Assets design (#60, #179)
claude Sep 25, 2026
db0a4f4
docs(#60): address review — argument source identity, merged-work wri…
claude Sep 25, 2026
c196eea
docs(#60): revise design per maintainer review
claude Sep 25, 2026
a7d4005
docs(#60): rename merge table to sync_work_lifecycle; move re-keying,…
claude Sep 25, 2026
787217e
docs(#60): quarantine legacy FK orphans, copy role tombstones, widen …
claude Sep 25, 2026
d6b278e
docs(#60): refuse ambiguous legacy argument-source matches
claude Sep 25, 2026
3898c83
docs(#60): bump argument-sources revision when quarantine shrinks a list
claude Sep 25, 2026
37cd9f4
docs(#60): make only-child moves transactional (deferred NO ACTION, w…
claude Sep 25, 2026
86b0b23
docs(#60): advance live role scopes when quarantine removes a role row
claude Sep 25, 2026
e6348e0
docs(#60): enforce same-Work manifestation_relations with composite FKs
claude Sep 25, 2026
127746a
docs(#60): make work_retirement machinery unbypassable
claude Sep 25, 2026
6a8b7c2
docs(#60): lossless role-credit merge, projected title/abstract routi…
claude Sep 25, 2026
261b1b3
docs(#60): list content_generation in the Asset record
claude Sep 25, 2026
0f5c78e
docs(#60): credit overrides required for merge; rewrite holds path lo…
claude Sep 25, 2026
7c7e39c
docs(#60): content_generation NOT NULL DEFAULT 0; no empty overrides;…
claude Sep 25, 2026
303e1ec
docs(#60): carry thumb_page revisions to asset-field scope; keep exis…
claude Sep 25, 2026
e404705
docs(#60): reserve origin_AS(W) for Works with only Asset-bound revis…
claude Sep 25, 2026
781a36b
docs(#60): add work-source tombstone fixture to Slice A (6a)
claude Sep 25, 2026
747126a
docs(#60): freeze inherited title/abstract on merge; conditional Asse…
claude Sep 25, 2026
4b749ea
docs(#60): merge freeze advances override scope; document empty-sourc…
claude Sep 25, 2026
0925f65
docs(#60): freeze inherited metadata on MOVE_MANIFESTATION; compare l…
claude Sep 25, 2026
8cf7454
docs(#60): MOVE_MANIFESTATION credit freeze + credit-delta preview; c…
claude Sep 25, 2026
7b375ce
docs(#60): lazily create origin_AS for first queued Asset edit; bump …
claude Sep 25, 2026
6046c5a
docs(#60): drop non-reproducible post-linearization legacy fallback; …
claude Sep 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/wiki/Domain-Model.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ These records power the Research Graph and related detail/index views.

Work source fields are not independent metadata. For video Works, source kind/provider/provider ID and URL semantics form an identity aggregate. The canonical reasoning and transition model are documented in [docs/work-source-identity.md](https://github.com/Fooftilly/PRKS/blob/master/docs/work-source-identity.md).

## Planned: Work identity, versions and files

Today one Work row represents the intellectual work, one citeable publication, and at most one file. The proposed separation into Work → Version (manifestation) → File or Source (asset) — covering editions, translations, revisions, duplicate detection and citation targets — is a design under review, not current behavior. See [docs/work-identity-model.md](https://github.com/Fooftilly/PRKS/blob/master/docs/work-identity-model.md).

## IDs and offline creation

Durable local-first creation requires IDs that can safely exist before a server round-trip. Domain-specific synchronization modules and `backend/entity_ids.py` handle the relevant boundaries.
Expand Down
Loading
Loading