{"adoption": {"forks": 226, "observed_at": "2026-08-28T04:05:33.466277+00:00", "stars": 1765}, "canonical_url": "https://ross.abutalabs.com/products/timefold-solver", "card": {"archived": false, "artifact_type": "library", "description": "The open source Solver AI for Java and Kotlin to optimize scheduling and routing. Solve the vehicle routing problem, employee rostering, task assignment, maintenance scheduling and other planning problems.", "domain": ["logistics", "hr", "performance"], "enriched": true, "function": ["simulation", "sdk", "developer-tools"], "health_score": 100, "homepage": "http://solver.timefold.ai", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["TimefoldAI/timefold-solver"], "name": "TimefoldAI/timefold-solver", "platform": ["jvm"], "pushed_at": "2026-08-26T11:26:25+00:00", "repo": "TimefoldAI/timefold-solver", "stars": 1765, "tags": ["constraint-solver", "vehicle-routing", "employee-scheduling", "timetabling", "optimization", "operations-research", "optaplanner-successor", "algorithms", "automation"], "topics": ["ai", "artificial-intelligence", "cvrp", "employee-scheduling", "vehicle-routing", "vehicle-routing-problem", "vrp", "vrptw", "maintenance-scheduling", "planning-algorithms", "operations-research", "resource-allocation", "solver-library", "java", "optimization-algorithms", "solver", "kotlin", "constraint-programming", "constraint-solver"], "urls": [], "use_cases": ["solve vehicle routing problems for delivery fleets", "generate employee shift schedules respecting skills and labor rules", "assign tasks to workers or machines by priority and affinity", "build school or conference timetables", "schedule maintenance for facilities and machinery", "solve bin packing and resource allocation problems", "optimize job shop scheduling to reduce makespan"], "what_it_is": "Timefold Solver is an open-source, embeddable constraint satisfaction and optimization engine for Java and Kotlin, continuing Red Hat's OptaPlanner. It solves combinatorial planning problems such as vehicle routing, employee rostering, task assignment, and timetabling using constraint-based scoring and heuristic search algorithms.", "when_to_avoid": ["you need a managed REST API without writing code (use Timefold Platform models instead)", "your project is not on the JVM", "you need general-purpose ML or data science tooling rather than constraint optimization"], "when_to_choose": ["you need an embeddable JVM optimization library for scheduling or routing", "your planning problem has hard and soft constraints with weighted scoring", "you want a mature, well-documented solver with active maintenance", "you're building custom planning models in Java or Kotlin"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/timefold-solver", "repo": "TimefoldAI/timefold-solver", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "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:05:33.466277+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:33.466277+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:26:36.289251+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ba9cf87ac61add37ddc8ee083399f9aeddb36bcd5e6b57a461594bcf2d24b42", "fetched_at": "2026-08-29T11:05:03.601503+00:00", "kind": "homepage", "missing": false, "url": "http://solver.timefold.ai"}, {"content_hash": "21b3856d820a4232b1ed964d4a9c847ed3b0f6aa9cc0973c41080b118194006d", "fetched_at": "2026-08-29T11:05:03.603764+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/timefold-solver/latest/introduction"}, {"content_hash": "f41742a0dcec65e354e7241336a97a29ff23e427a75caaf8aed73a9d6d272194", "fetched_at": "2026-08-29T11:05:03.605602+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/field-service-routing/latest/introduction"}, {"content_hash": "6c9e91575520c09fde2bded28f5c04c63f553f981f94f334601dacb2a08ddf5a", "fetched_at": "2026-08-29T11:05:03.607358+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/employee-shift-scheduling/latest/introduction"}, {"content_hash": "a427ee8f5fe8bdc2f42c38aed1e0cc2883377e15d81e71d5d190e5f936febbbb", "fetched_at": "2026-08-29T11:05:03.609233+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/pickup-delivery-routing/latest/introduction"}, {"content_hash": "e9e523ab746eafa3bfa953762b425e6b1d66c722b45f2fb1bd70090bf102c342", "fetched_at": "2026-08-29T11:05:03.621599+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/job-scheduling/latest/introduction"}, {"content_hash": "d00b814a13673c4b9f17135ea47b9b3ebf118eb1209a375a48843d3aeedf5490", "fetched_at": "2026-08-29T11:05:03.654870+00:00", "kind": "site_page", "missing": false, "url": "https://timefold.ai/about-us"}, {"content_hash": "787f0704c33e94ce555d2381d2ba0084b532e4f03102bcd24526e1d3be4e478a", "fetched_at": "2026-08-29T11:05:03.679754+00:00", "kind": "site_page", "missing": false, "url": "https://docs.timefold.ai/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 89, "rhythm": 97}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_readme"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1254, "days_push": 7, "days_rel": 21, "gap_med": 26.0, "n_releases_24m": 31}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}