An agent is a loop with real tools and a fence
An agent is a model in a loop with tools it can really call and results it can really see. Taking the ReAct pattern apart in go-tool-base.

An agent is a model in a loop with tools it can really call and results it can really see. Taking the ReAct pattern apart in go-tool-base.

Launching sigillum, a standalone artefact signing and verification CLI, and the Rust signing problem that made it necessary.

Where a signing key lives is the most provider-specific decision in the whole business, so the framework deliberately refuses to have an opinion.

Leaving a healthy dependency: cockroachdb/errors predates Go 1.20, so its Join hides the aggregate and everything below it goes missing.

A standard-library security fix forced a Go version bump, and then the release failed because the build image shipped an older toolchain.

Wiring OTel-native observability through a gRPC service with a REST gateway, and discovering the gateway had split a single trace into two.

A gpg call that hung and never returned, and why release signing ended up built into the Go tool itself rather than shelled out to the gpg binary.

A configuration module that writes changes back without wrecking the file a person wrote, with one small adapter per format and backend.

Choosing a CLI library in Go and Rust. Go is a ladder you climb from the standard library; Rust asks a different question much earlier.

Dropping the Windows build of a photo tool rather than fixing it, and why that is the right call for a one-person project.
