<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>goldbarth.dev</title><description>Felix Wahl · .NET Backend Engineer · architecture, decisions, system design.</description><link>https://goldbarth.dev/</link><item><title>What&apos;s missing</title><link>https://goldbarth.dev/thoughts/next-project-thougts/</link><guid isPermaLink="true">https://goldbarth.dev/thoughts/next-project-thougts/</guid><description>Thinking about what to build next — and why it&apos;s not another clean architecture project.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate></item><item><title>Chunk-based Batch Processing</title><link>https://goldbarth.dev/decisions/chunk-based-batch-processing/</link><guid isPermaLink="true">https://goldbarth.dev/decisions/chunk-based-batch-processing/</guid><description>Why Ingestor processes large import files in 500-line chunks instead of all-at-once — bounded blast radius, partial success semantics, and the tradeoffs that came with it.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Idempotency Key Strategy</title><link>https://goldbarth.dev/decisions/idempotency-key-strategy/</link><guid isPermaLink="true">https://goldbarth.dev/decisions/idempotency-key-strategy/</guid><description>Designing deterministic idempotency keys for an import pipeline — why SHA256 over file content, what the unique index enforces, and how HTTP clients benefit.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Outbox vs. Message Broker</title><link>https://goldbarth.dev/decisions/outbox-vs-message-broker/</link><guid isPermaLink="true">https://goldbarth.dev/decisions/outbox-vs-message-broker/</guid><description>Why Ingestor starts with a database-backed outbox instead of RabbitMQ — and what the switchable dispatcher pattern makes possible later.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Result Pattern over Exceptions</title><link>https://goldbarth.dev/decisions/result-pattern-over-exceptions/</link><guid isPermaLink="true">https://goldbarth.dev/decisions/result-pattern-over-exceptions/</guid><description>Why Ingestor uses a Result&lt;T&gt; type instead of exceptions at application boundaries — what it makes explicit, what it costs, and where exceptions still belong.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>State Machine with Explicit Transitions</title><link>https://goldbarth.dev/decisions/state-machine-explicit-transitions/</link><guid isPermaLink="true">https://goldbarth.dev/decisions/state-machine-explicit-transitions/</guid><description>How an explicit domain state machine with nine states and an enumerated transition table prevents silent state corruption in a long-running pipeline.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Ingestor</title><link>https://goldbarth.dev/projects/ingestor/</link><guid isPermaLink="true">https://goldbarth.dev/projects/ingestor/</guid><description>A .NET 10 import pipeline built around reliability: outbox pattern, strict domain state machine, idempotent processing, and a config-switchable dispatch strategy — every design decision focused on correctness and auditability.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item></channel></rss>