{"adoption": {"forks": 168, "observed_at": "2026-08-28T04:09:34.754167+00:00", "stars": 6070}, "canonical_url": "https://ross.abutalabs.com/products/loro", "card": {"archived": false, "artifact_type": "library", "description": "Make your JSON data collaborative and version-controlled with CRDTs", "domain": ["microservices", "cross-platform", "developer-tools", "privacy"], "enriched": true, "function": ["state-management", "serialization", "developer-tools", "sdk"], "health_score": 100, "homepage": "https://loro.dev", "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["loro-dev/loro"], "name": "loro-dev/loro", "platform": ["rust", "python", "wasm", "cross-platform", "go"], "pushed_at": "2026-08-26T15:27:58+00:00", "repo": "loro-dev/loro", "stars": 6070, "tags": ["crdt", "local-first", "offline-first", "collaborative-editing", "p2p", "rich-text", "version-control", "real-time-collaboration", "real-time", "swift"], "topics": ["crdt", "local-first", "offline-first", "p2p", "rich-text", "collaborative-editing", "privacy-first"], "urls": [], "use_cases": ["build a local-first app with offline editing and automatic sync", "add real-time collaborative editing to a document or rich text editor", "sync JSON state between devices over p2p without a central server", "add Git-like version history and time travel to app data", "implement multiplayer features like shared todo lists or kanban boards", "merge concurrent edits without conflicts in a collaborative notebook"], "what_it_is": "Loro is a high-performance CRDT (Conflict-free Replicated Data Type) library that makes JSON-like application state collaborative, version-controlled, and synchronizable peer-to-peer. It provides text, rich text, list, map, tree, and counter containers with Git-like version history, available in Rust, JavaScript/WASM, Swift, Python, and community-maintained Go and C# bindings.", "when_to_avoid": ["you only need a simple client-server sync backend with no offline/concurrent editing", "your data model is a plain relational database with server-side transactions", "you need a full collaboration server with auth and presence out of the box - Loro is a data layer, not a sync service"], "when_to_choose": ["you need conflict-free merging of concurrent edits across offline or p2p devices", "you want both real-time collaboration and full version history in one data layer", "you need high-performance CRDTs with fast document loading and delta updates", "you want bindings across Rust, JS/WASM, Swift, and Python"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/loro", "repo": "loro-dev/loro", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "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:09:34.754167+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:34.754167+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:48:34.273597+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "49f2bcd9d8bbb57548f9881984a0c9e5a3b607e21808d86eb5504dbf30fc3e8f", "fetched_at": "2026-08-28T04:09:34.754167+00:00", "kind": "readme", "missing": false, "url": "https://github.com/loro-dev/loro"}, {"content_hash": "282b91179c9564a7a73b245e232f7a5763554afea81bab6854fb1499917c1494", "fetched_at": "2026-08-29T08:45:11.307228+00:00", "kind": "homepage", "missing": false, "url": "https://loro.dev"}, {"content_hash": "eda7e393d04a3ee602de138e999266ddddb1792dcaf70ca4f239b0dae31f4d7e", "fetched_at": "2026-08-29T08:45:11.321569+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/get_started"}, {"content_hash": "a6da28f359e37b3d35867802788b9c681c9a60430f68de42f706062c5eb18dc1", "fetched_at": "2026-08-29T08:45:11.323573+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/text"}, {"content_hash": "219c37786508e4a1b33c7d5c224f1a73e96f1cda694c84c784e7997ef5a679cd", "fetched_at": "2026-08-29T08:45:11.325500+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/tree"}, {"content_hash": "ec1b3cf6ddf23a1a3c1a3d11ebe1d2a31e983c0da8b34418b8670d26d270b91e", "fetched_at": "2026-08-29T08:45:11.327321+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/list"}, {"content_hash": "d1cf9c989700a7421b1e84357d3fdf32e9d6fc948d5fe36c013d2fad9dfd357d", "fetched_at": "2026-08-29T08:45:11.329194+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs/tutorial/persistence"}, {"content_hash": "e40ca9a08a8e2e8bc87d3fbe1773a5469e319272f80b5cd9faa68935e111fe16", "fetched_at": "2026-08-29T08:45:11.316625+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/docs"}, {"content_hash": "8ee336a7f4932cf4b1d06fed8786e8cfb7cb18572cb05a9fa5319e450a56d9cb", "fetched_at": "2026-08-29T08:45:11.320044+00:00", "kind": "site_page", "missing": false, "url": "https://loro.dev/about"}, {"content_hash": "161584a3bf26d53a109075fa8153df2c3cf748a89d94bbcf3ddee2cd7b5358f3", "fetched_at": "2026-08-29T08:45:11.331222+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/loro"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1513, "days_push": 7, "days_rel": 7, "gap_med": 2.5, "n_releases_24m": 123}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}