原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 239,
"has_wiki": true,
"homepage": null,
"languages": {
"Rust": 153926
},
"pushed_at": "2026-07-29T02:30:34Z",
"created_at": "2023-04-03T01:00:29Z",
"owner_type": "User",
"updated_at": "2026-07-29T02:29:45Z",
"description": "Common utility actors built with Ractor",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Rust",
"significant_languages": [
"Rust"
]
},
"owner": {
"blog": "www.meta.com",
"name": "Sean Lawlor",
"type": "User",
"login": "slawlor",
"company": "Meta",
"location": "Montreal",
"followers": 272,
"avatar_url": "https://avatars.githubusercontent.com/u/9451356?v=4",
"created_at": "2014-10-29T18:22:24Z",
"is_verified": null,
"public_repos": 18,
"account_age_days": 4292
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2026-07-29T02:30:34Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2026-07-23T16:15:38Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2026-03-26T19:24:24Z"
},
{
"tag": "v0.4.9",
"kind": "patch",
"published_at": "2025-02-13T21:22:58Z"
},
{
"tag": "v0.4.8",
"kind": "patch",
"published_at": "2025-01-13T20:46:51Z"
},
{
"tag": "v0.4.7",
"kind": "patch",
"published_at": "2025-01-13T18:34:49Z"
},
{
"tag": "v0.4.6",
"kind": "patch",
"published_at": "2024-12-18T14:11:00Z"
},
{
"tag": "v0.4.5",
"kind": "patch",
"published_at": "2024-12-17T22:08:23Z"
},
{
"tag": "v0.4.4",
"kind": "patch",
"published_at": "2024-10-25T17:43:13Z"
},
{
"tag": "v0.4.3",
"kind": "patch",
"published_at": "2024-10-04T14:38:49Z"
},
{
"tag": "v0.4.2",
"kind": "patch",
"published_at": "2024-09-21T02:02:02Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2024-05-19T00:56:29Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2024-02-11T01:40:52Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2024-02-11T01:26:52Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2023-09-06T14:26:41Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2023-09-05T17:42:56Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2023-08-25T15:47:45Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2023-08-19T00:50:39Z"
}
],
"recent_commits": [
{
"oid": "05a4fdbdfeb61e9f5d6c744d36fc06ed8aca958d",
"body": "* Update to Ractor 0.16 actor macros\n\n* Fix xtask coverage command routing\n\nDelegate every non-check-deps command to xtaskops so the established coverage task remains available. Align the Codecov upload action and fail-fast settings with Ractor's current workflow.",
"is_bot": false,
"headline": "Update to Ractor 0.16 actor macros (#42)",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2026-07-29T02:29:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de15a9433e95dbd0144a15ab44e74141ae6fdf30",
"body": "Weekly xtask (`cargo xtask check-deps`) plus a GitHub Actions workflow\nthat scans crates.io for breaking (Cargo-major) bumps of ractor, chrono,\ncron, and notify. When one is found it updates `ractor_actors/Cargo.toml`,\nbumps `ractor_actors`'s own version per config, refreshes the lockfile\nwith `--pr\n[…]\n` all correctly\nregister as breaking, not just `1.x -> 2.x`.\n\nThe `crates.io` live-API test is `#[ignore]`d so `cargo test` stays\noffline in CI; run it locally with `cargo test -p xtask -- --ignored`.",
"is_bot": false,
"headline": "add dependency tracker, to run weekly (#40)",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2026-07-23T16:15:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e491e7ee0c7ed536635457a69810219b95ae314c",
"body": "Update ractor 0.15.8 -> 0.15.13 and cron 0.16 -> 0.17, and bump the\ncrate minor version accordingly.",
"is_bot": false,
"headline": "Bump dependencies and release v0.6.0 (#41)",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2026-07-23T15:29:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98099de873b3dbde5ff6ca6460339fe747cb4260",
"body": null,
"is_bot": false,
"headline": "cron version change is a breaking change (#39)",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2026-03-26T19:23:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad0e7fad1118483cb3c8be60080c1f2f4a0ef6e6",
"body": null,
"is_bot": false,
"headline": "Bump cron deps and publish new release (#38)",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2026-03-26T19:05:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0218eb8f383e6d2a448a5463af47b345dd1fb7f2",
"body": null,
"is_bot": false,
"headline": "Fix \"watchdog\" feature to work with ractor 0.15.7+ (#35)",
"author_name": "David Tolnay",
"author_login": "dtolnay",
"committed_at": "2026-03-26T12:55:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a10ec53244767ed025d8b21edbda2bd53c97034",
"body": null,
"is_bot": false,
"headline": "Update versions & apply clippy lints (#33)",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2025-04-17T18:20:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59634328d87edb2774ecf9af707ff8e1029cedcf",
"body": "* fix: Typo\n\n* Updating net actor with code from ractor_cluster.\n\nThe code based are obviously based on each other so it was fairly small\nnumber of changes.\n\nThe FameReceiver and SessionAcceptor traits are gone, they're replaced\nby the new Session messages and callback that has to be configured on\nt\n[…]\nbreakages reported with `cargo semver-checks check-release`\nwith this change.\n\n* watchdog: Making the ping call synchronous\n\n* watchdog: Note on CPU starvation\n\n* ci: Putting back branch specification",
"is_bot": false,
"headline": "Updating tcp (#32)",
"author_name": "Trygve Laugstøl",
"author_login": "trygvis",
"committed_at": "2025-04-16T19:43:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d571857ece802ac049dc31e936b0479b7ae1acc2",
"body": null,
"is_bot": false,
"headline": "bump ractor dep",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2025-02-13T21:21:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e574e02ca78a4402301b1de2bb6def90052057d1",
"body": null,
"is_bot": false,
"headline": "Example of streammux",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2025-02-13T21:16:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c336bb5b0549ddb215b771ba0497f974292e97d",
"body": "Adds support for having the actors be built using the async_trait crate or native async fn's in traits.",
"is_bot": false,
"headline": "Merge pull request #30 from slawlor/async-trait",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2025-01-13T20:35:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e59fedfa6622e91fcd8b3f1df2d333c55cddfdb",
"body": "…te or native async fn's in traits.\n\nThis adds a new feature which can be opted in to utilize `async_trait` in the actor implementations (depending on how you use ractor).\n\n`async_trait` is still a required dependency in some contexts however due to the usage of `dyn Trait` with async fn's.\n\nCI tests updated to run the suite in both async-trait and non async-trait profiles",
"is_bot": false,
"headline": "Adds support for having the actors be built using the async_trait cra…",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2025-01-13T20:32:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e31df7c198390c78096bd9722a66cb8e67c0748f",
"body": null,
"is_bot": false,
"headline": "Updating ractor features with new async-trait feature",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2025-01-13T18:34:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "161dc1f506173e940cad8c1e7ae11c2c9046d243",
"body": null,
"is_bot": false,
"headline": "Downgrading cron to v0.12 to fix bug in DST ambiguous schedules",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-12-18T14:10:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32199a050e10b55bf810cc8b16031925a5c76466",
"body": null,
"is_bot": false,
"headline": "Bumping ractor version",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-12-17T22:07:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6cc11cac2a4c42c266ac293bd4a05996523c7c02",
"body": "…/codecov-action-5\n\nBump codecov/codecov-action from 4 to 5",
"is_bot": false,
"headline": "Merge pull request #27 from slawlor/dependabot/github_actions/codecov…",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-11-15T10:46:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "feef036c049272d19bac29ccedbfdb314bb930d0",
"body": "Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/compare/v\n[…]\nupdated-dependencies:\n- dependency-name: codecov/codecov-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump codecov/codecov-action from 4 to 5",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-11-15T08:13:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "666d7a4c37938794d784216e973e35efed6a74aa",
"body": "Update cron requirement from 0.12 to 0.13",
"is_bot": false,
"headline": "Merge pull request #26 from slawlor/dependabot/cargo/cron-0.13",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-11-07T11:03:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9dc6dcd9078141707f863be3e73d6faa2887d456",
"body": "Updates the requirements on [cron](https://github.com/zslayton/cron) to permit the latest version.\n- [Release notes](https://github.com/zslayton/cron/releases)\n- [Commits](https://github.com/zslayton/cron/compare/v0.12.0...v0.13.0)\n\n---\nupdated-dependencies:\n- dependency-name: cron\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update cron requirement from 0.12 to 0.13",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-11-07T08:21:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53dd3f7ad967e15fcb89b392a7256a6f86cfbc10",
"body": "Update notify requirement from 6 to 7",
"is_bot": false,
"headline": "Merge pull request #25 from slawlor/dependabot/cargo/notify-7",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-10-28T12:34:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cae4483cd0f1ff5861f0c23254784e614f185aa",
"body": "Updates the requirements on [notify](https://github.com/notify-rs/notify) to permit the latest version.\n- [Release notes](https://github.com/notify-rs/notify/releases)\n- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/notify-rs/notify/compare/notify-6.0.0...notify-7.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: notify\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update notify requirement from 6 to 7",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-10-28T08:18:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cdb123da1df013cd8d5dbd01d6ea30309327014",
"body": null,
"is_bot": false,
"headline": "Fix clippy doc lints",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-10-25T17:47:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2786b511642ef8fda386a2ab623af33ac0f48d0c",
"body": null,
"is_bot": false,
"headline": "Version bump",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-10-25T17:42:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ee58c4c4bd9f23fb94605a81bf1b674b9a05d16",
"body": null,
"is_bot": false,
"headline": "Bumping ractor dependency to 0.12",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-10-04T14:36:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21679f316285e22e3f112b11434659d98dff0e6e",
"body": null,
"is_bot": false,
"headline": "fix categories",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-09-21T02:01:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0dbd85f89359622412b51f0456546f4230660429",
"body": "update version",
"is_bot": false,
"headline": "Merge pull request #24 from slawlor/version",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-09-21T01:57:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3df641e8da9d6138ce0fa0e349dbcdb3de1fcc72",
"body": null,
"is_bot": false,
"headline": "update version",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-09-21T01:57:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7643d44ae6a08e42f38389471d5a94071b47435",
"body": "Update tracing-glog requirement from 0.3 to 0.4",
"is_bot": false,
"headline": "Merge pull request #21 from slawlor/dependabot/cargo/tracing-glog-0.4",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-09-21T01:55:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "949d81052dd1c4f8add760445f2d496dd659204e",
"body": "Update ractor dependency",
"is_bot": false,
"headline": "Merge pull request #23 from slawlor/ractor_update",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-09-21T01:55:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f784ba9f665cf2a510228fdfd09380acf1f01719",
"body": null,
"is_bot": false,
"headline": "Update ractor dependency",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-09-21T01:54:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c35717a93c2c2175c51c5be36fe38e119cf5f4ad",
"body": "Upgrade to ractor 0.10.0 and adjust enum variants",
"is_bot": false,
"headline": "Merge pull request #22 from slawlor/ractor_10",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-05-19T00:55:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58804ef40107d0db58d9c002815bc396a44d63a3",
"body": null,
"is_bot": false,
"headline": "Upgrade to ractor 0.10.0 and adjust enum variants",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-05-19T00:52:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "506a07ed47f8d7ff604ea8c59f89acdd5b17be30",
"body": "Updates the requirements on [tracing-glog](https://github.com/davidbarsky/tracing-glog) to permit the latest version.\n- [Release notes](https://github.com/davidbarsky/tracing-glog/releases)\n- [Commits](https://github.com/davidbarsky/tracing-glog/compare/v0.3.0...v0.4.0)\n\n---\nupdated-dependencies:\n- dependency-name: tracing-glog\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update tracing-glog requirement from 0.3 to 0.4",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-04-15T08:32:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32009ee98e98f1928f60c6998bf0971072d14afd",
"body": "Update tokio-rustls requirement from 0.25 to 0.26",
"is_bot": false,
"headline": "Merge pull request #20 from slawlor/dependabot/cargo/tokio-rustls-0.26",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-03-25T09:34:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f924fa215351c152881e7475fb3bdfb9f2ae2b4",
"body": "Updates the requirements on [tokio-rustls](https://github.com/rustls/tokio-rustls) to permit the latest version.\n- [Release notes](https://github.com/rustls/tokio-rustls/releases)\n- [Commits](https://github.com/rustls/tokio-rustls/compare/v/0.25.0...v/0.26.0)\n\n---\nupdated-dependencies:\n- dependency-name: tokio-rustls\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update tokio-rustls requirement from 0.25 to 0.26",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-03-25T08:13:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7e0e88dbd3268cd6d942e3237d1d1ddbf42b764",
"body": "Adding public modifier to startup arguments",
"is_bot": false,
"headline": "Merge pull request #19 from slawlor/tweak2",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-02-11T01:39:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b183f0e36a6ef339b42ea1075e9fd31a045801aa",
"body": null,
"is_bot": false,
"headline": "Adding public modifier to startup arguments",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-02-11T01:38:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8df989c6bf3220734b9ca83b16de156276b0ef5",
"body": "Add new() implementation for phantom data actors for creation",
"is_bot": false,
"headline": "Merge pull request #18 from slawlor/tweak",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-02-11T01:26:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a79ce0ad0bad182b8a9d29786b937fa0c49e612",
"body": null,
"is_bot": false,
"headline": "Add new() implementation for phantom data actors for creation",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-02-11T01:24:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "935beac65808d57529f7bcea9b9de2146dc9e9f2",
"body": "…/codecov-action-4\n\nBump codecov/codecov-action from 3 to 4",
"is_bot": false,
"headline": "Merge pull request #16 from slawlor/dependabot/github_actions/codecov…",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2024-02-01T12:51:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6adce7fefa4eacde3bda8f8914ddf7bb74508b14",
"body": "Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 4.\n- [Release notes](https://github.com/codecov/codecov-action/releases)\n- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/codecov/codecov-action/compare/v\n[…]\nupdated-dependencies:\n- dependency-name: codecov/codecov-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump codecov/codecov-action from 3 to 4",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2024-02-01T08:50:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8b49f38c3fef73e8d48ddee9832ecc5bb0dbb4e5",
"body": "Update tokio-rustls requirement from 0.24 to 0.25",
"is_bot": false,
"headline": "Merge pull request #15 from slawlor/dependabot/cargo/tokio-rustls-0.25",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-12-06T23:12:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d34c45d0e8a8a0426d6d345804d1cec9e76777f9",
"body": "Updates the requirements on [tokio-rustls](https://github.com/rustls/tokio-rustls) to permit the latest version.\n- [Commits](https://github.com/rustls/tokio-rustls/commits)\n\n---\nupdated-dependencies:\n- dependency-name: tokio-rustls\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update tokio-rustls requirement from 0.24 to 0.25",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2023-12-06T08:12:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5f16c4cb79fea367e6f52c4de93dabf535f18f4",
"body": "Update README.md to 0.2 release",
"is_bot": false,
"headline": "Merge pull request #13 from leonqadirie/update-readme-to-0.2.0",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-17T21:02:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "27dc4c014cbb2258c21f9a92096e554716caa2c5",
"body": null,
"is_bot": false,
"headline": "Update README.md to 0.2 release",
"author_name": "Leon Qadirie",
"author_login": "leonqadirie",
"committed_at": "2023-09-17T16:21:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e2aac3840f3e9e27da6a8465955f36a7c47b0f2",
"body": "Adding a \"broadcast\" actor",
"is_bot": false,
"headline": "Merge pull request #12 from slawlor/broadcast",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-08T02:27:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6101a4b996b5b7df9189a6b15451ab13ae10549",
"body": null,
"is_bot": false,
"headline": "Adding initial broadcaster actor",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-08T00:28:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef5356ce4a42a393c76d3c5b98a3ec0d48769596",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-07T13:52:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7f9dfa219bd7e7a3804d8ed3cc49c50ae28a20f",
"body": null,
"is_bot": false,
"headline": "publish incorrect version #",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T14:25:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f8c7576072988ef65c4bcf1be88c84a307a34e9",
"body": null,
"is_bot": false,
"headline": "broken rust action",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T14:22:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1045b455be113ca0fc010075e17cdcc87a7dd676",
"body": "Update tracing-glog requirement from 0.2 to 0.3",
"is_bot": false,
"headline": "Merge pull request #10 from slawlor/dependabot/cargo/tracing-glog-0.3",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T14:17:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5fbfae17b23b17a591c79b6d22e9726a2d4d795",
"body": "Updates the requirements on [tracing-glog](https://github.com/davidbarsky/tracing-glog) to permit the latest version.\n- [Release notes](https://github.com/davidbarsky/tracing-glog/releases)\n- [Commits](https://github.com/davidbarsky/tracing-glog/compare/v0.2.0...v0.3.0)\n\n---\nupdated-dependencies:\n- dependency-name: tracing-glog\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update tracing-glog requirement from -1.2 to 0.3",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2023-09-06T14:12:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6f95dfa5b0476031756c5467fe10225ef66bb48",
"body": "Update tokio-rustls requirement from 0.23 to 0.24",
"is_bot": false,
"headline": "Merge pull request #9 from slawlor/dependabot/cargo/tokio-rustls-0.24",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T14:10:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8afa97776134c2bf88c037ccee33348269634255",
"body": "Updates the requirements on [tokio-rustls](https://github.com/rustls/tokio-rustls) to permit the latest version.\n- [Commits](https://github.com/rustls/tokio-rustls/commits)\n\n---\nupdated-dependencies:\n- dependency-name: tokio-rustls\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update tokio-rustls requirement from 0.23 to 0.24",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2023-09-06T13:58:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b5349e98c2ff5871792cbab9ff10baf2e49ff91",
"body": "Update notify requirement from 5 to 6",
"is_bot": false,
"headline": "Merge pull request #11 from slawlor/dependabot/cargo/notify-6",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T13:57:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04f6bbab373b1b59af8b621fb8fbb49c9702b6ea",
"body": "Updates the requirements on [notify](https://github.com/notify-rs/notify) to permit the latest version.\n- [Release notes](https://github.com/notify-rs/notify/releases)\n- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/notify-rs/notify/compare/notify-5.0.0...notify-6.1.1)\n\n---\nupdated-dependencies:\n- dependency-name: notify\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Update notify requirement from 5 to 6",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2023-09-06T13:29:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "83b97ea39b46eb0fe68b61a551496602fc37b01e",
"body": "Enable dependenabot",
"is_bot": false,
"headline": "Merge pull request #8 from slawlor/dependabot",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T13:28:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c97c0de7b5c314e7d983775616055bae6dcd259",
"body": null,
"is_bot": false,
"headline": "Enable dependenabot and patch some ci packages initially",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T13:21:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16cc00b348d255d8733da02e431733701b67359d",
"body": "Updated documentation",
"is_bot": false,
"headline": "Merge pull request #7 from slawlor/docs",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T12:44:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d72679be7eff18d4215152b069986ab8007484e",
"body": null,
"is_bot": false,
"headline": "Updated documentation",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-06T12:11:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bab0e5b0ac7f7d32bea894abf1e511b53d143e58",
"body": null,
"is_bot": false,
"headline": "bumping publish version",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-05T17:42:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4147426fb2a9d6526b1f8217558ac85cbbc25884",
"body": "Stream processing support in common actors",
"is_bot": false,
"headline": "Merge pull request #6 from slawlor/streams",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-05T17:08:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34a3b5bd22495a9e7fc43eaa55df9f473852c56a",
"body": "…le targets\n\nAlso fixes a lot of test checks to be less time-dependent, minimizing risk of failed\ntests on cpu contentitive hosts.",
"is_bot": false,
"headline": "Add a stream multiplexer actor which can multiplex a stream to multip…",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-05T14:44:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "570207955f02376154beefb4fc028770d27e6222",
"body": "…ing actor.\n\nNext up is a stream multiplexer (`mod mux`).",
"is_bot": false,
"headline": "Adding some initial streaming support along with a basic loop process…",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-09-02T00:47:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9981727cbd599a88a4fe4fad9de1e1faaab6c9f8",
"body": null,
"is_bot": false,
"headline": "Adding cron subscription notifications",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-25T15:46:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5f19b2a17302041d1be246fe57d174e6223c11b",
"body": null,
"is_bot": false,
"headline": "Adding cron job example",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-24T13:21:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1816e6b6911bb2eb57b4d180e7143266f97479c0",
"body": null,
"is_bot": false,
"headline": "typo",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-19T01:06:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9090e50cae98345ac79bc0205fed75d346e08e9",
"body": null,
"is_bot": false,
"headline": "Update the pipelines",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-19T00:44:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87711fc126b6c2e219096eb1516610fb236870fb",
"body": null,
"is_bot": false,
"headline": "Documentation for pre-publish",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-19T00:35:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e48799a901fab4695bd32c6d7a7092fe58c5931c",
"body": "Adding TcpListener and TcpSession actors",
"is_bot": false,
"headline": "Merge pull request #5 from slawlor/tcp",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-16T15:41:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99e5534736c932eb2321cbb95dc4d231a8e01840",
"body": null,
"is_bot": false,
"headline": "Move to tracing and add cron manager test coverage",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-16T15:33:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1002ced57b934d60bc31584f1c5d75dc8d4d49fa",
"body": null,
"is_bot": false,
"headline": "Adding cron job actor",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-16T14:23:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0806e93c771e51e0d97d477bfc829d46c4af6fa2",
"body": null,
"is_bot": false,
"headline": "Update to ractor 0.9",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-08-16T00:43:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9be87c57ac864a9fd7bb70e8fcb2dca57e8c7db2",
"body": "Docs + tests to come\n\nRelated issue: #2",
"is_bot": false,
"headline": "Adding TcpListener and TcpSession actors",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T23:55:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "545f2c3910495e7449e4ddc24f4f5e9460bf86ba",
"body": "Update art links to main repo",
"is_bot": false,
"headline": "Merge pull request #4 from slawlor/new_art",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T13:46:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2451287eb43a2a568c7a35032d3c779e976731b9",
"body": null,
"is_bot": false,
"headline": "Update art links to main repo",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T13:36:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07357f5bd61106da37d9009a44a121768c800268",
"body": "docs",
"is_bot": false,
"headline": "Merge pull request #3 from slawlor/basic_docs",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T01:29:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a36e17bb5882b61c570d35f8527c8c42e182bd17",
"body": null,
"is_bot": false,
"headline": "docs",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T01:28:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bdab138e0585b83ccfe394cf5f611e7a10b95c6",
"body": "Fixing lints",
"is_bot": false,
"headline": "Merge pull request #1 from slawlor/fixes",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T01:21:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "545fc7f83531548cb32b502a368080c788f8332a",
"body": null,
"is_bot": false,
"headline": "Fixing lints",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T01:17:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f5c5f4d3dd817bf82a7edf3489c06dcb6a08d96",
"body": null,
"is_bot": false,
"headline": "Adding dependencies",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T01:13:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7ac79d530b8ece693b0c45fac9a680bc0ccac78",
"body": null,
"is_bot": false,
"headline": "Initial commit for new ractor_actors crate with utility actors",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T01:05:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5989168a5f484dd430152231713dfbeb64f1d8e0",
"body": null,
"is_bot": false,
"headline": "Initial commit",
"author_name": "Sean Lawlor",
"author_login": "slawlor",
"committed_at": "2023-04-03T01:00:30Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 18,
"commits_last_year": 6,
"latest_release_at": "2026-07-29T02:30:34Z",
"latest_release_tag": "v0.7.0",
"releases_from_tags": false,
"days_since_last_push": 1,
"active_weeks_last_year": 2,
"days_since_latest_release": 1,
"mean_days_between_releases": 73.6
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 71,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "xtask",
"exists": true,
"license": "MIT OR Apache-2.0",
"keywords": [
"automation",
"macos",
"release",
"codesign",
"xtask",
"command-line-utilities",
"development-tools::build-utils"
],
"ecosystem": "crates",
"matches_repo": false,
"registry_url": "https://crates.io/crates/xtask",
"is_deprecated": false,
"latest_version": "0.1.4",
"repository_url": "https://github.com/arcboxlabs/xtask",
"versions_count": 5,
"total_downloads": 599,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 200,
"first_published_at": "2026-06-24T11:01:25.012607Z",
"latest_published_at": "2026-06-30T09:55:36.509458Z",
"latest_version_yanked": false,
"days_since_latest_publish": 30
},
{
"name": "ractor_actors",
"exists": true,
"license": "MIT",
"keywords": [
"actor",
"ractor",
"asynchronous"
],
"ecosystem": "crates",
"matches_repo": true,
"registry_url": "https://crates.io/crates/ractor_actors",
"is_deprecated": false,
"latest_version": "0.7.0",
"repository_url": "https://github.com/slawlor/ractor_actors",
"versions_count": 20,
"total_downloads": 83247,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 8831,
"first_published_at": "2023-08-19T00:52:19.833946Z",
"latest_published_at": "2026-07-29T02:31:41.594647Z",
"latest_version_yanked": false,
"days_since_latest_publish": 1
}
]
},
"popularity": {
"forks": 8,
"stars": 38,
"watchers": 3,
"fork_history": {
"days": [
{
"date": "2023-09-17",
"count": 1
},
{
"date": "2024-02-01",
"count": 1
},
{
"date": "2024-11-03",
"count": 1
},
{
"date": "2025-03-09",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-10-10",
"count": 1
},
{
"date": "2026-03-26",
"count": 1
},
{
"date": "2026-05-10",
"count": 1
}
],
"complete": true,
"collected": 8,
"total_forks": 8
},
"star_history": null,
"open_issues_and_prs": 1
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"Cargo.toml",
"ractor_actors/Cargo.toml",
"xtask/Cargo.toml"
],
"largest_source_bytes": 19369,
"source_files_sampled": 35,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Cargo.toml",
"ractor_actors/Cargo.toml",
"xtask/Cargo.toml"
],
"advisories": {
"error": "No resolved dependencies carried a version and a supported ecosystem",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 21,
"direct_affected_count": 0
},
"ecosystems": [
"crates"
],
"dependencies": [
{
"name": "ractor",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.16.0"
},
{
"name": "tokio",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "tracing",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.1"
},
{
"name": "async-trait",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.1"
},
{
"name": "chrono",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.4"
},
{
"name": "cron",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.17"
},
{
"name": "tokio-stream",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.1"
},
{
"name": "notify",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "8"
},
{
"name": "tokio-rustls",
"manifest": "ractor_actors/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.26"
},
{
"name": "xtaskops",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.4"
},
{
"name": "anyhow",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "reqwest",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.12"
},
{
"name": "semver",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "serde",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "serde_json",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "serde_yaml",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.9"
},
{
"name": "toml_edit",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.22"
},
{
"name": "clap",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "4"
},
{
"name": "tokio",
"manifest": "xtask/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "anyhow",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "async-trait",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "chrono",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "clap",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "cron",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "notify",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "ractor",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "semver",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "serde",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "serde_json",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "serde_yaml",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-rustls",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-stream",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "toml_edit",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "xtaskops",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-glog",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-subscriber",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-test",
"direct": false,
"version": null,
"ecosystem": "crates"
}
],
"collected": true,
"truncated": false,
"total_count": 21,
"direct_count": 18,
"indirect_count": 3
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 33,
"open_issues": 1,
"closed_ratio": 0.75,
"closed_issues": 3,
"closed_unmerged_prs": 5
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "slawlor",
"commits": 70,
"avatar_url": "https://avatars.githubusercontent.com/u/9451356?v=4"
},
{
"type": "User",
"login": "dtolnay",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/1940490?v=4"
},
{
"type": "User",
"login": "leonqadirie",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/39130739?v=4"
},
{
"type": "User",
"login": "trygvis",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/36284?v=4"
}
],
"contributors_sampled": 4,
"top_contributor_share": 0.959
},
"quality_signals": {
"has_ci": true,
"has_tests": false,
"ci_workflows": [
"ci.yaml",
"coverage.yml",
"dependency-tracker.yml",
"publish.yaml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 3,
"reason": "5 out of 15 merged PRs checked by a CI test -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 1,
"reason": "Found 2/20 approved changesets -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 3,
"reason": "project has 1 contributing companies or organizations -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 2,
"reason": "3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "05a4fdbdfeb61e9f5d6c744d36fc06ed8aca958d",
"ran_at": "2026-07-30T21:09:32Z",
"aggregate_score": 4.9,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-29T02:31:46Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-29T02:29:40Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 17,
"created_at": "2024-02-02T02:49:38Z",
"last_comment_at": "2024-02-02T23:04:52Z",
"last_comment_author": "slawlor"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/slawlor/ractor_actors",
"host": "github.com",
"name": "ractor_actors",
"owner": "slawlor"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": "The weighted overall 53 is calibrated to 54 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 53,
"calibrated": 54,
"calibration": "2026-08-02"
}
}
],
"value": 54,
"inputs": {
"security": 49,
"vitality": 65,
"community": 55,
"governance": 58,
"calibration": "2026-08-02",
"engineering": 38,
"ai_readiness": 42,
"weighted_overall_raw": 53
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 65,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "weak",
"name": "Development activity",
"note": null,
"notes": [],
"value": 47,
"inputs": {
"commits_last_year": 6,
"human_commit_share": 0.88,
"days_since_last_push": 1,
"active_weeks_last_year": 2
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 1 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 1
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "2/52 weeks with commits",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 2
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "6 commits in the last year",
"points": 7.6,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 6
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2",
"points": 2,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 92,
"inputs": {
"releases_count": 18,
"latest_release_tag": "v0.7.0",
"releases_from_tags": false,
"days_since_latest_release": 1,
"mean_days_between_releases": 73.6
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "18 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 18
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 1 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 1
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~73.6 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 73.6
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 6,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 6 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 6
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 55,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "at_risk",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 34,
"inputs": {
"forks": 8,
"stars": 38,
"watchers": 3,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "38 stars",
"points": 25.4,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 38
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "8 forks",
"points": 7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 8
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "3 watchers",
"points": 1.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 3
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"readme_badge_services": [],
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "good",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 66,
"inputs": {
"packages": [
"ractor_actors"
],
"dependents": null,
"ecosystems": "crates",
"total_downloads": 83247,
"monthly_downloads": 8831
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "8,831 downloads/month across crates",
"points": 52.6,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 8831,
"ecosystems": "crates"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 58,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 18,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 4,
"top_contributor_share": 0.959
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 96% of commits",
"points": 0.9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 96
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "4 contributors",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 4
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 68,
"inputs": {
"merged_prs": 33,
"open_issues": 1,
"closed_issues": 3,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": 0.75,
"closed_unmerged_prs": 5,
"first_time_authors_30d": null,
"first_time_prs_merged_30d": null,
"first_time_prs_decided_30d": null
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "75% of issues closed",
"points": 31.5,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 75
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "33/38 decided PRs merged",
"points": 26.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 33,
"decided": 38
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 2/20 approved changesets -- score normalized to 1",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 61,
"inputs": {
"followers": 272,
"owner_type": "User",
"is_verified": null,
"owner_login": "slawlor",
"public_repos": 18,
"account_age_days": 4292
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "272 followers of slawlor",
"points": 17.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 272,
"login": "slawlor"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "18 public repos, account ~11 yr old",
"points": 21.3,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 18
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"ractor_actors"
],
"ecosystems": "crates",
"any_deprecated": false,
"min_days_since_publish": 1
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on crates",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "crates"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 1 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 1
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "20 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 20
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "weak",
"name": "Engineering Quality",
"value": 38,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "at_risk",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 30,
"inputs": {
"has_ci": true,
"has_tests": false,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "4 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 4
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "5 out of 15 merged PRs checked by a CI test -- score normalized to 3",
"points": 6,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "weak",
"name": "Security",
"value": 49,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "weak",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 49,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 4.9
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "5 out of 15 merged PRs checked by a CI test -- score normalized to 3",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 2/20 approved changesets -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "exceptional",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 7
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "weak",
"name": "AI Readiness",
"value": 42,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 26,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.479,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "35 of 73 human commits state their intent (structured subject or explanatory body)",
"points": 25.6,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 35,
"sampled": 73
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 32,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"Cargo.toml",
"ractor_actors/Cargo.toml",
"xtask/Cargo.toml"
],
"dependency_bot_commit_share": 0.12
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Cargo.toml, ractor_actors/Cargo.toml, xtask/Cargo.toml (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "Cargo.toml, ractor_actors/Cargo.toml, xtask/Cargo.toml"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Rust (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 83",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 83
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "10 of the last 83 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 10,
"sampled": 83
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Rust",
"largest_source_bytes": 19369,
"source_files_sampled": 35,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Rust (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Rust"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/35 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 35,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "weak",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [
"library",
"application"
],
"labels": [
"library",
"cli"
],
"scores": {
"cli": 4,
"library": 6
},
"primary": "library",
"evidence": [
{
"tier": "distribution",
"label": "library",
"source": "registry:crates",
"weight": 6
},
{
"tier": "dependencies",
"label": "cli",
"source": "dep:clap",
"weight": 4
}
],
"artifacts": [],
"confidence": "medium",
"host_extension": false,
"runs_as_process": true,
"consumed_by_code": true
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"crates package 'xtask' points at a different repository (https://github.com/arcboxlabs/xtask); excluded from ecosystem scoring",
"No resolved dependencies carried a version and a supported ecosystem"
],
"report_type": "repository",
"generated_at": "2026-07-30T21:09:49.156560Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/slawlor/ractor_actors.svg",
"full_name": "slawlor/ractor_actors",
"license_state": "standard",
"license_spdx": "MIT"
}