
A New Enum Value Breaks Clients That Trusted Your List
A new enum value passes every schema diff and still breaks clients that validate responses. Read as text, send from a closed list, and mark it Breaking.
Technical deep dives, architecture decisions, and development practices from the Dimantika team.
11 posts

A new enum value passes every schema diff and still breaks clients that validate responses. Read as text, send from a closed list, and mark it Breaking.

Paying a vendor feels like it should authorise charging the client. It does not, and the wording that says it does once billed 900 credits for a video that did not exist.

A 3% aspect mismatch is a rounding error. A 40% one is a different video. The threshold between them decides whether you refuse before the bill or apologise after.

Six blockers across four consecutive stories, and the two reviews agreed on one of them. Here is what running both actually cost us, and the rule we ended up with.

Our render container reported 32 cores when it had 4. Remotion sized its defaults from that and OOMed. Five confident diagnoses died before the answer turned up in a version field nobody had thought to print.

Our billing rule said: failed run after a paid vendor call means we charge. It sounded fair. On a run that only paid for speech, it was false, and it cost a customer.

Teams blame MCP when agents fumble their tools. We shipped an MCP server for a video API and found the real defect: offering a field you answer with a 400.

Lock down SSH on your Hetzner VPS with Tailscale and restrict port 443 to Cloudflare IPs only. Our exact production ufw setup — no public SSH port, no direct origin access.

Many founders who vibe code hit the same wall after the initial MVP sprint. Here's the habit system that stops AI-generated SaaS code from collapsing under real users.

Cursor, Claude Code, and OpenAI Codex are battling to become the default AI coding agent. Here's what each tool actually does differently and how to pick the right one.

Wire an AI coding agent to Sentry and it reads unresolved errors every morning, proposes fixes via PRs, and slows down your quota burn — automatically.