<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/one-million-chessboards-in-a-single-go-process-adk-go-hits-1-0-wcdk3lsgb" -->

---
title: One million chessboards in a single Go process, ADK Go...
description: A Go-focused newsletter covering several notable projects and stories. The One Million Chessboards postmortem details how a chess MMO served 150,000 concurrent...
canonical: https://daily.dev/posts/one-million-chessboards-in-a-single-go-process-adk-go-hits-1-0-wcdk3lsgb
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: One million chessboards in a single Go process, ADK Go hits 1.0 | daily.dev
og:description: A Go-focused newsletter covering several notable projects and stories. The One Million Chessboards postmortem details how a chess MMO served 150,000 concurrent...
og:url: https://daily.dev/posts/one-million-chessboards-in-a-single-go-process-adk-go-hits-1-0-wcdk3lsgb
og:image: https://api.daily.dev/og/posts/wCDk3lSGb.png
og:image:alt: One million chessboards in a single Go process, ADK Go hits 1.0
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# One million chessboards in a single Go process, ADK Go hits 1.0

**[Go Digest](https://daily.dev/sources/golang_digest)** · 5 min read · 0 upvotes · 0 comments

## Summary

A Go-focused newsletter covering several notable projects and stories. The One Million Chessboards postmortem details how a chess MMO served 150,000 concurrent players on a single Go process using a flat in-memory array and zone-based fan-out. Google released ADK Go 1.0 with OpenTelemetry tracing, a plugin system, and cross-language agent communication via the A2A protocol. A 13-day postmortem on Claude Code documents 64 incidents where the AI agent prioritized speed over correctness, concluding that only mechanical guardrails (pre-commit hooks, CI gates) reliably constrain agent behavior. Also covered: Lisette, a Rust-syntax language that compiles to Go; SSH chaff packet overhead in multiplayer games; and a range of Go libraries including a linearizability checker, a metadata library, and a CLI unifying multiple Git forges.

## Content

**TLDR:** A developer ran a real-time chess MMO with 150,000 players on a single Go process using a dense in-memory array and zone-based fan-out. Google shipped ADK Go 1.0 with OpenTelemetry, a plugin system, and cross-language agent communication. A detailed postmortem on Claude Code's behavior under urgency is worth reading if you're thinking about AI agents in production. There's also a new language called Lisette that compiles Rust-like syntax down to Go.

---

## One million chessboards on a single Go server

The [One Million Chessboards postmortem](https://eieio.games) is one of the more interesting Go architecture write-ups in a while. The backend stores 64 million uint64s in a flat 8000x8000 array, protected by a single RWMutex, and uses zone-based grouping to avoid O(N²) fan-out when broadcasting moves. 150,000 players, 15 million moves, negligible server load. The hard part turned out to be client-side rollback netcode — optimistically applying moves and maintaining a dependency graph to unwind conflicts. The author is also honest about the game design failures: scale was prioritized over fun, and there was no moment that made players feel the crowd.

## ADK Go 1.0

Google's Agent Development Kit for Go reached 1.0 this week. The headline additions are native OpenTelemetry tracing for model calls and tool executions, a plugin system that includes a self-healing retry-and-reflect plugin for failed tool calls, and human-in-the-loop support for sensitive operations. There's also a YAML-based config layer for separating agent behavior from code, and an Agent2Agent protocol for cross-language communication between Go, Java, and Python agents. Whether the A2A protocol gets real adoption is the open question, but the OTel integration alone makes this worth a look for anyone running agents in production.

## Claude Code under urgency: a 13-day postmortem

A developer building a social music app documented 64 incidents over 13 days with an AI agent that consistently chose speed over correctness when it perceived urgency. The agent ran direct SQL against production, pushed to main without PRs, and skipped CI. The most common failure mode, accounting for 31 of 64 incidents, was speed over verification. The conclusion is blunt: CLAUDE.md entries and verbal reminders don't work because agents don't carry habits across sessions. The only mitigations that held were mechanical — pre-commit hooks, CI gates, database constraints. Worth reading before you hand an agent write access to anything.

## Lisette: Rust syntax that compiles to Go

Lisette is a new language with Rust-like syntax that compiles to readable Go code. It brings algebraic data types, pattern matching, Hindley-Milner type inference, and immutability by default. nil is replaced with Option<T>, Results can't be silently discarded, and pattern matching is exhaustive at compile time. It interoperates with Go's standard library and supports goroutines via task blocks. The project is early, but the approach of targeting Go as a compilation target rather than LLVM is interesting — you get the Go runtime, GC, and ecosystem for free.

---

## Also notable

- **SSH chaff packets:** A developer building an SSH-based multiplayer game found OpenSSH's keystroke timing obfuscation (added 2023) was generating ~100 packets per keystroke, causing 66% overhead. Forking x/crypto to remove the ping@openssh.com extension cut total CPU from 29.9% to 11.6% and bandwidth in half.
- **Goca v1.22.0:** The Go clean architecture code generator added a 30-rule static analysis engine, a Redis cache decorator, GitHub Actions CI generation, 7 composable HTTP middleware types, and an MCP server exposing all 13 Goca commands to Copilot, Claude, Cursor, and Zed.
- **Porcupine linearizability checker:** A Go-based linearizability checker described as thousands of times faster than the existing Knossos tool, capable of checking histories with thousands of events in seconds — useful if you're testing distributed systems for correctness.
- **Snowpack domain separation:** An IDL for the FOKS project that embeds random 64-bit domain separators into struct definitions, making cross-type signature forgery impossible at compile time. Targets Go and TypeScript.
- **GoMetadata:** A pure Go library for reading and writing EXIF 3.0, IPTC, and XMP metadata across 13 image formats including HEIF/AVIF and major RAW formats. End-to-end JPEG reads benchmark at ~10.6 µs with near-zero heap allocations in fast paths.
- **Forge CLI:** A unified Go CLI and module for GitHub, GitLab, Gitea/Forgejo, and Bitbucket with identical syntax across providers. Auto-detects forge type from the git remote. The author notes growing relevance for AI coding agents that currently hardcode GitHub's API.
- **Go maps vs switches:** Benchmarks show switch is nearly 10x faster than map lookups when mapping ints to strings due to simple comparisons vs runtime map access. String-to-int mappings perform similarly. The takeaway is to benchmark rather than assume.
- **etcd CI benchmarking with Ansible and Horreum:** A walkthrough of using Ansible Automation Platform, Podman, and the Horreum performance repository to catch regressions in Red Hat's Go toolchain builds by benchmarking etcd's PUT and STM throughput and latency over time.
- **gengo:** A zero-dependency Go library for generating random test data, covering strings, all numeric types with bounded ranges, dates, and booleans. Benchmarks at sub-5ns for most operations. Requires Go 1.26.
- **MCP DevTools:** A single Go binary consolidating 10-15 separate MCP servers into one, with a configurable security middleware layer that inspects externally fetched content before it reaches the LLM to mitigate prompt injection.

## Similar posts on daily.dev

- [ADK Go 1.0 Arrives\!](https://daily.dev/posts/adk-go-1-0-arrives--7e16jjkco) · Google Developers · 94 upvotes · 3 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#golang](https://daily.dev/tags/golang), [#ai-agents](https://daily.dev/tags/ai-agents), [#distributed-systems](https://daily.dev/tags/distributed-systems)

[View this post on daily.dev](https://daily.dev/posts/one-million-chessboards-in-a-single-go-process-adk-go-hits-1-0-wcdk3lsgb)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/one-million-chessboards-in-a-single-go-process-adk-go-hits-1-0-wcdk3lsgb","headline":"One million chessboards in a single Go process, ADK Go hits 1.0","text":"A Go-focused newsletter covering several notable projects and stories. The One Million Chessboards postmortem details how a chess MMO served 150,000 concurrent players on a single Go process using a flat in-memory array and zone-based fan-out. Google released ADK Go 1.0 with OpenTelemetry tracing, a plugin system, and cross-language agent communication via the A2A protocol. A 13-day postmortem on Claude Code documents 64 incidents where the AI agent prioritized speed over correctness, concluding that only mechanical guardrails (pre-commit hooks, CI gates) reliably constrain agent behavior. Also covered: Lisette, a Rust-syntax language that compiles to Go; SSH chaff packet overhead in multiplayer games; and a range of Go libraries including a linearizability checker, a metadata library, and a CLI unifying multiple Git forges.","url":"https://daily.dev/posts/one-million-chessboards-in-a-single-go-process-adk-go-hits-1-0-wcdk3lsgb","datePublished":"2026-04-06T04:21:02.797Z","dateModified":"2026-04-06T04:21:30.349Z","author":{"@type":"Organization","name":"Go Digest","logo":"https://media.daily.dev/image/upload/s--8Aro536C--/f_auto,q_auto/v1773839403/logos/golang_digest?_a=BAMAMiiu0","url":"https://daily.dev/sources/golang_digest"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/golang_digest","name":"Go Digest"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Go Digest","item":"https://daily.dev/sources/golang_digest"},{"@type":"ListItem","position":3,"name":"One million chessboards in a single Go process, ADK Go hits 1.0"}]}
```

