<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>TulaDB — Engineering notes</title>
    <link>https://tuladb.com/blog/</link>
    <description>Engineering notes on ledger correctness, idempotency, rejected-transaction visibility, recovery boundaries, and the reservation lifecycle.</description>
    <language>en</language>
    <atom:link href="https://tuladb.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Ledger correctness belongs close to the write path</title>
      <link>https://tuladb.com/blog/ledger-correctness-write-path/</link>
      <guid isPermaLink="true">https://tuladb.com/blog/ledger-correctness-write-path/</guid>
      <description>Why financial state should not be scattered across application code, queues, and reconciliation jobs.</description>
    </item>
    <item>
      <title>Idempotency is a ledger correctness problem</title>
      <link>https://tuladb.com/blog/idempotency-ledger-correctness/</link>
      <guid isPermaLink="true">https://tuladb.com/blog/idempotency-ledger-correctness/</guid>
      <description>Retries are normal in distributed systems. The durable result should remain stable.</description>
    </item>
    <item>
      <title>Rejected transactions should still be records</title>
      <link>https://tuladb.com/blog/rejected-transactions-are-records/</link>
      <guid isPermaLink="true">https://tuladb.com/blog/rejected-transactions-are-records/</guid>
      <description>A failed business decision can still be operational evidence.</description>
    </item>
    <item>
      <title>Snapshots are recovery boundaries</title>
      <link>https://tuladb.com/blog/snapshots-are-recovery-boundaries/</link>
      <guid isPermaLink="true">https://tuladb.com/blog/snapshots-are-recovery-boundaries/</guid>
      <description>A snapshot is not just a speed optimization. It is a durable point of explanation.</description>
    </item>
    <item>
      <title>Holds are not failed transfers</title>
      <link>https://tuladb.com/blog/holds-are-not-failed-transfers/</link>
      <guid isPermaLink="true">https://tuladb.com/blog/holds-are-not-failed-transfers/</guid>
      <description>Why reserve, commit, and rollback deserve first-class ledger states in value exchange systems.</description>
    </item>
  </channel>
</rss>
