Phase 1: sources-first spine (sources + citations) #6

Merged
justin merged 2 commits from phase1-sources into main 2026-06-06 13:17:34 -04:00
Owner

Source CRUD + Citation attach-to-any-fact, plus a source manager page and inline citing with sourced badges on the person-detail page.

Source CRUD + Citation attach-to-any-fact, plus a source manager page and inline citing with sourced badges on the person-detail page.
justin added 2 commits 2026-06-06 13:17:34 -04:00
Source CRUD (reusable, tree-scoped) and Citation create/list/soft-delete linking one source to exactly one fact (person/event/name/relationship). Editor-gated writes, privacy-filtered reads, audit throughout; tenant + existence validation on source and target. list_citations returns all tree citations so the UI can render 'sourced' indicators in one round-trip. 22 tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Justin Paul <justin@jpaul.me>
New /trees/[id]/sources page (list + create sources). Person-detail page now loads tree sources + citations and shows a '✓ N sourced' badge with an inline cite picker (source + page) on each event and on the person. Tree view links to Sources. Regenerated the OpenAPI client.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Justin Paul <justin@jpaul.me>
justin merged commit fc4cb0273e into main 2026-06-06 13:17:34 -04:00
Sign in to join this conversation.