{"source":"https://api.gridrock.ai/mcp","tools":["route","reach"],"scope":"mh36","archetype":"route","from":{"admin_code":480,"cluster_id":4800000009,"lat":15.755,"lng":74.305},"to":{"admin_code":480,"cluster_id":4800000008,"lat":15.755,"lng":74.295},"route":{"ok":true,"tool":"route","generation":{"namespace":"bs:cube:0852c73eef54","schema_fingerprint_ns":"0852c73eef54"},"result":{"distance_km":0.8908,"distance_km_u_k2":0.04454,"duration_s_free_flow":98.3,"great_circle_km":1.070177,"reachable":true,"k_band":[{"distance_km":0.8908,"duration_s":98.3}],"stability_certificate":{"stable":true,"relative_gap_to_second":null,"n_alternatives":1,"rule":">5% gap to 2nd-best ⇒ stable argmin; else serve the band (v8 §68.4, the 139.304 km flip)"},"traffic":{"included":false,"note":"free-flow (Σ + road-class speeds); traffic-ETA is the separate Ola witness, never folded in (D9)"},"construct_derivation_rule_sha256":"49de2a4b63f61821dfc324a8effe34475eb0243ddef520f773dc655298e4699b","construct_designation_status":"provisional"},"coverage":{"method":"osrm_mld_shortest_path_free_flow","distance_ge_great_circle":false,"stable":true,"endpoints":{"a":{"in_mh36_cube":true,"admin_code":480,"cluster_id":4800000009},"b":{"in_mh36_cube":true,"admin_code":480,"cluster_id":4800000008},"both_in_cube":true,"note":"route is a pure network primitive on a graph WIDER than the MH-36 morphology cube; an endpoint with in_mh36_cube=false is routable but unwitnessed — resolve_locality / read_witnesses refuse it (outside_coverage). Only the cube is MH-36-scoped."}},"error":null},"reach":{"ok":true,"tool":"reach","generation":{"namespace":"bs:cube:0852c73eef54","schema_fingerprint_ns":"0852c73eef54"},"result":{"budget_minutes":30,"n_reachable":99,"reachable_cells":[{"admin_code":480,"cluster_id":4800000009,"duration_s":0},{"admin_code":480,"cluster_id":4800000008,"duration_s":98.3},{"admin_code":480,"cluster_id":4800000001,"duration_s":98.3},{"admin_code":480,"cluster_id":4800000017,"duration_s":163.6},{"admin_code":480,"cluster_id":4800000026,"duration_s":165.6},{"admin_code":480,"cluster_id":4800000016,"duration_s":193},{"admin_code":480,"cluster_id":4800000018,"duration_s":251.4},{"admin_code":480,"cluster_id":4800000027,"duration_s":255.7},{"admin_code":480,"cluster_id":4800000025,"duration_s":275.9},{"admin_code":480,"cluster_id":4800000024,"duration_s":275.9},{"admin_code":480,"cluster_id":4800000015,"duration_s":288.8},{"admin_code":480,"cluster_id":4800000007,"duration_s":296.3},{"admin_code":480,"cluster_id":4800000023,"duration_s":350.6},{"admin_code":480,"cluster_id":4800000014,"duration_s":392.1},{"admin_code":480,"cluster_id":4800000006,"duration_s":411.9},{"admin_code":480,"cluster_id":4800000028,"duration_s":421.6},{"admin_code":480,"cluster_id":4800000047,"duration_s":456.3},{"admin_code":480,"cluster_id":4800000029,"duration_s":464.5},{"admin_code":480,"cluster_id":4800000022,"duration_s":488.1},{"admin_code":480,"cluster_id":4800000013,"duration_s":495.8},{"admin_code":480,"cluster_id":4800000048,"duration_s":497.7},{"admin_code":480,"cluster_id":4800000005,"duration_s":504.3},{"admin_code":480,"cluster_id":4800000004,"duration_s":560.9},{"admin_code":480,"cluster_id":4800000049,"duration_s":580.2},{"admin_code":480,"cluster_id":4800000012,"duration_s":601.8},{"admin_code":480,"cluster_id":4800000021,"duration_s":645.6},{"admin_code":480,"cluster_id":4800000040,"duration_s":645.6},{"admin_code":480,"cluster_id":4800000011,"duration_s":667.5},{"admin_code":480,"cluster_id":4800000020,"duration_s":667.5},{"admin_code":480,"cluster_id":4800000039,"duration_s":667.5},{"admin_code":480,"cluster_id":4800000010,"duration_s":667.5},{"admin_code":480,"cluster_id":4800000019,"duration_s":667.5},{"admin_code":480,"cluster_id":4800000003,"duration_s":677.3},{"admin_code":480,"cluster_id":4800000000,"duration_s":677.3},{"admin_code":480,"cluster_id":4800000002,"duration_s":677.3},{"admin_code":480,"cluster_id":4800000070,"duration_s":677.9},{"admin_code":480,"cluster_id":4800000050,"duration_s":678},{"admin_code":480,"cluster_id":4800000030,"duration_s":685.3},{"admin_code":480,"cluster_id":4800000069,"duration_s":751.3},{"admin_code":480,"cluster_id":4800000092,"duration_s":818.6},{"admin_code":480,"cluster_id":4800000091,"duration_s":839.8},{"admin_code":480,"cluster_id":4800000071,"duration_s":840.1},{"admin_code":480,"cluster_id":4800000031,"duration_s":841},{"admin_code":480,"cluster_id":4800000090,"duration_s":922.4},{"admin_code":480,"cluster_id":4800000115,"duration_s":940.6},{"admin_code":480,"cluster_id":4800000116,"duration_s":963.9},{"admin_code":480,"cluster_id":4800000089,"duration_s":1004.5},{"admin_code":480,"cluster_id":4800000068,"duration_s":1007.3},{"admin_code":480,"cluster_id":4800000144,"duration_s":1052.4},{"admin_code":480,"cluster_id":4800000114,"duration_s":1066.4},{"admin_code":480,"cluster_id":4800000067,"duration_s":1103.8},{"admin_code":480,"cluster_id":4800000088,"duration_s":1112.4},{"admin_code":480,"cluster_id":4800000141,"duration_s":1154.8},{"admin_code":480,"cluster_id":4800000113,"duration_s":1161.5},{"admin_code":480,"cluster_id":4800000175,"duration_s":1181.6},{"admin_code":480,"cluster_id":4800000140,"duration_s":1191.9},{"admin_code":480,"cluster_id":4800000143,"duration_s":1206.6},{"admin_code":480,"cluster_id":4800000171,"duration_s":1209.4},{"admin_code":480,"cluster_id":4800000176,"duration_s":1256.7},{"admin_code":480,"cluster_id":4800000087,"duration_s":1275.2},{"admin_code":480,"cluster_id":4800000112,"duration_s":1275.2},{"admin_code":480,"cluster_id":4800000174,"duration_s":1297.9},{"admin_code":480,"cluster_id":4800000142,"duration_s":1313.8},{"admin_code":480,"cluster_id":4800000139,"duration_s":1331.3},{"admin_code":480,"cluster_id":4800000209,"duration_s":1349.9},{"admin_code":480,"cluster_id":4800000173,"duration_s":1387.6},{"admin_code":480,"cluster_id":4800000208,"duration_s":1401.4},{"admin_code":480,"cluster_id":4800000138,"duration_s":1477.3},{"admin_code":480,"cluster_id":4800000111,"duration_s":1479.5},{"admin_code":480,"cluster_id":4800000137,"duration_s":1489.6},{"admin_code":480,"cluster_id":4800000167,"duration_s":1499.2},{"admin_code":480,"cluster_id":4800000172,"duration_s":1504},{"admin_code":480,"cluster_id":4800000168,"duration_s":1543.3},{"admin_code":480,"cluster_id":4800000110,"duration_s":1552.3},{"admin_code":480,"cluster_id":4800000207,"duration_s":1560.8},{"admin_code":480,"cluster_id":4800000169,"duration_s":1564.7},{"admin_code":480,"cluster_id":4800000205,"duration_s":1583.2},{"admin_code":480,"cluster_id":4800000237,"duration_s":1587.9},{"admin_code":480,"cluster_id":4800000238,"duration_s":1602.3},{"admin_code":480,"cluster_id":4800000206,"duration_s":1609.4},{"admin_code":480,"cluster_id":4800000086,"duration_s":1613.1},{"admin_code":480,"cluster_id":4800000170,"duration_s":1640.5},{"admin_code":480,"cluster_id":4800000109,"duration_s":1647.9},{"admin_code":480,"cluster_id":4800000136,"duration_s":1647.9},{"admin_code":480,"cluster_id":4800000135,"duration_s":1647.9},{"admin_code":480,"cluster_id":4800000204,"duration_s":1648.5},{"admin_code":480,"cluster_id":4800000267,"duration_s":1667.9},{"admin_code":480,"cluster_id":4800000236,"duration_s":1669.2},{"admin_code":480,"cluster_id":4800000085,"duration_s":1669.7},{"admin_code":480,"cluster_id":4800000266,"duration_s":1680.2},{"admin_code":480,"cluster_id":4800000203,"duration_s":1686.2},{"admin_code":480,"cluster_id":4800000202,"duration_s":1713.4},{"admin_code":480,"cluster_id":4800000295,"duration_s":1718.8},{"admin_code":480,"cluster_id":4800000201,"duration_s":1728.1},{"admin_code":480,"cluster_id":4800000296,"duration_s":1742.8},{"admin_code":480,"cluster_id":4800000064,"duration_s":1744.3},{"admin_code":480,"cluster_id":4800000042,"duration_s":1790.3},{"admin_code":480,"cluster_id":4800000233,"duration_s":1791.4},{"admin_code":480,"cluster_id":4800000063,"duration_s":1795.3}],"n_candidates":400,"n_unreachable_typed":0,"construct_derivation_rule_sha256":"090710f57c41c4e39039ff72c13473841bb60bd8119327d952b53e63b517999e","construct_designation_status":"provisional"},"coverage":{"method":"osrm_table_free_flow_level_set","monotone_in_budget":true},"error":null}}