F004-messenger.component.cspec
1 # F004-messenger.component.cspec 2 3 metadata: 4 id: F004 5 name: messenger 6 version: 1.0.0 7 domain: frontend 8 stability: stable 9 updated: 2026-01-14 10 cascade_priority: 40 11 roles: 12 primary: [Dev] 13 review: [Security] 14 expertise: 15 required: [mobile, notifications] 16 helpful: [background_services, encryption] 17 context_tags: [messenger, notifications, governance, swaps, security] 18 19 dependencies: 20 upstream: [F001, F008, F009] 21 downstream: [] 22 23 interface: 24 types_ref: _registry/types.cspec 25 types: 26 notification: {type: enum, payload: encrypted, timestamp: u64} 27 notification_type: enum[governance_alert, swap_code, payment_request, system_announcement] 28 29 functions: 30 receive_notification: {inputs: [encrypted_payload], outputs: [notification]} 31 configure_relay: {inputs: [relay_config], outputs: [status]} 32 33 events: 34 - notification_received 35 - governance_alert 36 - swap_code_delivered 37 38 spec: 39 # === PURPOSE === 40 purpose: Security-isolated notification companion for governance alerts, swap codes, payment requests 41 42 # === SECURITY MODEL === 43 security: 44 isolation: 45 - read_only_view_keys 46 - can_decrypt_messages 47 - cannot_sign_transactions 48 - cannot_access_spending_keys 49 - isolated_from_wallet_process 50 operation: 51 - persistent_background_process 52 53 # === STRUCTURE === 54 structure: 55 acdc-messenger/: 56 platforms/: 57 ios/: [] 58 android/: [] 59 desktop/: system_tray_app 60 shared/: [] 61 62 # === NOTIFICATION TYPES === 63 notifications: 64 governance_alerts: 65 - new_proposal 66 - vote_deadline 67 - slashing_warning 68 - emergency_proposal 69 swap_codes: 70 - incoming_swap_code 71 - swap_expiry_warning 72 payment_requests: 73 - incoming_payment_request 74 system_announcements: 75 - network_updates 76 - maintenance_notices 77 78 # === DELIVERY CHANNELS === 79 channels: 80 core: 81 - in_app_notifications 82 - push_notifications_mobile 83 - system_tray_desktop 84 optional_relay: 85 - email 86 - telegram 87 - webhook 88 89 # === ALARM BEHAVIOR === 90 alarms: 91 governance: 92 - immediate_for_emergency_proposals 93 - escalating_for_approaching_deadlines 94 swaps: 95 - immediate_on_receipt 96 - reminder_before_expiry 97 98 changelog: 99 - version: 1.0.0 100 date: 2026-01-14 101 type: initial 102 description: "Initial messenger spec from UI/UX Specification v1.0" 103 breaking: false