Recent Changes And Evolution

Last updated: May 18, 2026

Recent Changes & Evolution

The dLANDiscord project has evolved significantly since its inception in 2021. This document tracks the major shifts, including the 2026 architectural overhaul.

πŸ“… May 18, 2026 - Model Migrations & Stability Fixes

Panic Recovery Overhaul

Commit Change Files
f56931b6 Add safeGo() panic recovery wrapper to all goroutines, SQLite WAL mode for scheduler DB heartbeat.go, scheduler.go

Root cause: Any unhandled panic permanently kills heartbeat/scheduler goroutines with zero logging and zero recovery β€” causing silent service degradation.

Changes applied:

  • safeGo() helper wraps all 18 heartbeat goroutines with recover() + debug.Stack() logging
  • Main scheduler goroutine (scheduler.go:665) and checkAndExecuteDueTasks() now have per-tick recover()
  • SQLite WAL mode + busy_timeout=5000 on scheduler DB (matches observability pattern)

Affected loops: telemetry, resumption, subagent cleanup, project/company/team managers, memory cleanup, playbook discovery, Nikki/Liz work loops, architect audits, midnight snapshot, notes fix, self-evolution, async cleanup, CCTV polling/overnight, GitLab monitor, security audit, financial anomaly, WoW pulse, free games

Model Migrations (GLM-4.7 β†’ GLM-5, Grok-4.3 for Nikki)

Commit Change Files
a2612db3 Migrate agents from GLM-4.7 to GLM-5, try grok-4.3 for Nikki assutils.go, agent .md files
893ffd9b Update agent models to glm-5/grok-4, normalize playbook line endings prompts/agent/.md, playbooks/.json

Nikki: openrouter/x-ai/grok-4.3 primary, fallback β†’ glm-5 All other agents: glm-5 (Lenore, Nova, Oracle, Sasha, Sysadmin, Sysafe, + 10 others) Lia: glm-5-flash 7 playbooks: glm-4.7-flash β†’ glm-4.5-air:free

Context Overflow Detection

Commit Change Files
41536d47 Detect context length errors from llama-server 400 responses, trigger fallback chain (β†’ gemini-2.5-flash-lite) llama_client.go

Added ErrContextOverflow sentinel in llama_client.go. Triggered from both ReAct loop and Single-Shot paths. Falls back to gemini-2.5-flash-lite on context exhaustion.

Heartbeat Tweaks

Commit Change Files
ff1b1a7e Murloc WoW pulse: 5h β†’ 24h interval, add isHostReachable('wow.dlan') check. BTC threshold 5%β†’2% for earlier detection. Platform changed to 'whatsapp'. heartbeat.go
110f51e5 Model name changes assutils.go

Added isHostReachable() helper (1-ping, 3s timeout) for liveness checks.

WoW Health Check Playbook Fix

Commit Change Files
a70dee25 Fix dlan_health_check.json playbook: Step 2 (system_vitals) missing "command": "all", Step 3 (unifi_network) missing "command": "devices" assistant/playbooks/global/dlan_health_check.json

Failing daily on the 9am scheduler run for 7+ consecutive days.


πŸ“… May 17, 2026 - dMUD Command System Overhaul

Command Registry & Tags

Commit Change Files
f02f3b7c Dynamic command registry (commands_registry.go) with 60+ commands across 12 categories, admin alias manager, public /commands page dmud/commands_registry.go, dmud/commands.go, dmud/web_handlers.go
ab88319a Add Tags field on all 60+ commands (mud, irc, warcraft, arcade, telnet, rpg, bbs, generic, discord), /whois, /topic, /ignore, /emote dmud/commands.go
3239cc6b Fix missing tags, add 15 new commands (/shout, /yell, /motd, /nick, /inspect, /duel, /channel, /coin, /dance, /wave, /think, /flip, /weather, /rng, /yesno, /jimjoke) dmud/commands.go
2c18478f Special-case 'back' in cmdGoto so /go back works dmud/commands.go
abab0ee0 Fix WebSocket login capturing terminal control messages as usernames dmud/server.go
c9494ea8 Strip terminal escape sequences from WebSocket login input dmud/server.go

Admin UI Enhancements

Commit Change Files
0d74b3be Add Events tab, Activity monitor, room filter, enhance admin cards (item Type/Rarity badges, quest rewards preview) dmud/data/admin/index.html, dmud/web_handlers.go

