5 min read

Building BuchhalterPython: Types, Tests, and a Hallucinated API Key (Part 4)

After Part 3 left four LXC containers running and the src/ directories empty, Phase 4 starts writing actual code. The first day of implementation produces two closed issues, one rejected framework, and one bug that had already been caught once. Part 4 of the Building BuchhalterPython series. Part 3 covers provisioning four LXC containers with OpenTofu and Ansible. The Bug That Appeared Twice Issue #12 had already documented a type error in the Pydantic model for the Paperless API: tags: list[str] instead of list[int]. Paperless returns tag IDs as integers. The model had used strings. That bug was fixed, documented in llm/domain-knowledge/01-paperless-api-reference.md, and noted in ERROR_PATTERNS.md.

pydantic tdd python agentic-coding langchain microservices domain-knowledge testing
4 min read

Building BuchhalterPython: How We Set Up Agentic Infrastructure Before Writing Code

Before writing the first line of application code for BuchhalterPython, we invested a few hours designing and building agentic infrastructure. That’s one of the things AI fundamentally changes: what used to take weeks of scaffolding and deliberation now takes an afternoon. This wasn’t bureaucracy dressed up as planning. It was the difference between a project that ships and one that collapses under its own ambition. The temptation is always the same: start coding immediately. You know what you want to build. You’ve sketched the data model on a whiteboard. Why not just start? The honest answer: because infrastructure becomes infinitely more expensive to change after code depends on it.

agentic-ai infrastructure tdd microservices