Add the government_agency party role

Regulators and registries that don't tax the company (a division of
corporations, a licensing board), distinct from tax_agency. Core Role,
MCP descriptions, viewer label/noun/icon, docs, and tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GWVo7x3UHw5kwCUaWxiejX
This commit is contained in:
swaitsandClaude Opus 5.5 committed 2026-10-15 20:21:11 -06:00
1 parent 8498e6cfab
commit e9e8d9fb11
8 files changed
+27 -8

No files matched your search

+4
View File
@@ -94,6 +94,7 @@ pub fn role_label(r: Role) -> &'static str {
Role::Member => "Member",
Role::PayoutPlatform => "Payout platform",
Role::TaxAgency => "Tax agency",
Role::GovernmentAgency => "Government agency",
Role::FinancialInstitution => "Bank or card issuer",
Role::Landlord => "Landlord",
}
@@ -109,6 +110,7 @@ pub fn role_noun(r: Role) -> &'static str {
Role::Member => "a member",
Role::PayoutPlatform => "a payout platform",
Role::TaxAgency => "a tax agency",
Role::GovernmentAgency => "a government agency",
Role::FinancialInstitution => "a bank or card issuer",
Role::Landlord => "a landlord",
}
@@ -134,6 +136,8 @@ pub fn party_icon(p: &Party) -> &'static str {
let has = |x| r.contains(&x);
if has(Role::TaxAgency) {
icon::BANK
} else if has(Role::GovernmentAgency) {
icon::SEAL_CHECK
} else if has(Role::FinancialInstitution) {
icon::BUILDING_OFFICE
} else if has(Role::PayoutPlatform) {