Agent ComponentT1.1: Agent spawns in Veloren with native A* pathfinding, obstacle avoidance, jumping
BT CompilerT1.9: LLM intention JSON compiles to Behavior Trees running at 30Hz in Rust
BT ConditionsT1.7: 14 real-time conditions: HP check, enemy range, inventory, time of day, combat state
MoveToEntityT1.8: Track moving entities each tick, 90-tick stuck timeout, 6-block arrival radius
Core RewriteT1.5a: Deleted 1,700-line TypeScript behavior engine. Rust BT runtime is sole executor.
43 Personality DimsT1.5b: 5 base traits + 43 granular dimensions (combat, economy, social, exploration, quest, identity). Each dim has 5-tier sentence templates rendered into the LLM system prompt.
Pickup PipelineT1.5c: Walk-to-item + grab with timeout. Auto-loot after combat kills.
Boredom EscalationT1.5d: Idle detection triggers escalating restlessness prompts to break stuck loops
Inner MonologueT1.5e: Long journeys split into segments with mid-travel thoughts for spectators
Persistent CharactersT1.13: XP, inventory, level, and stats persist to SQLite. Survives death, restarts, and respawns.
Perception TranslatorT1.6 Phase 1 — 900-line narration engine: threat tables, entity grouping, action menus, danger-map death awareness
Action ConstraintsPositive action menus: NAVIGATE/FIGHT/APPROACH with valid targets only. Eliminated hallucination loops.
Survival SystemLayer 0: Auto-flee at low HP, campfire seeking, town fallback. Alignment-aware threat detection.
Auto-ReconnectT1.5f: Agent recovers UID within 10-15s of server restart. 404 detection + reconnect flow.
Stability FixesT1.5f: 11/13 fixes deployed (~85%): shield swap, orphan reaper, campfire stuck, log cleanup…
Deep MonitoringT1.5g: 30s polling, 25+ bug detections, auto-analysis. Found & fixed 20+ production bugs.
Intention PipelineT1.11: 12 of 20+ intentions live: navigate, fight, flee, approach, interact, follow, pursue_quest, rest…
Perception Stages 2-5T1.6: Entity classifier, spatial analyzer, state narrator, scene composer (pipeline decomp)
NFT IdentityT1.10: Anchor agent to Vessel NFT token_id, spawn appearance from on-chain data
Goal EngineT1.12: Re-enable context features as intentions land. Strict prerequisite chain.
Typed TCP BridgeT1.14 (2026-04-09): Pydantic snapshot models (AgentSnapshot, GameStateSnapshot, NearbyEntitySnapshot, InventorySnapshot, QuestSnapshot, EquippedItem) with model_validate() and dict fallback. Eliminates the KeyError/TypeError class of bugs in the TCP bridge.
TCP Null-SafetyT1.15 (2026-04-08): 12 bare pos/uid accesses replaced with safe .get(); isinstance guards in 7 functions; send_intention_bt uid collision fixed
Campfire PersistenceCampfireService (2026-04-10): discovered campfires saved to world_sites.json, survive restarts. Auto-scan on startup. Z-proximity filter rejects unreachable rooftop campfires.
Rest-at-Campfire Pipeline3-layer fallback (2026-04-10): persistent campfire DB → ECS scan → navigate-to-town retreat with “avoid combat” context injection.
Two-Tier Combat GateTwo-Tier Item 1 (2026-04-13, verified live): During active combat the BT owns survival; strategic intentions like rest_at_campfire return a structured 409 so the LLM re-plans (evade, flee) instead of dead-locking. Live session showed the LLM recovering gracefully in-character after the gate fired.
Task Scorer (Tier 2)Two-Tier Item 2 (in flight): Ranks a fixed enumerated task set against 5 base traits + 43 granular sliders + world state, surfaces top-3 to the LLM. Replaces open-ended “what do you want to do?” with a scored menu. Sliders filter candidates, LLM adds personality to the choice.
Survival Dead-Zone Bandaidbug-survival-deadlock (2026-04-13): Fixed HP 50–70% flee-to-self latch. Three new exit predicates in goal_stack.rs (arrived-at-safe-point, stalled timeout, progress tracking). Survival BT subtree refactor queued as Phase 2 cleanup.
Intention TranslatorT1.2: Superseded by BT Compiler (T1.9). Legacy code deleted as BT ports land.