{"ok":true,"site":{"host":"aftershade-webmcp.yukifoo.chatgpt.site","url":"https://aftershade-webmcp.yukifoo.chatgpt.site/","type":"live","desc":"A WebMCP co-design lab where residents protect lived priorities while agents explore cooler street futures.","tools":[{"name":"inspect_heat_scenario","kind":"answer","impl":"imperative","description":"Read the live Aftershade neighborhood, constraints, intervention catalog, active plan, metrics, branches, and revision. Call before planning and after any stale-revision error.","title":"Inspect heat scenario","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_plan_branch","kind":"act","impl":"imperative","description":"Create and display a reversible plan branch copied from an existing branch. This changes shared page state and advances the revision.","title":"Create plan branch","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."},"name":{"type":"string","minLength":1,"maxLength":42,"description":"Short human-readable branch name."},"fromPlanId":{"type":"string","minLength":1,"maxLength":60,"description":"Existing branch ID. Omit to copy the active branch."}},"required":["expectedRevision","name"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_heat_constraints","kind":"act","impl":"imperative","description":"Update the budget, exposed-route target, or complete protected-place list. This changes every branch evaluation and advances the shared revision.","title":"Set heat constraints","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."},"budget":{"type":"integer","minimum":100,"maximum":750,"description":"Capital budget in thousands of dollars."},"targetExposure":{"type":"integer","minimum":10,"maximum":65,"description":"Maximum percent of the walking route exposed to peak sun."},"protectedSites":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["market","crossing","library","school","garden","transit"]},"description":"Complete set of place IDs that plans must protect."}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_heat_interventions","kind":"act","impl":"imperative","description":"Place one to six cooling interventions on the active plan as one atomic bundle, then update its visible metrics. Advances the shared revision.","title":"Apply heat interventions","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."},"additions":{"type":"array","minItems":1,"maxItems":6,"items":{"type":"object","properties":{"type":{"type":"string","enum":["tree_corridor","shade_canopy","cool_pavement","water_station","bus_shelter","pocket_grove"]},"siteId":{"type":"string","enum":["market","crossing","library","school","garden","transit"]}},"required":["type","siteId"],"additionalProperties":false},"description":"Cooling interventions and semantic place IDs to receive them."}},"required":["expectedRevision","additions"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_heat_intervention","kind":"act","impl":"imperative","description":"Remove one intervention from the active branch by ID and update its visible metrics. Advances the shared revision.","title":"Remove heat intervention","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."},"interventionId":{"type":"string","minLength":1,"maxLength":160,"description":"Intervention ID from inspect_heat_scenario."}},"required":["expectedRevision","interventionId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"simulate_heat_plan","kind":"act","impl":"imperative","description":"Re-run the deterministic heat, exposure, canopy, comfort, cost, score, and constraint checks for the active branch. Advances the revision and shows the result.","title":"Simulate heat plan","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_heat_plans","kind":"answer","impl":"imperative","description":"Read a compact side-by-side comparison of every branch using the current shared constraints. Does not change the page.","title":"Compare heat plans","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"show_heat_plan","kind":"act","impl":"imperative","description":"Bring an existing branch into the shared visible map without committing it. Advances the revision because it changes shared page focus.","title":"Show heat plan","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."},"planId":{"type":"string","minLength":1,"maxLength":60,"description":"Branch ID from inspect_heat_scenario or compare_heat_plans."}},"required":["expectedRevision","planId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"mark_heat_plan_ready","kind":"act","impl":"imperative","description":"Mark the active branch ready only if it satisfies every current constraint. This is an explicit internal commitment and advances the shared revision.","title":"Mark heat plan ready","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"undo_heat_change","kind":"act","impl":"imperative","description":"Undo the most recent reversible human or agent state change. Requires the current revision and advances to a new revision after restoration.","title":"Undo heat change","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."}},"required":["expectedRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reset_aftershade_demo","kind":"act","impl":"imperative","description":"Restore the seeded neighborhood and resident brief as the next monotonic revision. This discards visible local demo changes but can be undone.","title":"Reset Aftershade demo","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"description":"Current revision from inspect_heat_scenario."},"confirm":{"type":"boolean","const":true,"description":"Must be true to acknowledge local demo changes will be reset."}},"required":["expectedRevision","confirm"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"favicon":"/favicons/aftershade-webmcp.yukifoo.chatgpt.site.png","apiSurface":"spec","category":"Developer Tools","toolCount":11}}