{"adoption": {"forks": 163, "observed_at": "2026-08-28T04:08:17.744499+00:00", "stars": 3753}, "canonical_url": "https://ross.abutalabs.com/products/spegel", "card": {"archived": false, "artifact_type": "application", "description": "Stateless cluster local OCI registry mirror.", "domain": ["cloud-computing", "microservices"], "enriched": true, "function": ["caching", "container-runtime", "p2p", "http-server"], "health_score": 100, "homepage": "https://spegel.dev", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["spegel-org/spegel"], "name": "spegel-org/spegel", "platform": ["go", "self-hosted"], "pushed_at": "2026-08-25T11:25:38+00:00", "repo": "spegel-org/spegel", "stars": 3753, "tags": ["oci-registry-mirror", "containerd", "peer-to-peer", "image-pull", "daemonset", "helm-chart", "stateless", "containers", "devops", "kubernetes", "docker", "linux"], "topics": ["containerd", "docker", "kubernetes", "oci", "p2p", "registry", "go", "cloud", "golang"], "urls": [], "use_cases": ["speed up container image pulls in a kubernetes cluster", "avoid docker hub rate limiting when pulling images", "keep pods schedulable when an external registry is down", "reduce egress traffic from pulling images", "share cached images between cluster nodes without a central registry", "improve image pull performance on edge nodes"], "what_it_is": "Spegel is a stateless cluster-local OCI registry mirror for Kubernetes that lets every node share container images peer-to-peer via containerd. It reduces external registry traffic, speeds up pod startup, and keeps workloads deployable during registry outages.", "when_to_avoid": ["your cluster uses a container runtime other than containerd", "you need strict multi-tenant image access control, since Spegel exposes every node's cache cluster-wide", "you run a local development cluster, where the project recommends Hall instead"], "when_to_choose": ["you run a multi-node Kubernetes cluster with containerd and want faster, more resilient image pulls", "you want to cut external registry bandwidth and rate-limit exposure without running a pull-through cache", "you want a stateless mirror with no extra storage to operate"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spegel", "repo": "spegel-org/spegel", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "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:08:17.744499+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:17.744499+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:28:57.826267+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d525d6e21b7e60d275478e381a6034e7514e871c760c23b18bb0e235c3f43863", "fetched_at": "2026-08-28T04:08:17.744499+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spegel-org/spegel"}, {"content_hash": "c8e77cf3526315dd2550ae6e90aa8c164888c7ab40267f7d763e19f9419a2f1c", "fetched_at": "2026-08-29T09:23:08.085926+00:00", "kind": "homepage", "missing": false, "url": "https://spegel.dev"}, {"content_hash": "7aea5130626a9bff4c961b0c4006fab15d81fed5ee4114486f2ebb77d4ff622c", "fetched_at": "2026-08-29T09:23:08.088747+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs"}, {"content_hash": "5a8fe0299067afc1691fb208e29508a538a9b5d04fc9dcecb0cd660395f37670", "fetched_at": "2026-08-29T09:23:08.090675+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/getting-started"}, {"content_hash": "6ad42e41451b2733382486eb8815af35e7102b6b66c8d72a9219411443bda88c", "fetched_at": "2026-08-29T09:23:08.093232+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage"}, {"content_hash": "60fcd03d35031cbc9a0d4c7bbeb3dd40db75189f9a8f52c155b9b8b98e1314d5", "fetched_at": "2026-08-29T09:23:08.094839+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/resolving-tags"}, {"content_hash": "f4ba489d80077f545f58926cde40abda5dcf83f69c6fdd549c72c969fdcd0600", "fetched_at": "2026-08-29T09:23:08.096625+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/node-configuration"}, {"content_hash": "2039e397905f22ed21c173f67dddacc8c6274a38054f49f0b8b35918ef149524", "fetched_at": "2026-08-29T09:23:08.098405+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/multi-tenant-credentials"}, {"content_hash": "36c0173ca8ca896be2935bdc6d95ffaf2a044557eb908ec4c46543c1b4e23228", "fetched_at": "2026-08-29T09:23:08.100151+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/usage/local-cluster"}, {"content_hash": "7c1e07a01c2124a8a0ff2427d6aba3b061de554b0a3b12a093c130b79729033b", "fetched_at": "2026-08-29T09:23:08.101704+00:00", "kind": "site_page", "missing": false, "url": "https://spegel.dev/docs/architecture"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 94, "rhythm": 93}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1317, "days_push": 8, "days_rel": 49, "gap_med": 28.0, "n_releases_24m": 19}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}