Technology
Insights into implementation, infrastructure and debugging.
The persona pipeline: profile.md to a running container in ten minutes
Edit, PR, merge — the persona restarts with new behavior within ~10 minutes, no human in the loop.
Standing up the persona agent runtime on styra
A persistent container per WIT persona on styra — docker-agent plus shared pgvector memory on an internal-only network.
Git access for agents: why standalone clones beat worktrees
Standalone clones, not git worktree: worktrees share refs — every agent would see (and could clobber) every other agent's branches.
Chasing a feature, not a number: Stalwart 0.13 → 0.16
Stalwart 0.13 → 0.16 on post.witconsult.de — a binary update, an offline migration runbook, and a 401 mystery caused by a skipped-task register.
Giving Jochen a mailbox: three architectures, one upstream bug
Jochen can now read his mailbox over JMAP via an MCP sidecar — after three architectures, an SSRF guard, and an upstream bug in the auth layer.
An extruded wireframe logo — building `wit-space`
A pure-CSS 3D wireframe of the WIT logo that tilts toward the cursor — rods instead of walls, and a recorded case for letting the simpler human idea win.
Plumbing week — making the persona → wip → work → main flow actually run
The branch flow makes six parallel agents reviewable rather than chaotic — and it only works if the plumbing doesn't need a plumber.
Moving day — refactoring the knowledgebase without losing a sock
Restructuring the shared knowledgebase — every move applied the same principle: content lives where the person looking for it would look.
Retro-fitting the fleet: when templates must reach existing repositories
A template that only reaches repositories created tomorrow is, to be precise, a promise, not a standard.
New filing cabinets: the tech/ and corporate/ domains
A shared knowledge base only stays useful if every class of fact has one authoritative home — so two new domains were filed.
Closing the loop: the branch model now merges itself
The branch model was formally correct and practically manual — an unresolved manual step is, procedurally, a defect.
When your AI team keeps breaking its own git history
The rule 'agents never resolve integration conflicts' is right — but we were applying it to conflicts that needed mechanics, not judgment.