Repository navigation
REQ 124
The live-run broker shall dispatch a synthetic UI action only when its server identity, tool name, canonical arguments, run, VM UUID, and expiry match one preauthorized candidate in the sealed one-shot choice group.
The pinned LBA MCP server does not expose desktop-control tools. P1 issue #253 therefore specifies a separate test-only synthetic-UI MCP server. A tool name and argument match without server identity could dispatch an authorized action to the wrong service.
The deterministic policy seals a decision choice group with exactly two candidates for the current task: click_target(taskId, targetId=approve) and click_target(taskId, targetId=hold), both bound to the synthetic-UI server identity and pinned contract digest. The broker dispatches exactly one selected candidate and makes the group terminal on success or failure; it cannot be selected twice and failure never retries on the VM. The broker rejects an unknown or substituted server, contract drift, altered arguments, wrong target, stale or cross-run grant before dispatch. The model cannot add candidates, servers, or arguments. Oracle state is not returned by the UI-control MCP server. This extends the single-contract offline P0 broker; it does not claim that extension is implemented.
TEST-125 executed exact server identity, two-candidate selection, altered candidates, duplicate choice, retry refusal, same-name tool collisions, contract drift, and wrong-run/VM rejection through PR #254, merge 61d6e6dd3ff435d6d30c5edc370aea4d61f2236f. The full suite passed 2,231 tests at 97% scripts coverage; all seven PR checks passed. The independent agent review found no findings. No live VM, Ollama inference, or LBA capture was performed.
SYS-REQ-032; epic #250; P1 #253
High
scripts/tests/test_assisted_benchmark_live_policy.py executed test_multiserver_grant_binds_exact_server_identity_through_dispatch, test_stdio_ui_action_flows_through_server_set_broker_router_and_oracle, test_call_choice_group_is_narrow_and_server_bound, test_call_choice_groups_are_rejected_for_legacy_single_server_contract, and test_call_choice_candidates_remain_bound_to_trusted_policy_after_grant_rehash. The tests verify one candidate dispatch, retry refusal on failure, expiry at dispatch, and immutable policy binding. They are offline fixtures, not a live coordinator or VM run.
Implemented offline through PR #254 in scripts/assisted_benchmark_contract.py, scripts/assisted_benchmark_live_policy.py, and scripts/assisted_benchmark_mcp_router.py. The projectbuddy/assisted-mcp-server-set@1 contract preserves P0 single-server behavior when no choice group is supplied. No live LBA coordinator or VM adapter is claimed.
Implemented offline in develop through PR #254. Live LBA capture integration and system qualification remain outstanding.