{"ok":true,"site":{"host":"resilience-forge.gman72.chatgpt.site","url":"https://resilience-forge.gman72.chatgpt.site/","type":"live","desc":"Choose a reference architecture, stress the live bench, and watch human decisions and WebMCP remediation meet in one state.","tools":[{"name":"get_webmcp_status","kind":"answer","impl":"imperative","description":"Read WebMCP capability, toolsReady, session id, and registered tool names. Call this before other tools if discovery looks incomplete.","title":"WebMCP status","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_catalogue_guide","kind":"answer","impl":"imperative","description":"Read how to pick a catalogue simulation and load it onto the live bench.","title":"Catalogue guide","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"list_architectures","kind":"answer","impl":"imperative","description":"List the three equal GCP reference simulations available to load onto the bench.","title":"List architectures","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"load_architecture","kind":"act","impl":"imperative","description":"Load a catalogue simulation onto the live bench. Accepts architecture id (event_driven_checkout, multi_region_saas, llm_inference_serving) or a short name such as checkout, saas, or llm. Navigates to /bench/:id.","title":"Load architecture","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Architecture id or short name: checkout, saas, llm, or the full id."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_bench_guide","kind":"answer","impl":"imperative","description":"Read the signature human-agent loop, valid remediation paths, pin semantics, and error codes for this bench.","title":"Bench guide","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_architecture","kind":"answer","impl":"imperative","description":"Read the current semantic topology, health, failures, exclusions, and store version.","title":"Architecture","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_scenario","kind":"answer","impl":"imperative","description":"Read current human scenario controls, targets, pins, and store version.","title":"Scenario","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_live_metrics","kind":"answer","impl":"imperative","description":"Read demand, served throughput, capacity, utilisation, traffic share, measurement semantics, traffic-weighted fault contributions, and latency-routing scores with intended versus effective split.","title":"Live metrics","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_root_cause_analysis","kind":"answer","impl":"imperative","description":"Explain the current failure using live topology, fault, capacity, SLO, and Flight Data Recorder evidence. Pass unavailableTargets and prohibitedActions when a recovery path is blocked. Returns recommendedActions plus a ready-to-preview remediationPlan when a compound surviving-path recovery is legal.","title":"Root cause","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"unavailableTargets":{"type":"array","items":{"type":"string"},"description":"Regions, nodes, or edges that cannot be restored or cleared, such as europe-west2."},"prohibitedActions":{"type":"array","items":{"type":"string"},"description":"Tool names that must not be recommended, such as clear_fault_profile."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_constraints","kind":"answer","impl":"imperative","description":"Read applicable provider-limit and model-assumption records with source dates and provenance.","title":"Constraints","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_bench_snapshot","kind":"answer","impl":"imperative","description":"Atomically read scenario, topology, metrics, constraints, RCA, version, tick, and timestamp from one simulation tick.","title":"Bench snapshot","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"get_decision_log","kind":"answer","impl":"imperative","description":"Read the Flight Data Recorder: recent ui, webmcp, and sim operator events with versions and result codes. Use after STALE_STATE to see why the store version moved. Does not increment storeVersion.","title":"Decision log","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"preview_change","kind":"act","impl":"imperative","description":"Read-only projection of a mutation. Does not increment storeVersion. projectionSucceeded is true when the nested op would apply; it is never an applied write.","title":"Preview change","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"op":{"type":"string"},"args":{"type":"object"}},"required":["op"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"apply_remediation_plan","kind":"act","impl":"imperative","description":"Apply several legal mutations as one all-or-nothing transaction with a single expectedVersion and one version bump.","title":"Apply remediation plan","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"steps":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"object","properties":{"op":{"type":"string"},"args":{"type":"object"}},"required":["op"],"additionalProperties":false}},"expectedVersion":{"type":"number"}},"required":["steps","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_peak_rps","kind":"act","impl":"imperative","description":"Set peak load demand in requests per second for the current scenario.","title":"Set peak load","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"peakRps":{"type":"number"},"expectedVersion":{"type":"number"}},"required":["peakRps","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_budget","kind":"act","impl":"imperative","description":"Set the monthly budget constraint in GBP for the current scenario.","title":"Set budget","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"budget":{"type":"number"},"expectedVersion":{"type":"number"}},"required":["budget","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"run_stress_test","kind":"act","impl":"imperative","description":"Start the deterministic stress or failure path for the loaded reference.","title":"Run stress test","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"expectedVersion":{"type":"number"}},"required":["expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"stop_stress_test","kind":"act","impl":"imperative","description":"Stop the running stress test and leave measured failure state. Use reset_scenario to return the visible bench to baseline.","title":"Stop stress test","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"expectedVersion":{"type":"number"}},"required":["expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"reset_scenario","kind":"act","impl":"imperative","description":"Reset the loaded reference to its operational baseline: tick 0, stress off, no faults or outages, default load and traffic split. Human pins are kept. Updates the visible topology and gauges.","title":"Reset scenario","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"expectedVersion":{"type":"number"}},"required":["expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"fail_component","kind":"act","impl":"imperative","description":"Fail a runtime component as a hard outage. Distinct from set_fault_profile dropout, which is packet loss.","title":"Fail component","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow"]},"expectedVersion":{"type":"number"}},"required":["id","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"restore_component","kind":"act","impl":"imperative","description":"Restore a runtime component that was killed or failed.","title":"Restore component","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow"]},"expectedVersion":{"type":"number"}},"required":["id","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"fail_zone","kind":"act","impl":"imperative","description":"Fail one configured availability zone while leaving the topology and surviving replicas visible.","title":"Fail zone","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"zone":{"type":"string","enum":["europe-west2-a","europe-west2-b","us-east4-a","us-east4-b"]},"expectedVersion":{"type":"number"}},"required":["zone","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"restore_zone","kind":"act","impl":"imperative","description":"Restore one failed availability zone and its placed replicas.","title":"Restore zone","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"zone":{"type":"string","enum":["europe-west2-a","europe-west2-b","us-east4-a","us-east4-b"]},"expectedVersion":{"type":"number"}},"required":["zone","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_fault_profile","kind":"act","impl":"imperative","description":"Inject deterministic latency (ms) and packet loss (%) at any declared component or connection. packetLossPercent is the unit-explicit name; dropoutPercent is accepted as an alias.","title":"Set fault profile","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"targetId":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","checkout-client-api","checkout-api-order","checkout-order-pubsub","checkout-pubsub-payment","checkout-order-db","checkout-order-cache","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","region-alb-europe","region-alb-us","region-ingress-app-europe","region-ingress-app-us","region-app-sql-europe","region-app-sql-us","region-sql-cache-europe","region-sql-cache-us","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow","llm-client-api","llm-api-router","llm-router-stable","llm-router-rc","llm-stable-cache","llm-rc-overflow"]},"latencyMs":{"type":"number","minimum":0,"maximum":30000,"description":"Added latency in milliseconds."},"packetLossPercent":{"type":"number","minimum":0,"maximum":100,"description":"Packet loss as a percent of requests (0-100)."},"dropoutPercent":{"type":"number","minimum":0,"maximum":100,"description":"Deprecated alias of packetLossPercent."},"expectedVersion":{"type":"number"}},"required":["targetId","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_region_fault_profile","kind":"act","impl":"imperative","description":"Apply the same latency (ms) and packet loss (%) to a regional boundary. Accepts europe-west2 / West2 / us-east4 / east4. On multi-region SaaS this is the ALB ingress edge, not a guessed node id.","title":"Set region fault profile","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"region":{"type":"string","description":"Region id or alias such as europe-west2, West2, us-east4, east4."},"latencyMs":{"type":"number","minimum":0,"maximum":30000,"description":"Added latency in milliseconds."},"packetLossPercent":{"type":"number","minimum":0,"maximum":100,"description":"Packet loss as a percent of requests (0-100)."},"dropoutPercent":{"type":"number","minimum":0,"maximum":100,"description":"Deprecated alias of packetLossPercent."},"expectedVersion":{"type":"number"}},"required":["region","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"ramp_fault_until","kind":"act","impl":"imperative","description":"Ramp latencyMs or packetLossPercent from start toward ceiling in steps. Records every intermediate result and stops when the stop condition matches. One version bump. Does not require the agent to issue N stale-checked mutations.","title":"Ramp fault until","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"targetId":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","checkout-client-api","checkout-api-order","checkout-order-pubsub","checkout-pubsub-payment","checkout-order-db","checkout-order-cache","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","region-alb-europe","region-alb-us","region-ingress-app-europe","region-ingress-app-us","region-app-sql-europe","region-app-sql-us","region-sql-cache-europe","region-sql-cache-us","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow","llm-client-api","llm-api-router","llm-router-stable","llm-router-rc","llm-stable-cache","llm-rc-overflow"]},"region":{"type":"string","description":"Optional region alias. When set, ramps set_region_fault_profile instead of a single target."},"metric":{"type":"string","enum":["latencyMs","packetLossPercent"]},"start":{"type":"number"},"step":{"type":"number"},"ceiling":{"type":"number"},"stop":{"type":"object","properties":{"metric":{"type":"string","enum":["availability","p95Ms","errorRate","sloStatus","effectivePrimaryPercent"]},"op":{"type":"string","enum":["lt","lte","gt","gte","eq"]},"value":{"type":["number","string"]}},"required":["metric","op","value"],"additionalProperties":false},"expectedVersion":{"type":"number"}},"required":["metric","start","step","ceiling","stop","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"clear_fault_profile","kind":"act","impl":"imperative","description":"Clear injected latency and packet loss from one component or connection.","title":"Clear fault profile","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"targetId":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","checkout-client-api","checkout-api-order","checkout-order-pubsub","checkout-pubsub-payment","checkout-order-db","checkout-order-cache","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","region-alb-europe","region-alb-us","region-ingress-app-europe","region-ingress-app-us","region-app-sql-europe","region-app-sql-us","region-sql-cache-europe","region-sql-cache-us","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow","llm-client-api","llm-api-router","llm-router-stable","llm-router-rc","llm-stable-cache","llm-rc-overflow"]},"expectedVersion":{"type":"number"}},"required":["targetId","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"clear_all_faults","kind":"act","impl":"imperative","description":"Clear every injected latency and packet-loss profile while preserving load, scaling, traffic split, pins, and zone state.","title":"Clear all faults","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"expectedVersion":{"type":"number"}},"required":["expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_autoscaling","kind":"act","impl":"imperative","description":"Set autoscaling bounds. Replicas follow demand toward the target utilisation within min/max. When a zone is failed, replacement replicas are placed in surviving zones of the same region.","title":"Set autoscaling","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow"]},"min":{"type":"number","minimum":1,"maximum":32},"max":{"type":"number","minimum":1,"maximum":32},"targetUtilPercent":{"type":"number","minimum":10,"maximum":90},"enabled":{"type":"boolean"},"expectedVersion":{"type":"number"}},"required":["id","min","max","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_ordering_key_parallelism","kind":"act","impl":"imperative","description":"Set the number of Pub/Sub ordering keys used to spread ordered work while retaining per-key ordering. orderingKeyShards below 1 or unordered=true requests unordered replacement, which keep_pubsub_ordering rejects.","title":"Set ordering-key parallelism","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow"]},"orderingKeyShards":{"type":"number","minimum":0,"maximum":15},"unordered":{"type":"boolean"},"expectedVersion":{"type":"number"}},"required":["id","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_batching","kind":"act","impl":"imperative","description":"Configure batching and wait time for Pub/Sub or Vertex AI within the declared model limits.","title":"Set batching","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow"]},"maxBatch":{"type":"number"},"waitMs":{"type":"number"},"expectedVersion":{"type":"number"}},"required":["id","maxBatch","waitMs","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"add_read_replica","kind":"act","impl":"imperative","description":"Add a same-region Cloud SQL read replica for the zonal failure path. Legal even when no_second_region is pinned.","title":"Add read replica","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"string","enum":["web_client","api_gateway","cloud_run_order","pubsub_ordered","cloud_run_payment","cloud_sql","memorystore","global_alb","cloud_run_europe","cloud_run_us","app_europe","app_us","cloud_sql_primary","cloud_sql_replica","clients","cloud_run_router","vertex_stable","vertex_rc","pubsub_overflow"]},"expectedVersion":{"type":"number"}},"required":["id","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"fail_region","kind":"act","impl":"imperative","description":"Fail one configured region while keeping its reference topology visible.","title":"Fail region","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"region":{"type":"string","enum":["europe-west2","us-east4"]},"expectedVersion":{"type":"number"}},"required":["region","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"restore_region","kind":"act","impl":"imperative","description":"Restore one failed region and its placed services.","title":"Restore region","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"region":{"type":"string","enum":["europe-west2","us-east4"]},"expectedVersion":{"type":"number"}},"required":["region","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_region_traffic_split","kind":"act","impl":"imperative","description":"Set the primary-region traffic allocation.","title":"Set region traffic split","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"primaryPercent":{"type":"number"},"expectedVersion":{"type":"number"}},"required":["primaryPercent","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_latency_based_routing","kind":"act","impl":"imperative","description":"Enable or disable latency-based routing. Traffic shifts toward the faster healthy region or sheds a slow release candidate.","title":"Set latency-based routing","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"enabled":{"type":"boolean"},"expectedVersion":{"type":"number"}},"required":["enabled","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]},{"name":"set_model_traffic_split","kind":"act","impl":"imperative","description":"Set the release-candidate share of model traffic. The healthy default is a 20% canary.","title":"Set model traffic split","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"inputSchema":{"type":"object","properties":{"newModelPercent":{"type":"number"},"expectedVersion":{"type":"number"}},"required":["newModelPercent","expectedVersion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/bench/event_driven_checkout","/bench/multi_region_saas","/bench/llm_inference_serving"]}],"category":"Developer Tools","favicon":"/favicons/resilience-forge.gman72.chatgpt.site.png","apiSurface":"spec","toolCount":37}}