<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Gapjunction by Ruvu</title>
    <description>Practical guidance for people who build and support data integrations.</description>
    <link>https://ruvuengine.com/blog</link>
    <language>en-us</language>
    <item>
      <title>Delayed release metadata delivery</title>
      <description>A sample incident showing exact times, measured impact and owned prevention work.</description>
      <link>https://ruvuengine.com/blog/delayed-release-metadata-delivery/</link>
      <guid isPermaLink="true">https://ruvuengine.com/blog/delayed-release-metadata-delivery/</guid>
      <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
    </item>
<item>
      <title>How to frame a TCP byte stream without losing messages</title>
      <description>Choose message boundaries that survive split packets, joined packets and reconnects.</description>
      <link>https://ruvuengine.com/blog/how-to-frame-a-tcp-byte-stream/</link>
      <guid isPermaLink="true">https://ruvuengine.com/blog/how-to-frame-a-tcp-byte-stream/</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
    </item>
<item>
      <title>Retry webhooks without creating duplicate work</title>
      <description>Separate delivery attempts from the business event so retries stay safe and explainable.</description>
      <link>https://ruvuengine.com/blog/retry-webhooks-without-duplicate-work/</link>
      <guid isPermaLink="true">https://ruvuengine.com/blog/retry-webhooks-without-duplicate-work/</guid>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
    </item>
<item>
      <title>Treat SFTP delivery as a handoff, not a file appearance</title>
      <description>Publish complete files, prove ownership and avoid reading a file while it is still changing.</description>
      <link>https://ruvuengine.com/blog/sftp-delivery-is-a-handoff/</link>
      <guid isPermaLink="true">https://ruvuengine.com/blog/sftp-delivery-is-a-handoff/</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
    </item>
<item>
      <title>Choose a database cursor that survives restarts</title>
      <description>Advance from durable source facts instead of relying on process memory or wall-clock time alone.</description>
      <link>https://ruvuengine.com/blog/choose-a-database-cursor-that-survives-restarts/</link>
      <guid isPermaLink="true">https://ruvuengine.com/blog/choose-a-database-cursor-that-survives-restarts/</guid>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
    </item>
<item>
      <title>Preserve order when events split across workers</title>
      <description>Partition related events deliberately so parallel work does not reorder one business story.</description>
      <link>https://ruvuengine.com/blog/preserve-order-across-workers/</link>
      <guid isPermaLink="true">https://ruvuengine.com/blog/preserve-order-across-workers/</guid>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
    </item>
<item>
      <title>Move one channel beside Mirth without a rewrite</title>
      <description>Choose a contained obligation, preserve the current engine and compare results from real work.</description>
      <link>https://ruvuengine.com/blog/move-one-channel-beside-mirth/</link>
      <guid isPermaLink="true">https://ruvuengine.com/blog/move-one-channel-beside-mirth/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>