<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Antifailure</title>
    <link>https://antifailure.dev/blog</link>
    <description>A disposable copy of your production stack for every pull request: masked Postgres, contained third-party APIs, and agents that use your app like people.</description>
    <language>en</language>
    <atom:link href="https://antifailure.dev/blog/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Sat, 26 Sep 2026 00:00:00 GMT</lastBuildDate>
    <docs>https://www.rssboard.org/rss-specification</docs>
    <item>
      <title>Why migration timing changes with your data</title>
      <link>https://antifailure.dev/blog/what-staging-misses-about-migrations</link>
      <guid isPermaLink="true">https://antifailure.dev/blog/what-staging-misses-about-migrations</guid>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
      <description>A migration can pass on staging and still hold a long lock in production. Rehearse it at realistic row counts before you deploy.</description>
      <category>Postgres</category>
      <category>Migrations</category>
      <category>Testing</category>
    </item>
    <item>
      <title>Check the data after masking it</title>
      <link>https://antifailure.dev/blog/proving-the-masking-worked</link>
      <guid isPermaLink="true">https://antifailure.dev/blog/proving-the-masking-worked</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <description>Masking rules can miss new columns and copied personal details. A read-back scan checks the result before a test environment uses it.</description>
      <category>Postgres</category>
      <category>Data masking</category>
      <category>Privacy</category>
    </item>
    <item>
      <title>Choose how external services behave in a test</title>
      <link>https://antifailure.dev/blog/five-answers-to-an-outbound-call</link>
      <guid isPermaLink="true">https://antifailure.dev/blog/five-answers-to-an-outbound-call</guid>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <description>Mock payments, capture messages, or use a sandbox. A policy for each host lets your application run complete flows inside a controlled environment.</description>
      <category>Testing</category>
      <category>Networking</category>
      <category>Third-party APIs</category>
    </item>
  </channel>
</rss>
