Skip to content

Writing

Notes on AI-assisted engineering (context engineering, running a team of agents, phased TDD with review gates) and the distributed-systems patterns that came out of the work: publishing only after the transaction commits, replay idempotency in stateful pipelines, and Protobuf as the source of truth for Elasticsearch.

· Claude Code · engineering

Building Waypoint: A Plan Pane for Claude Code

Why I built a Claude Code mod that draws the session's plan, the PRs it touches, and the decisions only I can make as a live pane, and what it took to make a 48-column side panel trustworthy.

Claude CodeAIDeveloper Tools
· LLM · architecture

One Interface, Two Models, and RAG on pgvector

How EventHorizon's LLM service swaps a local model for a cloud one behind a single interface, grounds anomaly explanations in the detection's own numbers plus context retrieved from pgvector, and where that grounding still leaks.

LLMRAGpgvector
· Machine Learning · engineering

One Feature Contract, Two Languages

Keeping an Isolation Forest trained in pandas and served inside Flink looking at the same six numbers: how the contract is written down, what enforces it, what it cost to get wrong, and the parts nothing checks yet.

Machine LearningFlinkONNX
· AI Agents · engineering

Running a Multi-Agent Team With Context Rotation

How a small standing team of named AI agents, each on their own feature branch, with a hard context-rotation rule and a Skeptic gate, delivered a gated, multi-stage Micronaut platform build without stepping on each other.

AI AgentsEngineering ProcessClaude Code
· TDD · architecture

Phased TDD With Skeptic Gatekeeping

Running a gated, test-driven build with formal architectural review gates that catch the bugs your test suite cannot, and the three blockers a real review caught on a pipeline platform before any of them shipped.

TDDArchitecture ReviewProcess
· Distributed Systems · architecture

Replay Idempotency in Stateful Pipelines

Where replays go wrong in stateful document pipelines: persistent credentials in JSONB, content-hash deduplication, and the latent non-idempotency hiding in chained replays.

Distributed SystemsIdempotencyRabbitMQ
· Micronaut · architecture

Publish After Commit: Keeping RabbitMQ Out of Your Transactions

Why message publishes belong outside the @Transactional boundary: the phantom message and the rollback-silenced dispatch a review gate caught before any traffic flowed, and the return-and-publish shape that rules both out.

MicronautRabbitMQTransactions
· AI · engineering

From Copy-Paste to Context Engineering

How my development workflow evolved from chatbot-assisted debugging to agent teams, skills, TDD pipelines, and a Claude Code platform my team adopted, over eighteen months.

AIClaude CodeDeveloper Workflow
· Protobuf · engineering

Protocol Buffers Meet Elasticsearch

How I eliminated an entire layer of data translation by building a library that treats Protobuf message definitions as the source of truth for Elasticsearch indices.

ProtobufElasticsearchMicronaut