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
8 min read

Building BuchhalterPython: Architecture Before the First Commit (Part 2)

Part 2 of the BuchhalterPython series. Part 1 covers how we set up agentic infrastructure — six specialised agents, golden standards, and token optimisation — before writing any application code. We spent a full day on architecture before writing a single line of business logic. No features, no endpoints, no database schemas. Just decisions. By the end of that day, we had five architectural choices that each prevented at least one production failure. Three of those failures would have been silent.

agentic-ai architecture rag document-processing microservices
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