ea791c9f30
The plan's one irreversible risk is the worst-case test itself. It deliberately lets the script fall through to the shared table, and the account in .env is a superuser, so running it before the sandbox role exists would delete every expired row in there. All eleven rows on that table predate any cutoff the tests use. That forces the order: factory, then the retention tests move onto an owner role, and only then does the case get written. Review caught that the original order also made the --table integration cases impossible to fail first, since the tool would already be implemented by the time they were written. Same fix resolves both. The worst-case case has no red-first path at all. Turning it red means running it as the superuser, which is the thing being prevented, so its evidence is the probe in the finding instead, and the plan says so rather than calling it verified. One acceptance criterion in the design turned out to be unrunnable: the hint line only prints on the Postgres branch, so no unit test that never connects can assert it. Corrected in place.