C Covenant

Desktop Shell

A thin UI over the real Rust runtime, not a throwaway mock.

The desktop shell is a Tauri surface over `covenant-app-core`. It drives the real onboarding, bootstrap, chat, archive, wallet, feed, staking, sampler, and settings workflows instead of simulating them in frontend-only state.

Onboarding

Welcome and pairing

Create a new identity or pair an existing one onto another device without treating pairing like a second wallet creation flow.

Messaging

Chat and archive

Bootstrap setup, contact import, live sessions, offline pointers, and archive backfill are all exposed in one shell.

Operator controls

Wallet, sampler, and settings

Balances, swap quoting, feed policy, embedded-lite roles, sampler state, and device management live in the same runtime view.

Recent UX Direction

State first, controls second.

Readiness

Status cards everywhere

Bootstrap health, onboarding state, archive readiness, funding state, and sampler health now surface before the user has to interpret raw fields.

Feedback

Success notices

Copy/export/import/submit flows now confirm success without sharing the error channel or forcing the user to guess whether an action worked.

Safety

Destructive action gates

Session close, device revoke, and wallet rotation now ask before mutating live trust or identity state.

What The Shell Already Covers

The surface is broader than a chat demo.

Identity and devices

Local identity creation, pair-device import, sync bundle export/import, seed import warnings, and device revoke flows.

Messaging and storage

Live chat, relayer-aware connection attempts, bootstrap setup, offline pointer import, backlog fetch, and archive inspection.

Operations and governance

Embedded-lite roles, sampler ingest, distribution logs, wallet rotation, and foundation-admin proposal paths.