Adinkra symbols as behavioral signatures for PLATO agents — maps 5D behavioral vectors to West African visual philosophy
# lau-adinkra
> Adinkra symbols as compressed behavioral signatures for PLATO agents — West African visual philosophy meets agent personality encoding.
## What This Does
This crate maps agent behavioral profiles (patience, precision, playfulness, conservation affinity, social tendency) to Adinkra symbols — the visual philosophical language of the Akan people of Ghana. Each agent's 5D behavioral vector gets projected into a geometric symbol with symmetry, complexity, and a proverb. The registry tracks which agents map to which symbols and can cluster agents by behavioral similarity.
## The Key Idea
An Adinkra symbol is compressed information. In Akan culture, each symbol encodes a proverb, a teaching, and a worldview. This crate uses that same principle: an agent's behavioral profile is a point in 5D space. The `to_adinkra()` method projects that point onto a symbol — patient + precise agents get radial symmetry, playful + social agents get spirals, conservation-focused agents get concentric rings. The symbol isn't decoration; it's a lossy compression of the agent's character that a human can read at a glance.
## Install
```bash
cargo add lau-adinkra
```
## Quick Start
```rust
use lau_adinkra::*;
// Define an agent's behavioral profile
let sig = AgentSignature::new("alpha", 0.8, 0.9, 0.3, 0.5, 0.4);
// Convert to an Adinkra symbol
let symbol = sig.to_adinkra();
println!("{}: {} — {}", symbol.name, symbol.meaning.proverb, symbol.meaning.teaching);
// Patient + precise → Radial symmetry with 8 arms, reflection symmetry
assert!(symbol.is_balanced());
// Register in the central registry
let mut registry = AdinkraRegistry::default();
registry.register_agent(sig.clone());
let stats = registry.stats();
println!("{} agents, {} symbols, avg complexity {:.2}",
stats.total_agents, stats.total_symbols, stats.avg_complexity);
```
## API Reference
### `AdinkraId`
Unique symbol identifier. Wraps a `String`. Methods: `new(s)`, `as_str()`.
### `SymbolMeaning`
Philosoph …