{"adoption": {"forks": 730, "observed_at": "2026-08-28T04:03:54.293995+00:00", "stars": 1182}, "canonical_url": "https://ross.abutalabs.com/products/spring-restdocs", "card": {"archived": false, "artifact_type": "library", "description": "Test-driven documentation for RESTful services", "domain": ["documentation", "testing", "apis", "web-development", "developer-tools"], "enriched": true, "function": ["testing", "api-documentation", "documentation"], "health_score": 91, "homepage": "https://spring.io/projects/spring-restdocs", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["spring-projects/spring-restdocs"], "name": "spring-projects/spring-restdocs", "platform": ["jvm", "cli"], "pushed_at": "2026-06-11T08:33:11+00:00", "repo": "spring-projects/spring-restdocs", "stars": 1182, "tags": ["rest-api", "asciidoctor", "spring", "spring-mvc-test", "api-docs", "test-driven-documentation", "openapi"], "topics": [], "urls": [], "use_cases": ["document rest api endpoints from tests", "generate api documentation with spring boot", "produce accurate restful service docs", "generate openapi spec from spring tests", "avoid stale swagger documentation", "document request and response payloads in junit tests"], "what_it_is": "Spring REST Docs is a Java library that generates accurate documentation for RESTful APIs by combining hand-written Asciidoctor content with auto-generated snippets produced during tests using Spring MVC Test. It produces readable, test-verified user-guide-style documentation rather than dense auto-generated API specs like Swagger.", "when_to_avoid": ["you want zero-effort, fully automatic API docs from code annotations alone", "your services are not on the JVM or not testable with Spring MVC Test", "you need interactive API explorer UIs like Swagger UI out of the box"], "when_to_choose": ["you want documentation that is guaranteed accurate because it is generated from passing tests", "you prefer concise, hand-crafted guides over fully automated dense API references", "your stack is Spring Boot or Spring MVC with JUnit or TestNG tests"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/spring-restdocs", "repo": "spring-projects/spring-restdocs", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "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:03:54.293995+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:54.293995+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:24:59.149390+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "188861685686728269efdf73cf2f193e43713ffd9f9305acb6f543b37cfb9d9c", "fetched_at": "2026-08-28T04:03:54.293995+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spring-projects/spring-restdocs"}, {"content_hash": "1e2a101b77d3dc53488e4859171d8820d9cb2d07dfc1cac2f60f7007c84e227d", "fetched_at": "2026-08-29T12:31:52.089354+00:00", "kind": "homepage", "missing": false, "url": "https://spring.io/projects/spring-restdocs"}, {"content_hash": "fc64dd950363a4f7d15398407bbba748c61041f08a9468a0b9922bb957997ce1", "fetched_at": "2026-08-29T12:31:52.101653+00:00", "kind": "site_page", "missing": false, "url": "https://spring.io/quickstart"}, {"content_hash": "bd6a812a3a9526b54f0e194c527faba109d97c8c300c501c84085cc1a798e2cf", "fetched_at": "2026-08-29T12:31:52.107483+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle"}, {"content_hash": "a2ebaede3a78054764dee7e918ea7184c38703b261a25069484feccc4b33e9de", "fetched_at": "2026-08-29T12:31:52.109865+00:00", "kind": "site_page", "missing": false, "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html"}, {"content_hash": "85ac7d6d51142e18decf96fb4e963203e50ac822f8bcaddb6371f7c81f2e55b6", "fetched_at": "2026-08-29T12:31:52.099066+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io"}, {"content_hash": "3251cc8760b62399f4b0f57b7b1f16c5cddaee78a88466eb8096cbf4a50122ef", "fetched_at": "2026-08-29T12:31:52.104398+00:00", "kind": "site_page", "missing": false, "url": "https://enterprise.spring.io/lts-releases"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 100, "rhythm": 75}, "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": 4347, "days_push": 83, "days_rel": 85, "gap_med": 78.0, "n_releases_24m": 7}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}