Implement usage-based quality signals that track how artifacts are used by other artifacts
and feed this back into quality scores. Highly-cited, frequently-embedded, widely-linked
artifacts are likely more valuable — this creates a virtuous cycle where good artifacts
rise and poor ones fade.
citation_count: number of incoming cites linksembed_count: number of incoming embeds linksderivation_count: number of incoming derives_from linkssupport_count: number of incoming supports linkscontradiction_count: number of incoming contradicts linkstotal_usage: weighted sum of all usage types
compute_usage_score(artifact_id) functionpropagate_quality():agr-ad-02-EVAC — Evidence profile provides the accumulation frameworkagr-ad-05-PROF — Profile dashboard shows usage metricscompute_usage_score(artifact_id) — added to scidex/atlas/artifact_registry.py:propagate_quality() enhancement — updated to use 60/20/20 blend:artifact_registry.py:cache_usage_score(artifact_id): Compute and cache usage in usage_cache tableget_cached_usage_score(artifact_id): Get from cache or compute on missget_high_usage_artifacts(limit, min_usage): Query top artifacts by usageusage_cache table — migration 127:api.py:GET /api/artifacts/{id}/usage: Get usage metrics for a single artifactGET /api/artifacts/high-usage?limit=20&min_usage=0.0: List high-usage artifactsscidex/atlas/artifact_registry.py — added compute_usage_score(), cache_usage_score(), get_cached_usage_score(), get_high_usage_artifacts(); modified propagate_quality()api.py — added /api/artifacts/{id}/usage and /api/artifacts/high-usage routesmigrations/127_usage_cache_table.py — created usage_cache tablecompute_usage_score(artifact_id) functionpropagate_quality(): 60% upstream + 20% current + 20% usage{
"completion_shas": [
"8489ef525b222f77a76a0f5267b1b890c2d1f718"
],
"completion_shas_checked_at": ""
}