πŸ“… May 10, 2026 - Web UI & Quest Refinements

Quest & Item System Refinements

Commit Change Files
ede8427b Enhance Items/Quests pages: Type/Rarity badges with color coding, effects boxes, wider cards dmud/web_handlers.go
c531e95b Enhance quest admin UI: Create/Edit/Delete quest modal, chain filter, NPC/room/level badges dmud/data/admin/index.html
a5667438 Per-user config, per-room config, quest chains (tutorial_welcome β†’ tutorial_first_chat β†’ tutorial_explore β†’ tutorial_game), web viewers for items/quests dmud/user.go, dmud/room.go, dmud/quest.go, dmud/web_handlers.go

πŸ“… May 9, 2026 - Tool System & OpenRouter Enhancements

Progressive Disclosure & Tool Guidelines

Commit Change Files
3cd6e03b Tools load with name + 120-char one-liner; full details via get_capabilities. Tool-use guidelines added (Execute Don't Describe, Direct Execution, No Preambles, Finish is Mandatory) assistant/assistant.go
87e1bcad Enable OpenRouter prompt caching assistant/openrouter_client.go

πŸ“… May 6, 2026 - dMUD & Teams Stabilization

WoW Check & Notifications

Commit Change Files
f860ed15 Enable notifications for 447917134999 and add summary logging wowcheck.go
f3eb8783 Ensure 447917134999 receives all summary types wowcheck.go
b7c8467b Fix WoW check ensuring all summary types wowcheck.go
656f8056 Update go.mod go.mod

dMUD Partyline

Commit Change Files
5552d6b8 Add more dMUD design details dmud/
a97ff9d6 Thread safety for stats/gold/quests/items dmud/games.go, dmud.go
37f4832f Race condition, case stripping, telnet backspace dmud/
9f2bcb4a Add Quests/Pets tabs, error handling dmud/
af17fc93 Type assertion safety in games.go dmud/games.go
4335a4bd Modularize JSON persistence dmud/
1bed6b5e Admin Dashboard with User/Item CRUD dmud/
5e6dfdbc Phase 1 Admin Dashboard dmud/

Mail System

Commit Change Files
da66e766 Add mail system with /mail command mail.go, dmud/

Teams Module & Agent Fixes

Commit Change Files
f47a7bf0 Update heartbeat interval and specialist guardrails teams.go, heartbeat.go
b051bf7a Critical fixes for system panics and team logic teams.go, agent_bridge.go
e0745ad4 Model & Timeout Alignment llm_utils.go, adaptive_planner.go
7e094c7b Circuit Breaker 300s, scheduler 20m timeout adaptive_planner.go, scheduler.go

VB Tickets (Disabled)

Commit Change Files
5dc85518 Module disabled (SD+ API key required) vbtickets.go
803dc9f3 New probe utility cmd/vbprobe/, vbtickets.go

Wiki & Assistant Fixes

Commit Change Files
94085b5f JSON truncate repair for unclosed model responses assistant.go
13b490b6 Resolve startup deadlock in loadSessions publicai/
25c7fcd1 Define substr template function discorddash/
1fd52840 Robustify JSON parsing for LLM outputs assistant.go
8a1b25f7 UX improvements β€” collapsible nav wikiserver/

πŸ“… April 25, 2026 - Light Refresh Summary

Wiki Server Bug Fixes

Commit Change Files
740fb2c6 TOC ReferenceError fix + favicon wikiserver/static/js/wiki.js, wiki_server.go
40a31627 404 panic, nil pointer, nav caching fixes wiki_server.go, wiki_navigation.go, wiki_renderer.go
7d96b693 Navigation tree and .md link handling wiki.js, wiki_server.go
5ef270fa Static asset path mismatch fix wiki_server.go

GitLab & Heartbeat Optimization

Commit Change Files
2d21c25c GitLab push batching and cooldown logic gitlab_poller.go, heartbeat.go
a2fc324f Quiet Hour Focus for Nikki/Lenore work loops heartbeat.go
93d70316 Heartbeat interval optimization, quiet-hour throttling heartbeat.go
e09aeb18 System tasks aligned to 8 AM schedule webserver.go

Context & Token Optimization

Commit Change Files
b56baa59 Summarization timeout increased to 15 minutes conversation_intelligence.go
f1b72bf8 Proactive compaction threshold 30k tokens assistant.go
0d348ec0 Proactive and universal context compaction assistant.go

Discord & Notifications

Commit Change Files
63cbca8b Discord channel notifications restored, telemetry prune ddiscord.go, dsysadmin.go
4ab23e0c Gilfoyle switched to flash model prompts/agent/gilfoyle.md
1f5ff7be Skip first interim Discord update -
29f1daf6 Interim status handling for Discord -

Playbook System

Commit Change Files
a9f3e540 Reduced iteration limits, free games playbook playbook.go
08c13f5b Playbooks reorganized into agent directories -

πŸ•°οΈ Historical Evolution

  • 2021-2023: Initial development as a Discord bot with various integrated packages (WoW, crypto, etc.). AI integration began with basic Claude and OpenAI wrappers.
  • 2024-2025: Modularization into specialized packages. The core assistant framework started to take shape with the introduction of planning and task decomposition.
  • January 2026:
    • Claude Deprecation: The legacy claude package was retired. All AI interactions, including WhatsApp and image analysis, now route through the centralized assistant and localai packages.
    • Multimodal AI: WhatsApp image analysis migrated to use localai.QueryOllamaMultimodal (Ollama/Llama-server).
  • March 2026:
    • Ollama to Llama Migration: A large-scale shift to use llama-server for local LLM inference, while retaining Ollama for multimodal tasks.
    • MrTool Implementation: Introduction of autonomous tool and skill creation for agents.

πŸš€ Major Updates (April 2026)

1. Robustness & Stability

  • Deadlock Fixes: A critical deadlock in the session logging system was resolved by standardizing lock orders.
  • Zombie Cleanup: The scheduler now features an automated cleanup for "zombie" tasks that were stuck in an 'executing' state due to system restarts.
  • Nil Safety Audit: A comprehensive audit of all defer calls and pointer accesses in the assistant module was completed to prevent nil pointer panics.

2. Monitoring & Observability

  • JSONL Session Logs: Every agent session now writes its events (thinking, tools, results) into a structured .jsonl file in real-time.
  • Mission Control Fallback: Mission Control was updated to automatically read these JSONL files if the observability SQLite database becomes corrupted.
  • Structured Audit Trails: All tool executions and agent decisions are logged with unique execution IDs to enable deep tracing and forensic analysis.

3. Intelligence Expansion & Agent Realignment

  • New Specialized Agents:
    • Murloc (WoW Shaman): Dedicated AzerothCore analyst using a hybrid SQL/SOAP bridge for real-time player and server intelligence.
    • CommanderData (Ops Officer): Android disaster monitor tracking global telemetry (seismic, space weather, grid load, gov alerts).
  • Security & Posture Shift: Responsibility for full perimeter security audits (LXC package/OS scanning) was moved to MrRobot to align with his paranoid guardian persona.
  • Nightly Security Ritual: Coordinated audit where Gilfoyle (detecting pushes) summons SkriptKiddie (scanning CVEs) at 03:00 to analyze code changes.
  • Adaptive Heartbeats: Expanded the heartbeat system to 18 concurrent loops, adding adaptive intervals (faster during day, slower at night) to optimize token usage.

4. Infrastructure & Tool Repairs

  • CCTV Firmware Fix: Overhauled cctv_monitor.go with a raw HTTP polling implementation to bypass a Reolink firmware bug causing unmarshalling failures.
  • Tactical Suite Upgrades:
  • RoboCop: Added perimeter_event_summary and neighborhood_pulse (UK Police API).
  • SkriptKiddie: Added leak_check (HIBP) and shodan_infra_lookup.
  • Lenore: Fully transitioned to Executive Guardian for Liz, equipped with London-Hosting "Business Sorcery" tools (WHMCS/Jira).

πŸš€ Critical Fixes (April 2026, Continued)

1. WhatsApp LID→JID Resolution

  • Issue: Async delegation notifications failed because WhatsApp LID format wasn't being resolved to JID format.
  • Fix: Implemented 3-tier fallback in planner.go, scheduler.go, and wakeup.go:
    1. Direct ChatID use if already JID format
    2. Phone number extraction + @s.whatsapp.net suffix
    3. Fallback to stored ZombieParent ChatID
  • Files: assistant/planner.go, assistant/scheduler.go, assistant/wakeup.go

2. Empty ChatID in ZombieParent Registration

  • Issue: ZombieParent registration captured empty ChatID, breaking async notification delivery.
  • Fix: Added fallback in AsyncCallAgent() to use stored parent ChatID when current is empty.
  • File: assistant/planner.go

3. LLM Semaphore Timeout Handling

  • Issue: Ollama requests cancelled while waiting for semaphore due to queue timeout overlap.
  • Fix: Separate 30-minute queue timeout, reduced concurrent slots 5β†’3 to prevent saturation.
  • File: assistant/ollama_client.go, assistant/llama_client.go

4. Reolink CCTV Search Parsing

  • Issue: NVR returns object instead of array for certain queries, causing JSON unmarshal failures.
  • Fix: Created searchRecordings() wrapper that handles both object and array responses.
  • File: assistant/cctv_monitor.go

5. Playbook Placeholder Format

  • Issue: Playbooks used [From Step X] format which isn't recognized by substitution engine.
  • Fix: Corrected 7 playbooks to use {step_X_result} format.
  • Files: assistant/playbooks/*.json

6. Planner Session Reliability

  • Issue: WhatsApp-initiated planner sessions failed because LLM returned empty/text responses without calling get_capabilities.
  • Fix: ProcessReActLoop now forces get_capabilities for ALL planner sessions regardless of source.
  • File: assistant/planner.go

7. Shared Tools Full Definitions

  • Issue: get_capabilities returned only tool names, not full definitions.
  • Fix: GetSystemCapabilities now returns complete Tool structs.
  • File: assistant/assistant.go

8. dMUD Stability & Concurrency Overhaul (Phases A-D)

  • Issue: The dMUD engine suffered from 50+ identified concurrency issues, leading to deadlocks during reconnection and panics in mini-games.
  • Fixes (20 Applied):
    • Phases A & B (Panic Prevention): Added nil guards to Send() and CurrentRoom, fixed Blackjack empty deck panic, and implemented sync.Once for config watchers.
    • Phase C (UsersMu - High Impact): Introduced UsersMu RWMutex to the Room struct. This resolved data races in chat broadcasting, ambient rendering, and NPC script interactions by protecting the Users map.
    • Phase D (Blocking & Deadlock Mitigation): Optimized the Register() flow by moving bcrypt hashing outside of mutex locks, reducing global lock contention. Added non-blocking selects for internal save channels.
  • Files: dmud/room.go, dmud/user.go, dmud/server.go, dmud/config.go, dmud/games.go
  • Result: Server-side panics and "session hangs" during multi-user interactions have been eliminated.

πŸŽ™οΈ Voice Pipeline & UI Overhaul (April 2026)

1. WhatsApp Voice Note Dual Output

  • Issue: Voice note responses couldn't include image generation results; agent routing defaulted to "sysafe" instead of last-used agent.
  • Fix:
    • Added Callback to voice QueryOptions so image generation results are delivered
    • Added GetLastUsedAgent() check before defaulting agent selection
    • Added SaveLastUsedAgent() call after voice responses for sticky agent persistence
  • Files: dwhatsapp/dwhatsapp.go

2. Lenore TTS Configuration

  • Issue: Lenore agent had no TTS voice configuration, causing fallback to default voice.
  • Fix: Added Lenore's Inworld voiceID (Selene) to TTS config map and assutils.go voiceID registry.
  • Files: assistant/tts.go, assistant/assutils.go

3. TTS Sanitization

  • Issue: Voice notes included raw emojis and markdown formatting, causing unnatural TTS output.
  • Fix: Added SanitizeForTTS() function that strips emojis, markdown, and code blocks before TTS synthesis.
  • Files: assistant/tts.go

4. Voice UI Kiosk Mode & Accessibility

  • Issue: Voice UI (voice.html, wake.html) wasn't optimized for tablet/kiosk use and lacked accessibility features.
  • Fix:
    • Added kiosk mode detection (?kiosk=true&agent=xxx) with hidden controls and larger touch targets
    • Added aria-live regions for screen reader announcements
    • Added responsive CSS for tablet/mobile layouts
    • Changed hardcoded "Dan:" to "User:" in history display
  • Files: assistant/static/voice.html, assistant/static/voice.js, assistant/static/wake.html, assistant/static/wake.js

5. Lenore Theme & TTS Default Selector

  • Issue: Lenore agent had no visual theme; TTS selector lacked "Agent Default" option.
  • Fix:
    • Added Lenore theme (Indigo/MediumPurple) to AgentThemes map
    • Added "Agent Default" TTS option that respects per-agent voice configuration
    • Updated backend nikki_voice.go to handle "default" TTS fallback
  • Files: assistant/nikki_voice.go, assistant/static/voice.js, assistant/static/wake.js

6. Canvas Blur Performance

  • Issue: CSS filter: blur() on canvas was GPU-intensive, causing performance issues on tablets.
  • Fix: Moved blur effect from CSS filter to JavaScript rendering in aura.js for better performance control.
  • Files: assistant/static/aura.js

πŸš€ Major Updates (April 2026 - Continued)

5. IRC Platform Enhancements

  • Automatic Channel Registration: Implemented ChanServ integration for automatic channel registration on join
  • Personal Agent Channels: Each agent bot now has a personal channel for private communications
  • Specialized Channels: Added #NOC (infrastructure metrics), #dBot (bot operations), and #Solana (blockchain monitoring)
  • Intelligent Dynamic Topics: Channel topics now update automatically based on system state and agent activity
  • Identity-Aware Message Processing: Fixed multiple reply issue by making message processing identity-aware
  • ErgoIRCd Integration: Enhanced SASL/nickname handling and improved connection stability
  • Log Throttling: Implemented log throttling to prevent message delivery hangs
  • Operator Status: Master Dan automatically granted operator status on join

6. Context Optimization & Token Efficiency

  • Active LLM Summarization: Implemented middle-out context compaction using active summarization for long sessions
  • Tool Result Hashing: Added hashing to prevent redundant context bloat from repeated tool calls
  • Prompt Reordering: Reordered prompts to maximize LLM prefix caching efficiency
  • Conversation Summary Limits: Optimized truncation limits (3000 characters) for better context management
  • Intelligent Task List Pruning: Implemented smart pruning for task list tool to reduce token usage
  • Circuit Breaker: Extended circuit breaker to all adaptive planner LLM call sites with fallback loops
  • Session Counter Reset: Reset session counters on new user message with 2s delay before LLM retries

7. Dual-Platform Notification System

  • WhatsApp + Discord Dispatch: Unified notification routing to both platforms simultaneously
  • Gilfoyle Nightly Ritual: Enhanced 3am Gilfoyle notifications with dual-platform support
  • WHMCS Poller Integration: WHMCS ticket notifications now route to both WhatsApp and Discord
  • Bulk WhatsApp Consolidation: Individual notifications consolidated into single bulk WhatsApp message
  • Nova Response Capture: Explicit capture and routing of Nova's responses to WhatsApp groups

8. Discord HUD System Overhaul

  • Message Splitting: Split delicious servers into separate HUD messages (UK/Enterprise staff)
  • Public HUD Channel: Added public HUD channel with 10-minute refresh interval
  • Persistent HUD Support: Message and embed edit wrappers for persistent HUD updates
  • Interim Status Handling: Implemented interim status handling for Discord persona updates
  • Telemetry Segmentation: Added specific telemetry segments for different HUD types
  • Content Filtering: Public HUD channels filter sensitive data (Status/CPU/RAM/Load only)
  • Cluster Isolation: Isolated delicious staff HUD and added sysafe_ldn cluster HUD

9. dMUD RPG System Expansion

  • Profession System: Implemented Mining & Woodcutting professions with idle mechanics
  • Wallet & Inventory: Added wallet commands, inventory management, and item persistence
  • Pet System: Implemented pet auto-feed worker, pet seller NPC, and shop-aware /pet buyfood
  • NPC Logic Ecosystem: Full NPC triggers on /use and /trade with Lua scripting
  • RPG Dashboard: Real-time /rpg dashboard with inventory and quest tracking
  • Quest System: Quest acceptance script hooks, weekly quests, and Mayor/Guard quest NPCs
  • Shop Functionality: Tavern shop with item purchasing and NPC interactions
  • Multi-Room Zones: Expanded dLand into multi-room zones with proper navigation

10. Playbooks System

  • Agent-Specific Directories: Reorganized playbooks into agent-specific directories (analyst, nova, nikki, etc.)
  • Server Health Playbook: Automated Gadgetzan infrastructure health checks
  • Standups Playbook: Daily London-Hosting standup automation with WHMCS/Jira integration
  • SNOW Trend Reports: Daily ticket trend analysis and reporting
  • Free Games Playbook: Daily free games briefing with Steam/Epic discovery
  • Self-Evolution Pipeline: AI-generated playbook candidates with admin approval workflow

πŸ›€οΈ The Roadmap ("God-Tier Upgrades")

The system continues to evolve toward "God-Tier" autonomy. Planned enhancements include:

  • Logic Scalpel: Live intervention in agent reasoning via Mission Control.
  • ACK Security Protocol: Human-in-the-loop confirmation for medium-risk infrastructure changes.
  • Global Event Bus: A unified pub/sub architecture for all system-wide infrastructure events.

πŸš€ Wiki Server Enhancements (April 25, 2026)

Wiki Server Launch

  • Port 7779: Standalone documentation server (wikiserver/wiki_server.go)
  • Goldmark Renderer: Full GFM, Footnote, Table, Strikethrough, Linkify support
  • Monokai Syntax Highlighting: Code blocks with chroma-based highlighting
  • Navigation API: Dynamic sidebar tree from /api/navigation

Enhanced Wiki Features (commit f187e7b8)

  • Search: Client-side page search
  • Table of Contents: Auto-generated from headings
  • Theme Toggle: Light/dark mode switching
  • Share Links: Copy-to-clipboard for page URLs
  • Version History: 5 most recently modified pages (sorted by modTime)
  • Back to Top: Smooth scroll button
  • File Modified Date: Per-page "Last updated" timestamp
  • Enhanced 404: Friendly error page with navigation
  • Loading Skeleton: Visual feedback during page load

Wiki UX Improvements (commit 88d01408)

  • Active Navigation: Highlight current page in sidebar
  • Collapsible Sections: Expandable nav sections with animations
  • Image Styling: max-width, borders, shadows, border-radius
  • Page Transitions: Smooth fadeIn/fadeOut animations
  • Lightbox: Full-screen image viewing
  • External Links: CSS indicator (β†—) for external URLs
  • Mermaid.js: Client-side diagram rendering from code blocks

Bug Fixes (commit cfc7384f)

  • Navigation Tree: Fixed index-based range to navigate actual tree nodes (nested directories now work)
  • Version History: Fixed sorting to use modTime descending (most recent first)
  • XSS Escaping: Added esc() helper using template.HTMLEscapeString for all user-controlled strings

πŸš€ Wiki Server Bug Fixes (April 25, 2026)

Navigation & Path Handling (commit 7d96b693, 40a31627)

  • Navigation Tree Fix: Fixed critical index-based range bug in addToTree() that prevented proper nested directory structure
  • 404 Panic Fix: Added nil checks to prevent panics when handling non-existent pages
  • Nil Pointer Fix: Fixed nil pointer dereference in nav cache initialization
  • Nav Caching: Implemented proper navigation caching with invalidation on file changes
  • .md Link Handling: Fixed relative path handling for internal wiki links

Static Asset Path (commit 5ef270fa)

  • Path Mismatch Fix: Resolved static asset path issues causing missing CSS/JS files
  • File Serving: Fixed proper serving of files from wikiserver/static/ directory

TOC & UI Fixes (commit 740fb2c6)

  • TOC ReferenceError: Fixed JavaScript ReferenceError in Table of Contents generation
  • Favicon Addition: Added favicon for wiki branding

Wiki UX Improvements (commits 88d01408, cfc7384f)

  • Active Navigation: Highlight current page in sidebar
  • Collapsible Sections: Expandable nav sections with animations
  • Image Styling: max-width, borders, shadows, border-radius
  • Page Transitions: Smooth fadeIn/fadeOut animations
  • Lightbox: Full-screen image viewing
  • External Links: CSS indicator (β†—) for external URLs
  • Mermaid.js: Client-side diagram rendering from code blocks
  • XSS Escaping: Added esc() helper using template.HTMLEscapeString for all user-controlled strings

See Go Backend Overview for current system state.