{"adoption": {"forks": 155, "observed_at": "2026-08-28T04:07:47.792329+00:00", "stars": 3180}, "canonical_url": "https://ross.abutalabs.com/products/roshi", "card": {"archived": false, "artifact_type": "library", "description": "Roshi is a large-scale CRDT set implementation for timestamped events.", "domain": ["databases", "microservices"], "enriched": true, "function": ["database", "caching", "concurrency"], "health_score": 79, "homepage": null, "language": "Go", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["soundcloud/roshi"], "name": "soundcloud/roshi", "platform": ["go"], "pushed_at": "2026-08-21T06:42:39+00:00", "repo": "soundcloud/roshi", "stars": 3180, "tags": ["crdt", "lww-element-set", "redis", "timestamped-events", "event-stream", "eventual-consistency", "real-time", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["store timestamped event streams at scale", "build a high-performance index for time-series data", "implement activity feeds like a social stream", "achieve eventual consistency without consensus protocols", "shard datasets across multiple Redis instances with fault tolerance"], "what_it_is": "Roshi is a distributed CRDT set implementation for timestamped events, built in Go as a stateless layer on top of sharded Redis clusters. It implements a LWW-element-set with limited inline garbage collection, providing fault tolerance via duplicated clusters without consensus protocols.", "when_to_avoid": ["you need strong consistency or transactions rather than eventual consistency", "your data model needs rich queries beyond ordered set selection by key", "you don't already operate Redis infrastructure and multiple clusters"], "when_to_choose": ["you need a highly available, partition-tolerant store for timestamped sets in the request path", "you want CRDT semantics to avoid running a consensus protocol", "your dataset is too large for a single Redis instance and needs sharding plus replication"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/roshi", "repo": "soundcloud/roshi", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.792329+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:25:05.668718+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ac825f4d45032d4d704121ec8e1776d52704fb579c7830ba190821c126e33e57", "fetched_at": "2026-08-28T04:07:47.792329+00:00", "kind": "readme", "missing": false, "url": "https://github.com/soundcloud/roshi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4614, "days_push": 12, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}