{"adoption": {"forks": 308, "observed_at": "2026-08-28T04:07:18.110820+00:00", "stars": 2753}, "canonical_url": "https://ross.abutalabs.com/products/kestrel", "card": {"archived": true, "artifact_type": "service", "description": "simple, distributed message queue system (inactive)", "domain": ["microservices", "backend"], "enriched": true, "function": ["message-queue"], "health_score": 10, "homepage": "http://twitter.github.io/kestrel", "language": "Scala", "license": "NOASSERTION", "license_family": "other", "maturity": "abandoned", "member_repos": ["twitter-archive/kestrel"], "name": "twitter-archive/kestrel", "platform": ["jvm", "self-hosted"], "pushed_at": "2016-01-22T07:54:28+00:00", "repo": "twitter-archive/kestrel", "stars": 2753, "tags": ["scala", "deprecated", "memcache-protocol", "durable-queues", "messaging", "linux"], "topics": [], "urls": [], "use_cases": ["run a simple distributed message queue on the JVM", "queue messages durably with disk journaling", "scale message queues horizontally without cluster coordination", "reliably hand off messages when clients crash", "replace starling with a more robust message queue"], "what_it_is": "Kestrel is a simple, distributed message queue system written in Scala, originally developed at Twitter and based on Starling. It offers fast, durable, reliable queues with loose ordering across a cluster, but is now deprecated and unmaintained.", "when_to_avoid": ["you need strong global ordering or transactions", "you need an actively maintained project with fixes and support", "you operate at very large scale with diverse workloads", "you need modern features like rich routing or streaming semantics"], "when_to_choose": ["you need a small, fast, easy-to-deploy queue and can accept loose ordering", "you want durable queues without heavy clustering machinery", "you're maintaining a legacy system already built on Kestrel"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kestrel", "repo": "twitter-archive/kestrel", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "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:18.110820+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.110820+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:18:54.044168+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87206937d5377520ae400436f487e509bcba9f760c5f51015c43ab077316ad85", "fetched_at": "2026-08-28T04:07:18.110820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter-archive/kestrel"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6708, "days_push": 3876, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}