Context
GET /persons/{person_id} enriches each source with {source_id, role, title} (kb_server.py lines 2088-2105). The per-source credibility_tier is collected to compute the person-level tier but is NOT added back to individual source entries.
Problem
The admin-dashboard PersonDetailPage.tsx reads src.credibility_tier on each source row — always undefined, always falls back to "unverified".
Fix
In kb_server.py enrichment loop (~line 2098), after fetching source metadata, add credibility_tier to the enriched source dict:
enriched["credibility_tier"] = tier # from metadata.get("credibility_tier")
Acceptance Criteria
GET /persons/{person_id} sources array includes credibility_tier per source
- Sources without a tier return
null or omit the field
Part of krisoye/admin-dashboard#72
Context
GET /persons/{person_id}enriches each source with{source_id, role, title}(kb_server.py lines 2088-2105). The per-sourcecredibility_tieris collected to compute the person-level tier but is NOT added back to individual source entries.Problem
The admin-dashboard
PersonDetailPage.tsxreadssrc.credibility_tieron each source row — alwaysundefined, always falls back to "unverified".Fix
In
kb_server.pyenrichment loop (~line 2098), after fetching source metadata, addcredibility_tierto the enriched source dict:Acceptance Criteria
GET /persons/{person_id}sources array includescredibility_tierper sourcenullor omit the fieldPart of krisoye/admin-dashboard#72