scholarr: decide D3 cross-source auto-attachment #3

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

Charter: runbooks/rewrite/charter.md

Goal

Owner decision D3 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: When may an identity from one source attach to an author automatically, without human review?
  • The draft's recommended answer: Auto only for exact IDs, explicit provider crosswalks (asserting record selected, target unattached elsewhere), and completed calibration auto rows; targets already on another active author resolve as a deterministic merge or raise a duplicate; review everything weaker or conflicting.
  • What answering it decides: The boundary between automatic identity work and the review queue. The charter already fixes the surrounding invariant: names are labels and search aids, never identity keys, and similar names or titles alone do not prove identity. A wrong author merge is the most damaging identity failure in this system.
  • 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 D3 in front of the owner with the recommended answer and its consequence.

Charter: runbooks/rewrite/charter.md ## Goal Owner decision **D3** 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:** When may an identity from one source attach to an author automatically, without human review? - **The draft's recommended answer:** Auto only for exact IDs, explicit provider crosswalks (asserting record selected, target unattached elsewhere), and completed calibration `auto` rows; targets already on another active author resolve as a deterministic merge or raise a duplicate; review everything weaker or conflicting. - **What answering it decides:** The boundary between automatic identity work and the review queue. The charter already fixes the surrounding invariant: names are labels and search aids, never identity keys, and similar names or titles alone do not prove identity. A wrong author merge is the most damaging identity failure in this system. - 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 D3 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#3
No description provided.