scholarr: decide D1 the public identity shape #1

Open
opened 2026-08-20 11:32:04 +02:00 by justinzeus · 0 comments
Owner

Charter: runbooks/rewrite/charter.md

Goal

Owner decision D1 is answered on the record, and docs/specs/data-model.md reflects the answer.

Constraints

  • One of the seven blockers from the Card C.1 independent architecture review (2026-07-23, four adversarial dimensions over the e36e486 draft), which returned NO-FREEZE. All seven were spec-text gaps, not design flaws; the revision applying every finding is committed at a8c5939.
  • The question: What identity shape do rows expose outside the database?
  • The draft's recommended answer: Scoped public_id: internal integer keys everywhere, immutable UUIDv7 public IDs only on rows referenced externally or aliased across merges.
  • What answering it decides: Which tables carry a public_id at all, and therefore what a merge has to keep resolvable as an alias. Getting it wrong later means a guarded table rebuild, because SQLite cannot add the column without one.
  • This is an owner decision. An agent may lay out consequences and tradeoffs; it may not answer it.
  • The answer goes in the ## Owner decisions table of docs/specs/data-model.md, and any spec text it changes is edited in the same change.
  • The immutable doctrine in the charter binds any answer: no Google Scholar network contact, official APIs only, SQLite only, FollowedAuthor as the root entity.

Acceptance

  • The answer is recorded in the ## Owner decisions table of docs/specs/data-model.md
  • Any spec text the answer changes is edited in the same commit
  • The decision and its reasoning are stated in a closing comment here

Next action

Put D1 in front of the owner with the recommended answer and its consequence.

Charter: runbooks/rewrite/charter.md ## Goal Owner decision **D1** is answered on the record, and `docs/specs/data-model.md` reflects the answer. ## Constraints - One of the seven blockers from the Card C.1 independent architecture review (2026-07-23, four adversarial dimensions over the `e36e486` draft), which returned **NO-FREEZE**. All seven were spec-text gaps, not design flaws; the revision applying every finding is committed at `a8c5939`. - **The question:** What identity shape do rows expose outside the database? - **The draft's recommended answer:** Scoped `public_id`: internal integer keys everywhere, immutable UUIDv7 public IDs only on rows referenced externally or aliased across merges. - **What answering it decides:** Which tables carry a `public_id` at all, and therefore what a merge has to keep resolvable as an alias. Getting it wrong later means a guarded table rebuild, because SQLite cannot add the column without one. - This is an **owner decision**. An agent may lay out consequences and tradeoffs; it may not answer it. - The answer goes in the `## Owner decisions` table of `docs/specs/data-model.md`, and any spec text it changes is edited in the same change. - The immutable doctrine in the charter binds any answer: no Google Scholar network contact, official APIs only, SQLite only, `FollowedAuthor` as the root entity. ## Acceptance - [ ] The answer is recorded in the `## Owner decisions` table of `docs/specs/data-model.md` - [ ] Any spec text the answer changes is edited in the same commit - [ ] The decision and its reasoning are stated in a closing comment here ## Next action Put D1 in front of the owner with the recommended answer and its consequence.
justinzeus added a new dependency 2026-08-20 11:32:46 +02:00
justinzeus added the
blocked
label 2026-08-20 12:32:18 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: justinzeus/scholarr#1
No description provided.