{"adoption": {"forks": 149, "observed_at": "2026-08-28T04:07:22.665402+00:00", "stars": 2802}, "canonical_url": "https://ross.abutalabs.com/products/loom", "card": {"archived": false, "artifact_type": "library", "description": "Concurrency permutation testing tool for Rust.", "domain": ["testing", "developer-tools"], "enriched": true, "function": ["testing", "concurrency"], "health_score": 75, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["tokio-rs/loom"], "name": "tokio-rs/loom", "platform": ["rust", "cli"], "pushed_at": "2026-02-20T20:40:49+00:00", "repo": "tokio-rs/loom", "stars": 2802, "tags": ["concurrency-testing", "memory-model", "model-checking", "permutation-testing", "lock-free", "atomics", "algorithms"], "topics": [], "urls": [], "use_cases": ["test concurrent Rust code for race conditions", "verify lock-free data structures under all execution orderings", "detect memory ordering bugs in atomic operations", "exhaustively explore thread interleavings in unit tests", "validate synchronization primitives like atomics and mutexes"], "what_it_is": "Loom is a testing tool for concurrent Rust code that exhaustively explores possible interleavings of concurrent executions under the C11 memory model. It uses state reduction techniques to avoid combinatorial explosion when enumerating execution permutations.", "when_to_avoid": ["your code relies heavily on SeqCst ordering, which Loom treats as weaker AcqRel and may produce false alarms", "your concurrent code uses async/await or features Loom does not model", "you need sound coverage of load-buffering behaviors, which Loom does not fully explore"], "when_to_choose": ["you are writing lock-free or atomic-based Rust code and need to verify correctness under all interleavings", "you want to catch subtle memory-ordering bugs that stress tests miss", "you maintain concurrency primitives or synchronization libraries in Rust"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/loom", "repo": "tokio-rs/loom", "role": "main", "score": 54}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "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:22.665402+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.665402+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:14:33.159458+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e230761817d5b3af05fccb41e3b10338b6e4cad2cbcdf0f20d987eef1e1e7222", "fetched_at": "2026-08-28T04:07:22.665402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tokio-rs/loom"}, {"content_hash": "e4ef23805fefef2e95a2f40073a577e2da96de98ea80050601d4b6932be2fc7c", "fetched_at": "2026-08-29T09:54:29.220756+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loom"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 68, "longevity": 100, "rhythm": 10}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2818, "days_push": 194, "days_rel": 386, "gap_med": null, "n_releases_24m": 1}, "score": 54, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}