Switch Sentient

Move OctoMY™ from one Sentient (human-operator identity) to another without restarting the app.

When to use this

For the conceptual background — what changes during a switch, what stays, what resets — see Identity Switching.


Prerequisites


Step 1: Reach Sentient Selection via the Lanyard

The Lanyard sits in the top-right corner of every window. Post-makeover (see the internal Activity Header Makeover spec) it carries three controls left-to-right: a bare-glyph hive button (visible only when a hive is mounted), the sentient chip (green border, identicon + display name), and the node chip (blue border). The pre-makeover caret/dropdown arrow is gone — hive and sentient switching live inside their respective lobby activities.

Click the sentient chip to open SentientLobbyActivity, then pick "Switch sentient". That pushes SentientSelectionActivity, the list of every Sentient registered on this device.

The Sentient Lobby also carries Create new, Identicon, Permissions, Hives, and Upgrade to full entries — see Sentient Identity for the full layout.


Step 2: Open SentientSelectionActivity directly (alternative)

You can also reach the selection screen without the Lanyard. The simplest path is through OPAL:

The SentientSelectionActivity itself is the same surface the Lanyard pushes — useful if the Lanyard is hidden or you want to create or import a Sentient.


Step 3: Pick from SentientSelectionActivity

The activity is headed "Who is using this device?" and shows an EntitySelectionList — one row per Sentient registered on this device.

Each row carries:

Field What it shows
Name The Sentient's display name
Subtitle Shadow for unupgraded identities, blank for full Sentients

At the bottom of the list, an action labelled Create new sentient… is available when the device permits creation. Tap a row to select that Sentient — there is no separate Select button; the row tap is the action.

If you need to import a Sentient from another device (recovery phrase or migration bundle), that's a different flow that lives under the migration tools, not inside this activity.


Step 4: Authenticate (Full Sentients only)

If the Sentient you picked is Full (password-protected), you'll be prompted for the passphrase. The input is focused automatically and the cancel button returns you to where you started.

Shadow Sentients have no passphrase and skip this step.

Wrong passphrase?

The activity warns and lets you retry. The switch hasn't begun yet — the previous Sentient is still active, untouched.


Step 5: Let the switch run

You'll see a spinner activity. Behind it the IdentitySwitchService walks the six §SP-8 phases:

  1. Freeze — input blocks; the lanyard refuses concurrent switch requests
  2. Save — AddressBook, SentientVault, KeyStore, SentientRegistry, HiveRegistry all flush queued writes. A bounded 5-second event-loop pump lets the AsyncStore workers drain before teardown (prior versions raced here and could lose dirty writes; Phase 11b closes that gap)
  3. Teardown — Comms disconnects, KeyStore + AddressBook deactivate, the node hive unmounts if one was mounted, the sentient deactivates, the sentient hive unmounts
  4. Mount — mountHiveAsync opens the new sentient hive (Argon2 + ExFat; up to 30 s on first touch). The new SID activates, KeyStore + AddressBook come back up. If the mount fails the service rolls back to the previous sentient automatically
  5. Reconfigure — OPALContext + Lanyard + IdentityStatusWidget + window title all update via the existing Qt signal cascade
  6. Unfreeze — spinner pops, the activity stack returns to the home activity of the new identity

Typical switch time: a few seconds. A first-time mount of a large Full Sentient may take a little longer while the encrypted hive opens.


Step 6: Verify

When the spinner disappears:


If something blocks the switch

Two things can pause it before it begins:

Pause cause What the app does What to do
Save pending Waits briefly for in-flight writes to flush Just wait — it usually resolves in <1s
Open files Pushes the Open Files activity listing what's holding the hive open Either click Close on each entry (recommended) or Force continue (only if you accept losing the open activity's current state)

If the switch fails during Mount (corrupted hive, wrong key), the service automatically rolls back to your previous Sentient and tells you why. You never end up in a half-switched state.


Troubleshooting

The sentient chip doesn't respond to clicks. A switch is already in progress, or the app is showing a modal blocker (passphrase prompt, error dialog). Dismiss it first.

My Sentient isn't in the list. It isn't registered on this device. Use Import to restore from your BIP39 recovery phrase, or migrate it from another device.

I imported a Sentient but switching to it asks for a passphrase I don't know. The import preserved the original passphrase. Either retrieve it from the source device or recover via BIP39 recovery phrase + reset on a Full Sentient.

Switching to a shadow Sentient warns about reduced security. Shadow Sentients have no passphrase. The warning is informational — you can upgrade to Full at any time from the Sentient activity.


Topic Why it's relevant
Identity Switching What the six-phase switch actually does
Sentient Identity What a Sentient is — Shadow vs Full, SID derivation, hive storage
Switch Node The cheaper, Node-only switch
Trust Levels Contacts and trust are per-Sentient