S18 — Soul Vector Identity

Status: Spec-only
Phase: 8 (P8.1–P8.3)
Concept: ξ Identity
Source: projects/peer-to-peer/src/domain/identity.py


1. Overview

Every participant has a non-transferable Digital Identity consisting of:

  • An Ed25519 keypair (cryptographic binding)
  • A Soul Vector (8-dimensional competence profile)
  • Experience Tokens (L0–L3, from λ)
  • Sovereign Credits (liquid social capital)
  • L3 Namespace aggregations (epistemic/moral/systemic)

2. Data Model

interface PeerIdentity {
  public_key: string;          // Ed25519 hex-encoded
  alias: string;
  joined_at: number;           // Unix epoch
  soul: SoulVector;
  tokens: ExperienceToken[];
  sovereign_credits: number;   // default: 1000
  scars: string[];
  epistemic_mastery: Record<string, number>;
  moral_standing: Record<string, number>;
  systemic_integrity: Record<string, number>;
}

interface SoulVector {
  domains: Record<SoulDomain, number>;   // 0.0–100.0 each
  traits: Record<SoulTrait, number>;     // 0.0–1.0 each
  action_history: SoulAction[];          // last 1000
  consistency_score: number;
  growth_velocity: number;               // -1.0 to 1.0
  domain_diversity: number;              // 0.0–1.0
  scars: string[];
  achievements: string[];
}

enum SoulDomain { BUILDER, JUDGE, INVESTOR, MENTOR, GUARDIAN, INNOVATOR, DIPLOMAT, STEWARD }
enum SoulTrait  { RELIABLE, GENEROUS, COURAGEOUS, PATIENT, PRECISE, ADAPTIVE, COLLABORATIVE }

3. Domain Growth Formula

new_strength = min(100, current + intensity × 10 × (1 / (1 + log(1 + current/10))))

Logarithmic growth prevents domain inflation.

4. Soul → Reputation Sync

Soul domain strengths are the source of truth for λ reputation scores:

execution_rep    = soul.domains[BUILDER or INNOVATOR] × 1000
arbitration_rep  = soul.domains[JUDGE]     × 1000
commissioning_rep= soul.domains[INVESTOR]  × 1000
social_rep       = soul.domains[MENTOR or DIPLOMAT] × 1000
governance_rep   = soul.domains[GUARDIAN or STEWARD] × 1000

5. Semantic Event Translation

Protocol events (taxonomy codes) are translated into soul actions at intake:

Code Event Soul Action Domain Intensity
EVT-A03 CommitmentCompleted fulfilled_promise BUILDER 0.7
EVT-A04 CommitmentVerified created_value BUILDER 0.8
EVT-A05 CommitmentFailed failed_commitment + scar BUILDER -0.5
EVT-B04 DisputeResolved resolved_dispute_fairly JUDGE 0.6
EVT-F02 VoteCast participated_governance STEWARD 0.3

6. L3 Namespace Aggregation

L3 tokens aggregate into jurisdictional namespaces on PeerIdentity:

  • Requires L2b (causal, context_diversity ≥ 2) — NOT from L2a
  • discriminator = "epistemic"epistemic_mastery[kind] += weight
  • discriminator = "moral"moral_standing[kind] += weight
  • discriminator = "systemic"systemic_integrity[kind] += weight

7. Identity Recovery (Shamir SSS)

  1. On identity creation: split signing key into N=5 shares, threshold M=3
  2. On recovery: provide M shares → reconstruct key → restore full identity
  3. Soul Vector and tokens are preserved (stored separately, linked by public_key hash)
  4. RecoverIdentity event: +2000 bps SOCIAL reputation

8. Implementation Status

Feature Status Phase
PeerIdentity schema Spec-only P8.1
SoulVector (8 domains) Spec-only P8.1
Behavioral traits (7) Spec-only P8.1
Event→soul translator Spec-only P8.2
Soul↔reputation sync Spec-only P8.2
Shamir SSS recovery Spec-only P8.3
L3 namespace aggregation Spec-only P8.3

Back to top

Colibri — documentation-first MCP runtime. Apache 2.0 + Commons Clause.

This site uses Just the Docs, a documentation theme for Jekyll.