{"ok":true,"site":{"host":"tayyab415.github.io","url":"https://tayyab415.github.io/ground/","type":"live","desc":"A checkable geographic decision workspace. Map, ranked candidates, evidence, and WebMCP tools in one browser tab.","tools":[{"name":"get_workspace_state","kind":"answer","impl":"imperative","description":"Read the live Ground workspace: mission, constraints, layers, ranked candidates, open evidence, timeline, and unsaved selection/corrections. This is browser-tab state, not a server snapshot.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"get_current_selection","kind":"answer","impl":"imperative","description":"Return the district, polygon, lasso, or point the human currently has selected. The selection is unsaved and only exists in this tab — not a server roundtrip.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"get_visible_map_state","kind":"answer","impl":"imperative","description":"Return map center, zoom, bounds, OSM tile status, and active layers.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"get_open_evidence","kind":"answer","impl":"imperative","description":"Return the evidence card currently open, including sources, gaps, and unverified assumptions.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"get_unsaved_changes","kind":"answer","impl":"imperative","description":"Return unsaved human selection, uncommitted corrections, and any open preview in this tab. This state is not persisted and is visible to an agent only through WebMCP.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"show_candidates","kind":"act","impl":"imperative","description":"Run or refresh the honest ranking and show ranked districts as map overlays. NDVI is included only if Earth Engine returned sourced values; otherwise it is a gap.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"How many candidates to emphasize (default: mission max districts)."},"runAnalysis":{"type":"boolean","description":"If true (default when empty), recompute ranking before showing."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"open_evidence","kind":"act","impl":"imperative","description":"Open the evidence card for a ranked district (name or id), e.g. Gorakhpur. Same action as clicking View details.","inputSchema":{"type":"object","properties":{"district":{"type":"string","description":"District name or id, e.g. Gorakhpur or gorakhpur."}},"required":["district"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"highlight_uncertainty","kind":"act","impl":"imperative","description":"Mark districts whose current rank depends on an unverified assumption (the Gorakhpur canal prior).","inputSchema":{"type":"object","properties":{"on":{"type":"boolean","description":"Default true. Set false to clear."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"preview_scenario","kind":"act","impl":"imperative","description":"Preview a re-ranking without committing. Pass scenario to preview weight changes. Pass fact and value only to preview a canal correction; district is required then unless a district is already selected. Does not default to Gorakhpur or seasonal canal.","inputSchema":{"type":"object","properties":{"district":{"type":"string","description":"District name or id when previewing a canal correction. No default."},"fact":{"type":"string","enum":["canal_irrigation"]},"value":{"type":"string","enum":["seasonal","year-round"]},"scenario":{"type":"string","enum":["base","high_investment","low_risk"]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"apply_correction","kind":"act","impl":"imperative","description":"Apply a human correction and re-run the bounded ranking in this tab (unsaved). Default: canal irrigation is seasonal.","inputSchema":{"type":"object","properties":{"district":{"type":"string","description":"District name or id. Defaults to current unsaved selection."},"fact":{"type":"string","enum":["canal_irrigation"]},"value":{"type":"string","enum":["seasonal","year-round"]},"note":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"set_region","kind":"act","impl":"imperative","description":"Switch the workspace to another supported region (up, maharashtra, us). Resets ranking, corrections, ground checks, draw mode, and timeline. Call show_candidates to rank this region.","inputSchema":{"type":"object","properties":{"region":{"type":"string","enum":["up","maharashtra","us"],"description":"Region id."}},"required":["region"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"export_decision","kind":"act","impl":"imperative","description":"Generate the decision record (mission, ranking history, sources, corrections, gaps, reproducibility hash) and download JSON. Same as Share/export in the UI.","inputSchema":{"type":"object","properties":{"download":{"type":"boolean","description":"Default true. Set false to return the record without downloading."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"get_ground_checks","kind":"answer","impl":"imperative","description":"Read GroundChecks and their field replies in this tab. Replies are real (photo + answer) or absent — never invented. Approved replies mark verified field evidence.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"send_ground_check","kind":"transact","impl":"imperative","description":"Create a GroundCheck for a field officer: one question, one location, photo + short answer, due date. Same as the Send GroundCheck control. Does not invent a reply. If the reply store is down, the check is a gap.","inputSchema":{"type":"object","properties":{"district":{"type":"string","description":"District name or id. Defaults to current selection."},"question":{"type":"string","description":"One precise question for the officer."},"dueDays":{"type":"number","description":"Days until due (default 7)."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"},{"name":"approve_evidence","kind":"act","impl":"imperative","description":"Mark a field GroundCheck reply as verified evidence. Reads the officer's answer and, when the reply contradicts the current irrigation assumption, applies the resulting correction and re-ranks. Same as Approve evidence in the UI. Fails if no real reply exists — never fakes a field photo, GPS, or answer.","inputSchema":{"type":"object","properties":{"checkId":{"type":"string","description":"GroundCheck id. If supplied (including whitespace-only), missing/empty is an error — no fallback. Omit to approve the latest replied check in this tab or its same-tab localStorage store."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ground/"}],"apiSurface":"spec","category":"AI & Agents","toolCount":15}}