Go context.Context Done Right: Cancellation, Timeouts, and Values
Go context is control flow, not storage.
Go’s context.Context is simple enough to use badly — and that is the problem.
Go context is control flow, not storage.
Go’s context.Context is simple enough to use badly — and that is the problem.
Handle errors at the right boundary.
Go error handling is easy to complain about. Every Go developer has written this code hundreds of times:
Stop sleeping in concurrent Go tests.
Testing concurrent Go code has always required a bit of discipline. Goroutines are cheap, channels are simple, and context cancellation is idiomatic — background workers and timers are everywhere in real Go services.
A2A is not dead. It is just not universal.
Google’s Agent2Agent protocol, usually shortened to A2A, had a strange first year.
Reliable polling patterns for AI agents.
Polling agents are one of the least glamorous parts of AI assistant architecture, but they are also one of the most useful.
MCP gives agents tools. A2A gives agents peers.
AI agent architecture is starting to split into two layers.
A2A turns agents into network peers.
The A2A Protocol, short for Agent2Agent Protocol, is an open standard for communication between independent AI agent systems.
Build CQRS in Go without needless ceremony
CQRS is one of those patterns that gets oversold, overcomplicated, and occasionally misdiagnosed as a cure for plain old CRUD boredom.
Diagrams as code, without the drama.
Mermaid is a text-based diagramming tool for people who would rather write diagrams than drag boxes around a canvas.
Control the risk, not just the model.
LLMs are unpredictable. They hallucinate, leak data, generate harmful content, or refuse legitimate requests. Guardrails constrain model behavior without sacrificing capability.
Pick the simplest pattern that works.
Single-model systems are simple. Multi-model systems are powerful. The challenge isn’t choosing models — it’s designing the architecture that orchestrates them.
How serious assistants are actually built.
A production AI assistant is not “an LLM with a prompt”. It is a system that accepts intent, keeps state, decides when to retrieve or act, and exposes enough runtime detail to debug failures.
Stop parsing vibes. Validate contracts.
Most LLM “structured output” tutorials are unserious. They teach you to ask for JSON politely and then hope the model behaves. That is not validation. That is optimism with braces.
Stop duplicate side effects
Idempotency in distributed systems is the property that saves you after the network lies, the queue retries, the client panics, and the operator hits replay. In production systems, duplicate delivery is normal. Duplicate side effects are the bug.
Build Claude Skills that survive real work
Most teams misuse Claude Skills in one of two ways. They either turn SKILL.md into a dumping ground, or they never graduate from giant copy-pasted prompts.
The skills worth keeping, and the ones to skip
OpenClaw has two extension stories, and they are easy to mix up.
Plugins extend the runtime. Skills extend the agent’s behavior.