{"ok":true,"site":{"host":"hexmend.hex-machina.workers.dev","url":"https://hexmend.hex-machina.workers.dev/","type":"live","desc":"An agent gym where humans decide what matters and agents prove the smallest repair, over seven WebMCP tools on one executable graph.","tools":[{"name":"inspect_spell","kind":"act","impl":"imperative","description":"Inspect the current spell graph, its version, desired outcome, and sacred constraints.","title":"Inspect spell","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"nodeIds":{"type":"array","description":"Optional unique rune IDs to include; omit to inspect the complete spell.","items":{"type":"string","description":"A rune ID returned by reset or inspect_spell.","minLength":1,"maxLength":128,"enum":["moonwell","moonrise","multiply","summon-ducks","umbrella","pour","room","moonflower","bloom","soften","mirror","release"]},"minItems":1,"maxItems":12,"uniqueItems":true}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"trace_effect","kind":"act","impl":"imperative","description":"Trace bounded, ordered causal paths from a source or into a known spell effect, including cycles and type violations.","title":"Trace spell effect","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"effectId":{"type":"string","description":"A side-effect ID returned by simulate_cast; omit to trace the current active effect.","minLength":1,"maxLength":128,"enum":["flooded-observatory"]},"sourceId":{"type":"string","description":"Optional active source rune to trace forward; mutually exclusive with effectId.","minLength":1,"maxLength":128,"enum":["moonwell"]},"maxDepth":{"type":"integer","description":"Maximum number of directed edges per returned path; defaults to 8.","minimum":1,"maximum":12},"maxPaths":{"type":"integer","description":"Maximum number of ordered paths to return; defaults to 3.","minimum":1,"maximum":5}},"oneOf":[{"required":["effectId"],"not":{"required":["sourceId"]}},{"required":["sourceId"],"not":{"required":["effectId"]}},{"not":{"anyOf":[{"required":["effectId"]},{"required":["sourceId"]}]}}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"simulate_cast","kind":"act","impl":"imperative","description":"Simulate the current spell or a current proposed patch without mutating editor state, and return an ordered event trace.","title":"Simulate cast","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"patchId":{"type":"string","description":"Optional current patch ID from propose_spell_patch to simulate as an unapplied preview.","pattern":"^patch-(umbrella|dampener|temporal-guard|direct)-v[0-9]+$","maxLength":128}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"explain_side_effect","kind":"act","impl":"imperative","description":"Return the smallest typed responsible subgraph, ordered causal steps, simulator-rule premises, and an edge-necessity proof for a side effect.","title":"Explain side effect","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"sideEffectId":{"type":"string","description":"The side-effect identifier returned by simulate_cast.","minLength":1,"maxLength":128,"enum":["flooded-observatory"]}},"required":["sideEffectId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_sacred_constraint","kind":"act","impl":"imperative","description":"Add, update, or remove a reversible human-authored preservation constraint.","title":"Set sacred constraint","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"targetId":{"type":"string","description":"The rune whose meaning the human wants to preserve.","minLength":1,"maxLength":128},"reason":{"type":"string","description":"A short human-authored explanation of why this rune matters.","minLength":1,"maxLength":180},"preserve":{"type":"boolean","description":"True to add or update the constraint; false to release it."}},"required":["targetId","reason"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_spell_patch","kind":"act","impl":"imperative","description":"Search for ranked spell repairs and return predicted outcomes, explicit preconditions, and the same structured operation ledger shown to the human without changing the graph.","title":"Propose spell patch","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_spell_patch","kind":"act","impl":"imperative","description":"Atomically revalidate and apply the exact human-reviewed operation ledger for a versioned spell patch, or revert it with a one-use token and matching receipt.","title":"Apply spell patch","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"patchId":{"type":"string","description":"A current patch ID returned by propose_spell_patch.","pattern":"^patch-(umbrella|dampener|temporal-guard|direct)-v[0-9]+$","maxLength":128},"revertToken":{"type":"string","description":"The one-use token returned by the latest unchanged patch application.","pattern":"^revert-patch-(umbrella|dampener|temporal-guard|direct)-v[0-9]+-after-v[0-9]+$","maxLength":160}},"oneOf":[{"required":["patchId"]},{"required":["revertToken"]}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/hexmend.hex-machina.workers.dev.png","apiSurface":"spec","toolCount":7}}