Every product on CommsLink is designed and shipped to production by an AI — live, most days. This is the raw record, generated straight from the commit history. No hand-picking, no polish: 2,363 ships and counting.
Persistent AI armies: full Grok brains, DB-backed, battle_record table, self-learning foundation
Encounter system: spawn enemy armies + test bots for multiplayer/combat testing
Encounter system: spawn enemy armies + test bots for multiplayer/combat testing
Add march/advance command: units walk forward in commander's facing direction until halt
Formation system: 7 formations, calculator, behavior tree, API, chat commands
Add 'follow/follow me/with me/come' to fast path command patterns → form_up
Add 'resume' command: unlocks agenda so AI regains autonomous control
Fix Grok overriding player commands: agendaLocked flag prevents AI from resetting agenda
Speed up army chat: fast pattern matching for commands (34-159ms vs 12s Grok)
Add dispatcher routing tests (13 tests) + army chat wiring instructions for Unity
Add army integration tests: fear/bravery, aggression/defense balance, squad behavior, multi-army combat, edge cases
Add army behavior tree unit tests: 15 tests covering all command scenarios
Fix guard_position ignored: move agenda checks before combat approach, add audit logging
Fix commands not reaching NPC brains: sync in-memory state on command/dispatch
Remove hardcoded ring formation — let separation force + future Grok commands handle positioning
Fix NPC clumping: unit separation force, offset follow positions, wider spawn spread
Fix NPC movement speed: 0.08→2.5 run, 0.04→1.25 walk per 500ms tick
Army chat: split into fast dispatch + async WebSocket responses
Army chat: return responder + listener ID lists so client shows thinking bubbles only on responders
Army: sequential squad filling + XP-based auto-promotion
Army system backend: hierarchy, chat dispatcher, commands, promote, reassign
Army system: hierarchy, chat dispatcher, commands, reassign, promote, auto-assign on recruit
Add army system client instructions: hierarchy, chat routing, overview panel, formations
Fix NPCs panicking in peaceful areas: filter allies from enemy list, tune Grok prompt
Add POST /api/v1/recruits/:id/chat — talk to recruits via Grok
Fix friendly fire: NPCs skip allies with same commander_id when finding enemies
Game world: full AI companion system with behavior tree, Grok brain, NPC engine
AI companion system: personality traits, disposition, behavior weights, Grok brain, behavior tree, recruit instructions/commands API
Fix shop seed: recruiter only stocks recruits, not weapons/shields
Fix equip swap: use sequential transaction to avoid unique constraint violation
Add recruit system: NPC characters, recruit purchase, recruit API endpoints, 7 recruit types
Add shop system: shop/stock/transaction tables, buy action, seed endpoint with 3 shops
Add raw WebSocket /game-sync endpoint for position sync and combat
Add persistent volumes for game-releases and plugin-releases, expose port 8080
Game patcher: update API with downloadUrl, nginx static serving, deploy-game.sh script
Add game update API: version check, download, admin upload (500MB limit)
Add initRoom debug logging for chat connection flow
GameWorld: add disconnect reason logging for debugging
Add leveling system: level_definition table, XP-based leveling action, levels API, add-xp test endpoint
GameWorld: auto-add players to global-game chat room on game:join
Add inventory & items system: item_definition, inventory_item tables, CRUD API, equip/unequip/move, seed endpoint, starter items on character creation
Add real-time game world: player_character table, character CRUD API, Socket.IO /game namespace with server-authoritative PvP combat
Security: redact IPs/credentials from tracked files, add README
Landing page: remove Voice API product (we don't offer that)
Landing page: add ElevenVoiceReader Chrome extension, adjust product grid to 4 columns
Fix Boom.serverUnavailable typo
Switch fight simulation from Claude to Grok API
Add error handling for fight simulation - graceful API credit errors
Add error logging to fight simulation endpoint
Fix RequestQuery type cast in leaderboard endpoint
Fix Prisma JSON type compatibility in gladiator and fight data modules
Add AI Fight Club: gladiator system, fight simulation, memories, leaderboard
Landing page: update FFXIVoices to live with accurate description, fix credit count, add ElevenLabs to tech stack
Add untracked files: migrations, payment/credits routes, rate limiter, CI workflows
Security: atomic credit deduction (no negative balance), rate limit TTS endpoint, verify Stripe webhook amounts, WS rate limiting, remove dev JWT fallback
FFXIVoices: accept gender field in register/login, set default voice by gender (Ash for female, George for male)
Logo/title click navigates to /landing instead of /chat
Add optional email to registration, require email before credit purchase, show email prompt on credits page
Credits page: add usage log tab with service labels, log FFXIVoices TTS usage to credit_usage_log
Fix auth redirect: preserve returnUrl when redirecting to login (e.g. /credits)
Unify FFXIVoices auth with CommsLink: shared user table, shared credits, ffxiv_profile for FFXIV settings, new credit packs (10K/$6, 25K/$10, 50K/$18), 1K monthly free credits
FFXIVoices: add next_free_credits ISO date to /me endpoint
FFXIVoices: rename ElevenLabs voices from (Premium) to (Donor)
FFXIVoices: restructure credit system - 10K free credits, monthly refresh, Polly 1cr/msg, ElevenLabs 18cr/50chars, /me endpoint
FFXIVoices: use MP3 for ElevenLabs (PCM requires Pro tier), send format to plugin
FFXIVoices: add ElevenLabs diagnostic logging to debug silence
FFXIVoices: fix ElevenLabs TTS - use PCM query param instead of JSON body, revert to WAV-only output
Fix ElevenLabs: downsample 44100Hz PCM to 16000Hz to match plugin's hardcoded sample rate
Fix ElevenLabs: use pcm_24000 (signed 16-bit LE) which is the standard ElevenLabs PCM format
Fix ElevenLabs static: switch from pcm_44100 to pcm_16000 to match Polly output format
FFXIVoices: add 20 ElevenLabs premium voices alongside Polly, route TTS by el: prefix, 3x credit cost for premium
FFXIVoices: plugin update system — version check, download, admin upload with SHA-256 verification
FFXIVoices WS: add hearAll/muted/heard selective hearing filters
FFXIVoices WS: support settings message to update hearSelf without reconnecting
FFXIVoices: dedup chat messages — prevent double TTS when multiple clients send same text
FFXIVoices: add debug logging for TTS and broadcast to diagnose double audio
FFXIVoices WS: support hearSelf flag in auth handshake, send audio back to sender when enabled
FFXIVoices: switch from email to username auth
FFXIVoices: switch TTS from ElevenLabs to Polly (PCM→WAV), default voice Joanna
Fix FFXIV auth header type: handle string|string[]
FFXIVoices API: auth, chat/TTS, WebSocket audio broadcast, ElevenLabs adapter, proximity filtering
Company landing page: portfolio of products (Chat, FFXIVoices, Voice API), tech stack, stats
Strip leaked [/add_memory] and other bracket-format closing tags
Strip leaked tags: xai:function_call XML, orphaned /say /text, unmatched command braces
Reduce thinking filler trigger from 3s to 2s
Thinking filler: grok-3-mini picks contextual phrase, spoken via Polly TTS
Make logo + CommsLink title clickable, navigates to /chat
Add thinking filler message if AI takes >3s to respond
Fix think leak: strip all malformed think tag variants ([/think>, mixed brackets, etc)
Slow thinking pulse to 0.5Hz — one gentle pulse every 2 seconds
Thinking sound: ethereal detuned hum with tremolo — mystical crystal resonance
Thinking sound: layered whisper effect — breathy base + sibilance + air, organic irregular rhythm
Mobile: terminal panel stacks above chat in top 1/3, hide resize handle
Fix: keep Claude Code responses in agent context (was filtering all [Claude *] messages)
Replace thinking sound: soft filtered noise pulse instead of harsh sine beep
Terms of Service, live stats on landing, Google Search Console verification, footer links
Add privacy policy page + link on registration, covers all services and liability
Add + create room button to sidebar on all pages, navigates to chat with create dialog
Show room icons in sidebar on all pages (credits, profile, etc), not just chat
Remove Chat tab from sidebar — show room icons directly, cleaner layout
Generated 2026-07-17 from git across all CommsLink repos · page 21/24, showing 2,001–2,100 of 2,363 ships · complete record: /changelog.txt · /changelog.json.