{"ok":true,"site":{"host":"forklight.kimth06230724.chatgpt.site","url":"https://forklight.kimth06230724.chatgpt.site/","type":"live","desc":"Try the future before you merge it. A WebMCP-powered 3D logistics sandbox for branchable live application state.","tools":[{"name":"inspect_world","kind":"answer","impl":"imperative","description":"Read MAIN only: revision, entities, routes (with length and barrier blockers), baseline metrics, and a compact branch list. Does not mutate state.","title":"Inspect world","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_constraints","kind":"answer","impl":"imperative","description":"Read the human-defined goal policy, its lock status, and the four hard constraints a future must pass before it can be verified. Does not mutate state; the agent cannot change or lock policy.","title":"Inspect constraints","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_branch","kind":"answer","impl":"imperative","description":"Read one candidate future: changes, metrics, validation, and status. Pass branchId from create_branch or inspect_world. Does not mutate state.","title":"Inspect future","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"branchId":{"type":"string"}},"required":["branchId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_branches","kind":"act","impl":"imperative","description":"Compact comparison of every candidate versus MAIN baseline. Does not mutate state. Stop here and wait for the human to approve a verified future before any merge.","title":"Compare futures","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_branch","kind":"act","impl":"imperative","description":"After the human locks the goal policy, deep-clone MAIN into an isolated candidate. The agent supplies a display name; the page assigns branchId. Experiment tools cannot mutate MAIN.","title":"Create future","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40}},"required":["name"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"move_entity","kind":"act","impl":"imperative","description":"After the human locks the goal policy, move one entity inside a candidate branch. MAIN cannot be mutated. Out-of-bounds positions are rejected, not clamped. Moving a protected entity records a permanent protected violation even if later reverted.","title":"Move entity in future","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"branchId":{"type":"string"},"entityId":{"type":"string"},"position":{"type":"object","properties":{"x":{"type":"number"},"z":{"type":"number"}},"required":["x","z"],"additionalProperties":false}},"required":["branchId","entityId","position"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"modify_route","kind":"act","impl":"imperative","description":"After the human locks the goal policy, enable/disable a route or replace its waypoints inside a candidate. Speed, capacity, source, and target cannot be changed. MAIN cannot be mutated. Requires enabled and/or waypoints.","title":"Modify route in future","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"branchId":{"type":"string"},"routeId":{"type":"string"},"enabled":{"type":"boolean"},"waypoints":{"type":"array","minItems":2,"items":{"type":"object","properties":{"x":{"type":"number"},"z":{"type":"number"}},"required":["x","z"],"additionalProperties":false}}},"required":["branchId","routeId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_simulation","kind":"act","impl":"imperative","description":"After the human locks the goal policy, run the deterministic discrete-flow simulator on a candidate and store metrics. Does not change MAIN. Does not grant merge capability.","title":"Simulate future","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"branchId":{"type":"string"}},"required":["branchId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"validate_branch","kind":"act","impl":"imperative","description":"After the human locks the goal policy, check a candidate against its four hard constraints. Re-runs simulation if metrics are stale. Verified status is required before a human can approve merge capability. The agent cannot change policy, approve, or merge from this tool.","title":"Validate future","annotations":{"readOnlyHint":false},"inputSchema":{"type":"object","properties":{"branchId":{"type":"string"}},"required":["branchId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Productivity & Business","favicon":"/favicons/forklight.kimth06230724.chatgpt.site.png","apiSurface":"spec","toolCount":9}}