From #413.
Sev: high. Tier: client. Obvious?: no (kick covered indirectly via Playwright).
crates/client/src/mutations.rs governance mutators only Playwright-covered; propose_grant_admin, propose_set_threshold, delete_role zero coverage anywhere.
Evidence:
$ rg '\.propose_grant_admin\(|\.propose_kick_member\(|\.propose_revoke_admin\(|\.propose_set_threshold\(|\.delete_role\(' crates/client/src/tests/
(empty)
$ rg '\.propose_grant_admin\(|\.propose_kick_member\(|\.propose_revoke_admin\(|\.propose_set_threshold\(|\.delete_role\(' crates/
crates/client/src/actions.rs:…
crates/client/src/mutations.rs:…
crates/agent/src/tools.rs:…
crates/web/src/components/{roles,member_list}.rs:…
Test files absent.
Fix: crates/client/src/tests/governance.rs. Each mutator: assert resulting EventKind::Propose { action: … } broadcasts.
From #413.
Sev: high. Tier: client. Obvious?: no (kick covered indirectly via Playwright).
crates/client/src/mutations.rsgovernance mutators only Playwright-covered;propose_grant_admin,propose_set_threshold,delete_rolezero coverage anywhere.Evidence:
Test files absent.
Fix:
crates/client/src/tests/governance.rs. Each mutator: assert resultingEventKind::Propose { action: … }broadcasts.