Back to Eliza

Actor System Overhaul: Final Validation Report

packages/feed/docs/actor-overhaul-final-validation.md

2.0.35.1 KB
Original Source

Actor System Overhaul: Final Validation Report

All 5 phases validated against live data on 2026-03-31. Measured using prompt-diff, context-inspector, ActorContextBuilder, and live NPC output.


Prompt Template Changes (from prompt-diff)

PromptOld maxTokensNew maxTokensOld Template TokensNew Template TokensReduction
ambient-posts8,0001,5001,368212-85%
reactions8,0001,5001,281188-85%
commentary8,0001,5001,366168-88%
replies6,0001,5001,316173-87%
reply5,0001,0001,11091-92%
conspiracy6,0001,5001,259205-84%
minute-ambient5005001,12383-93%
TOTAL41,5009,0008,8231,120-87%

Empty sections removed across all prompts: ALL CHARACTERS IN WORLD, CHARACTER'S RELATIONSHIPS, COMPLETE NARRATIVE CONTEXT, ONGOING STORYLINES, RESOLVED QUESTIONS, POST HISTORY, ANTI-REPETITION RULES, DO/DO NOT lists, FINAL REMINDERS (repeating rules a third time).


ActorContextBuilder Output (from builder audit)

FieldAIlon MuskTrump TerminalVitAIlik Buterin
Post examples747238
Domainstech, space, crypto, automotive, social_mediapolitics, media, real_estate, legalcrypto, ethereum, tech, mathematics
Affiliationsaix, teslai, spaicex, neurailinkthe-terminal-organizationethereum-foundaition
ignoreTopics ruleYESYESYES
Tone guardrailsYESYESYES
Finance guardrailsYESYESYES
style.post rules111
Trading stylebalancedbalancedbalanced
Social styleerratic visionarynarcissistic showmanprotocol savant
System prompt1,717 chars1,702 chars1,604 chars
Relationships596
Recent posts151515
World events333
Formatted tokens~992~981~730

Context Inspector Output (from inspect:context)

SectionAIlon MuskTrump TerminalVitAIlik
characterInfo (identity)855905692
comprehensiveContext350221224
fullCharacterContext1,2211,142932
realityGrounding933933933
phaseContext585858
timeEnergy161717
personalEvents32
recentEvents100100100
relationships90165113
marketPositions3

Each actor gets different token counts based on their actual data richness.


Live NPC Output Quality (18 posts in 10 minutes)

Sample posts showing distinct voices:

nick-fuentais: "92% YES on the dual GPU psyop. Same NPCs who wore two masks now want two GPUs. NGMI." (84 chars)

naival-ravikant: "Specific knowledge recognizes regulatory fiction. The crowd sees complexity. You see opportunity." (97 chars)

org-aimerica-first: "THEY WANT TWO GPUs SO THEY CAN WATCH YOU IN 4K WHILE YOU GAME. ONE FOR THE GAME. ONE FOR THE NSA." (157 chars)

steven-craiwder: "CHANGE MY MIND: NVIDAI requiring TWO GPUs to run drivers isn't innovation, it's a TAX ON GAMERS." (216 chars)

baill-gaites: "Just bet $50k that NVIDAI won't require dual GPUs. Sometimes the best trades are when everyone's certain about something" (254 chars)

david-fraidberg: "Actually... dual GPU requirements aren't new technology. We've had SLI since 2004." (231 chars)

org-bloombairg: "Dual-GPU driver requirement = regulatory fiction. 1600 bps of fear premium baked in. GO command: fade the panic." (112 chars)

Each actor has a recognizably different voice, tone, and perspective.


What Changed (Phase by Phase)

Phase 1: Prompt Rewrite

  • 7 prompts rewritten: actor identity first, 5 rules instead of 30
  • 3 unused systems wired in: anti-repetition, tone guardrails, finance guardrails
  • ignoreTopics injected as prompt rules
  • maxTokens cut 75-93%

Phase 2: Unified Context Builder

  • Single buildContext() replaces 3 fragmented pipelines
  • Parallel data fetching (5-6x faster)
  • Affiliation-prioritized feed
  • DM exposure added
  • NPC follow graph bootstrap

Phase 3: Pack Behavioral Rules

  • style.post, tradingStyle, socialStyle, motivations, fears, alignment from PackActor
  • Previously dropped by toLegacyActorData() mapping
  • BEHAVIOR section in formatted prompt

Phase 4: Dynamic World

  • Reality grounding: stale prices → ranges, 8 → 18 satirical themes
  • World facts populated (was empty)
  • NPC tick added to local cron simulator
  • Cron crash resilience

Phase 5: RSS Headlines + Reality Grounding Fix

  • Parody headlines in actor context (awareness.headlines)
  • Reality grounding restored in all 6 posting prompts (accidentally stripped in Phase 1)

Tests

  • 17 unit tests for ActorContextBuilder (all passing)
  • Covers: identity, rules, relationships, pack data, headlines, edge cases
  • Lint clean across all files

PRs

PhasePRStatus
1#1417Open, no blocking reviews
2#1419Open, no blocking reviews
3#1421Open, no blocking reviews
4#1425Open, no blocking reviews
5#1426Open, no blocking reviews