{"id":"range-partitioning-boundary-routing-bisect","text":"Key routing uses `bisect_right(boundaries, key) - 1` on a parallel sorted list of partition start keys, giving O(log p) partition lookup where p is the partition count.","truth_value":"IN","source":"entries/2026/05/29/range-partitioning-range_partitioning.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"def get_partition(self, key):\n    idx = bisect.bisect_right(self._boundaries, key) - 1\n    return self._partitions[max(0, idx)]"},"explanation":{"steps":[{"node":"range-partitioning-boundary-routing-bisect","truth_value":"IN","reason":"premise"}]}}