CODM profiles, reliable loyalty awards, and a faster shared dashboard
- CODM Global profiles arrive in chat with !codm, !codmprofile and !codmrank. Look up a UID or exact nickname for level, Multiplayer rank, rating, country and short ID, or link your own account in the dashboard. Replies preserve the name you supplied instead of exposing streamer-mode nicknames. Avatar, KD, match history and Battle Royale stats are not included.
- Loyalty awards and watchtime are hardened against duplicate flushes, restarts and lifecycle changes. Reserved counters stay protected, and loyalty settings and commands handle account and channel state more consistently.
- Outgoing chat coordination moves to durable NATS state so Valkey outages no longer lose rate leases, pause state or batch checkpoints. Unknown coordination state fails closed; other Valkey-backed features still require their store.
- Message publishing preserves flush barriers and recovers safely, while stuck lane fetches surface explicit failures. The admin hub feed now uses mutual TLS.
- The dashboard, admin console, docs and site share more UI primitives, status dots, notifications, pickers and browser helpers. Public navigation and typography are consistent, and reply editors, guides and the command builder use the same chat rehearsal and token examples.
- Dashboard saves surface validation feedback instead of silently failing. Navigation no longer loads the whole module catalog, first render avoids blocking work, and the homepage encryption scene loads on demand.
- Public command lists keep stable source-based keys, rehearsal examples use uptime without requiring a counter, and emote-pyramid validation correctly handles the game state. Deployment pins and console digests have been kept in sync throughout this release.