Define the integrated Scholarr product sprint

This commit is contained in:
justinzeus 2026-10-03 00:02:22 +02:00
parent 41e8714ca3
commit 0e22839ae4
7 changed files with 361 additions and 145 deletions

View file

@ -1,19 +1,19 @@
# Scholarr data model
**Status:** DRAFT FOR OWNER REVIEW, 2026-07-23. This spec is review-ready and is not frozen.
No implementation is authorized by this document. This revision (2026-07-23) incorporates the
Card 1 architecture review round; owner decisions are now D1 through D7.
**Status:** historical reviewed draft; this document is not independently frozen.
For an explicitly owner-approved sprint, [SPRINT.md](../../SPRINT.md) selects
the proposed defaults and supplies execution authority. Preparation alone does
not authorize implementation.
This is Card 1 in [`TASKS.md`](../../TASKS.md). It defines the persistent domain model for
global author and publication identity, per-user follows and reading state, review records,
duplicate prevention, merge and undo, and migration from the legacy Scholarr database.
This detailed reference defines persistent author/publication identity, per-user
state, duplicate prevention, audit/undo, and legacy migration.
## Status language
- **DECIDED** records a project decision that this spec must not reopen.
- **PROPOSED** is the concrete default in this draft. It becomes decided only when the owner
approves and freezes the spec.
- **OPEN Dn** identifies an owner decision listed in [Owner decisions](#owner-decisions).
- **PROPOSED** records the reviewed default selected by an owner-approved
`SPRINT.md`; without that approval it remains a proposal.
- **OPEN Dn** identifies the historical decision entry below.
## Scope and boundaries
@ -813,6 +813,6 @@ The draft recommends one answer for each unresolved choice:
| D6 | Global identity authority | Restrict merges and negative-identity tombstones to an administrator role; non-admin review actions affect only that user's own follow and library rows. |
| D7 | Deletion vs re-ingestion | Hard purge with no resurrection tombstone; sanctioned re-ingest of the same strong identifier recreates a new canonical row, all-`legacy_import` provenance does not. |
Freezing this spec means the owner has answered D1 through D7, approved any resulting edits, and
explicitly changed the status at the top to `FROZEN` with the approval date. Until then, no schema
or implementation work begins.
The historical process required separate answers and an explicit freeze.
An owner-approved [SPRINT.md](../../SPRINT.md) supersedes that process for the
integrated sprint and adopts the defaults together. Preparation grants no execution authority.