<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Retention on Brian Faust</title><link>https://wimdy.works/tags/retention/</link><description>Recent content in Retention on Brian Faust</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://wimdy.works/tags/retention/rss.xml" rel="self" type="application/rss+xml"/><item><title>Soft Deletes Preserve Ambiguity Too</title><link>https://wimdy.works/thoughts/soft-deletes-preserve-ambiguity-too/</link><pubDate>Tue, 01 Aug 2017 00:00:00 +0000</pubDate><guid>https://wimdy.works/thoughts/soft-deletes-preserve-ambiguity-too/</guid><description>&lt;p&gt;Adding &lt;code&gt;deleted_at&lt;/code&gt; to a table answers one question: when was this row marked as
deleted? It does not answer whether the row was safe to mark, who should still
see it, whether its credentials remain valid, whether it still occupies a
unique business slot, how it can be restored, or when its data should be
erased.&lt;/p&gt;
&lt;p&gt;A cart cleanup could not safely reduce those questions to one nullable
timestamp. Old carts might still have a shipment, a payment session, a booking
attempt, or item work which had crossed a meaningful boundary. The eventual
policy archives a deliberately narrow set and preserves the aggregate as
evidence. Soft deletion preserves rows, but it also preserves every ambiguity
which the lifecycle never defined.&lt;/p&gt;</description></item></channel></rss>