Personality

How OctoMY™ gives each node a unique, consistent identity that's both machine-verifiable and human-friendly.

Did You Know?

The name "Personality" was chosen because it encompasses more than just identity. Like a human personality, a node's Personality includes how it looks (identicon and colors), what it's called (generated name), and even how it sounds (voice characteristics). All of this is deterministically derived from a single cryptographic key.


Personality vs Sentient Identity — which one is "you"?

Two layers of identity live in OctoMY™ and they answer different questions:

Layer What it identifies Who has one Key prefix
Sentient Identity (SID) The human operator — you One per person, used across many devices SID-
Node Identity (NID) / Personality A robot personality — an Agent, Remote, or Hub instance One per node, owned by a Sentient NID-

A Sentient owns one or more Nodes. A Node belongs to exactly one Sentient at a time. The page you're reading is about the Node-side layer — the personality your robot wears. For the human-operator side, see Sentient Identity. For how the two layers are mounted on top of each other and how to move between Nodes, see Identity Switching.


What is Personality?

Every OctoMY™ node has a Personality - a set of deterministically generated identity traits derived from the node's cryptographic key. This makes each node unique and recognizable.

Generated traits

Trait Description
Name Unique generated name (e.g., "Blue Spark", "Red Nova")
Identicon Visual pattern unique to this key
Colors Primary and accent colors
Voice Text-to-speech voice characteristics

How personality is generated

Personality derives from the node's RSA key pair through deterministic random generation:

Personality Generation

Key property: Determinism

The same key always generates the same personality traits. This means:


The identicon

The identicon is a visual representation of the node's cryptographic identity.

Purpose

Example

Identicon Verification


Generated names

Each node receives a unique generated name combining descriptive words.

Name generation

Names are generated by the libname toolkit from curated word lists seeded by the key:

Examples

Name properties


Colors

Each node has generated colors used throughout the UI.

Color usage

Color Usage
Primary Main accent color, identicon
Secondary Complementary highlights
Background Optional themed backgrounds

Color properties


Voice

For nodes with audio output, personality includes voice characteristics.

Voice parameters

Usage


Personality vs node identity

Inside the Node layer itself, Personality is a projection of the Node Identity:

Aspect Node Identity (NID) Personality
What Cryptographic key pair Generated traits
Purpose Authentication, encryption Human recognition
Storage Keystore Computed on demand
Verification Mathematical Visual/auditory

Personality makes the NID's cryptographic identity accessible to humans. Both belong to the Node layer — they're separate from your Sentient Identity, which is the human operator who owns the Node.


Transferring personality

Since personality derives from the key:

Backup and restore

  1. Export key pair from node
  2. Import to new device
  3. Personality automatically matches

Implications

Warning: Key sharing

If keys are copied to multiple devices:


Personality in LLM interactions

When LLMs interact with or through a node, personality provides:


Delivery (birth) process

When a node starts for the first time, it goes through the "delivery" process to create its identity.

AppContext

When a node starts, it receives an AppContext containing:

Component Description
Command line options Options set at invocation
Environment variables System environment
Settings instance Node settings
Base name Identifying string
Base directory Local filesystem location for this node instance
Headless mode Whether running without GUI

The base name allows multiple nodes to run on the same computer by creating separate base directories side by side.

Identity components

All nodes have these components relating to identity:

Component Responsibility
KeyStore Asynchronous loading/storing of local key pair, public keys of associates, key generation, and key lookup by ID
LocalIdentityStore Asynchronous loading/storing of local identity (ID, Node Type, Role, Birth Date, Name, Gender) - except the key pair
NodeIdentity Wraps LocalIdentityStore data with proper selectors

First-time startup

When started for the first time:

  1. Base directory and settings files are missing
  2. Node UI guides user through initialization:

Sanity check

After KeyStore activation, the node runs a sanity check:

State Condition Result
Virgin No ID exists delivered = false, UnboxingWizard shown
Error ID exists but no key User intervention needed
Error ID with key but no private part User intervention needed
Delivered ID and matching key with private part delivered = true, normal operation