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,16 +1,14 @@
# Architecture specs
Specs are frozen in the order listed in `TASKS.md`. Each spec must:
For the integrated product sprint, read [SPRINT.md](../../SPRINT.md) first.
The owner approves the proposed decisions together with the concrete nightly
plan; preparation alone does not authorize implementation.
- distinguish locked decisions from open questions;
- define data and trust boundaries;
- state failure, recovery, migration, and observability behavior;
- identify deterministic fixtures and acceptance tests;
- receive explicit owner review before being marked frozen.
Detailed references still define data/trust boundaries, failure recovery,
migrations, and deterministic acceptance. They do not create a second freeze
queue for an approved sprint.
No implementation for a subsystem starts before its spec is frozen.
## Detailed references
## Current review
- [Data model](data-model.md): review-ready draft dated 2026-07-23, not frozen. Owner decisions
D1 through D5 remain open.
- [Data model](data-model.md): the reviewed table contracts, proposed D1-D7
defaults, and 22 falsifiable acceptance cases adopted by an approved sprint.

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.