Repository navigation
SYS REQ 032
The live synthetic UI action system shall dispatch an action only through the exact MCP server, tool, and arguments authorized for the current run and VM.
The pinned LBA MCP server does not expose desktop-control tools. P1 issue #253 specifies a separate test-only synthetic-UI MCP server. Binding only a tool name and arguments would allow an identically named tool on another server to receive the action.
The deterministic grant binds each action to the synthetic-UI server identity and pinned contract digest, canonical tool name and closed-schema arguments, call order, run and policy digests, host, VM UUID, and expiry. The broker rejects server substitution, contract drift, altered/reordered/duplicate actions, wrong target, stale or cross-run grant before dispatch. The model cannot add a server or change the granted call, and the UI-control server does not expose oracle state.
TEST-125 server-identity, exact-choice, no-retry, contract-drift, and wrong-run/VM fixture cases are implemented through PR #254, merge 61d6e6dd3ff435d6d30c5edc370aea4d61f2236f. The full suite passed 2,231 tests at 97% scripts coverage and all seven PR checks passed. No live UI server, LBA capture, or VM run was performed.
System-Requirements-Specification; epic #250; P1 #253
High
Offline fake clients and stdio MCP fixtures verify exact server-bound candidate routing, expiry, altered decision refusal, one-shot choice consumption on success/failure, and wrong identity/argument denial before dispatch.
Offline multi-server identity binding is implemented in scripts/assisted_benchmark_contract.py, scripts/assisted_benchmark_live_policy.py, and scripts/assisted_benchmark_mcp_router.py through PR #254. A live coordinator and capture-time system integration remain unimplemented.
Offline server-set contract and router are implemented in develop through PR #254; system-level live integration remains unqualified.