| By Jerry Mares | Paper | Live Demo | DOI: 10.5281/zenodo.19383636 |
A deterministic engine that computes 7-dimensional emotional coordinates from text structure. 9.4MB compiled binary. 0.1ms per sentence. No GPU. No dependencies. No internet required.
“Whatever” alone reads as resignation. “Whatever makes you happy” reads as passive-aggressive. “Do whatever” reads as permission. Same word, different structure, different score. A sentiment classifier says “neutral” for all three.
Grab the compiled binary from the latest release.
chmod +x clanker-engine
./clanker-engine score "whatever makes you happy"
# V=134 A=128 D=130 U=2 G=132 W=128 I=170
# Structures: DIRECTED_POSITIVE
See QUICKSTART.md for full usage.
7 dimensions, each 0-255. 128 = neutral (except Urgency which starts at 0).
| Dim | What it reads |
|---|---|
| V Valence | Emotional direction (negative to positive) |
| A Arousal | Energy level (calm to intense) |
| D Dominance | Agency and control (helpless to commanding) |
| U Urgency | Time pressure (none to critical) |
| G Gravity | Emotional weight (crushing to light) |
| W Self-Worth | Self-assessment (shattered to strong) |
| I Intent | Communicative direction (withdraw to control) |
7 bytes encode 72 quadrillion unique emotional states.
Four layers run in sequence:
Plus: force flow resolution (WHO does WHAT to WHOM), perspective modes (speaker/listener/bystander), personality vectors, and A+B=C state transitions.
# Score a sentence
./clanker-engine score "im fine"
# Score with perspective
./clanker-engine score --perspective bystander "she is fat"
./clanker-engine score --perspective auto "you are worthless"
# Score a file (16,000+ sentences/sec)
./clanker-engine file book.txt -o results.json
# Interactive with running state
./clanker-engine interactive
# Local API server
./clanker-engine serve --port 7860
From any language:
import subprocess, json
def score(text):
r = subprocess.run(["./clanker-engine", "score", "--json", text], capture_output=True, text=True)
return json.loads(r.stdout)
scores = score("whatever makes you happy")
# {"v": 134, "a": 128, "d": 130, "u": 2, "g": 132, "w": 128, "i": 170, "structures": ["DIRECTED_POSITIVE"], ...}
Or use the local API server:
curl "http://localhost:7860/score?text=im+fine"
curl -X POST http://localhost:7860/batch -d '{"sentences":["I love you","I hate you"]}'
Or use the free hosted API (no download needed):
from gradio_client import Client
client = Client("deucebucket/clanker")
result = client.predict("im fine", api_name="/score_text")
Create a YAML file:
name: Insecure NPC
gullibility: 150
agreeableness: 200
suggestibility: 180
assertiveness: 40
playfulness: 20
curiosity: 80
./clanker-engine score --personality insecure.yaml --perspective bystander "she is fat"
# Low-W bystander takes the hit (self-projection)
| Metric | Value |
|---|---|
| Binary size | 9.4 MB |
| Vocabulary | 4,098 words with 7D force vectors |
| Structural patterns | 26 |
| Throughput | 16,000+ sentences/sec |
| Latency | 0.1ms per sentence |
| GPU required | No |
| Dependencies | None |
| Test suite | 167 tests passing |
Scored 63,128 sentences from 15 novels, 117,000 Twitch chat messages, 10,013 philosophical texts, and 521 game dialogue lines. Validated against 4 frontier language models (GPT-4, Claude, Gemini, Grok) with 76.3% consensus agreement.
Mares, J. (2026). VADUGWI: Deterministic 7-Dimensional Emotion Coordinates via Structural Pattern Recognition. DOI: 10.5281/zenodo.19383636
The compiled binary is free to use in your projects. See CLANKER_ENGINE_LICENSE.md.
Do not redistribute the binary or attempt to reverse-engineer it. Cite the DOI in any published work.
Source code is proprietary. The paper describes the full architecture for anyone who wants to build their own implementation.