From d924895de08b713813c166b240b20e437b5aa708 Mon Sep 17 00:00:00 2001 From: Till JS Date: Sat, 25 Apr 2026 12:54:51 +0200 Subject: [PATCH] docs(unlisted-sharing): park M8.6-readiness check as 2026-05-09 plan-TODO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CronCreate scheduler ignored the durable flag so the original in-session reminder won't survive a Claude restart. Captures the exact `psql` query to run and the decision criteria (expired-not- cleaned > 0 → start M8.6; total = 0 → keep waiting) directly in the plan doc instead. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/plans/unlisted-sharing.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/plans/unlisted-sharing.md b/docs/plans/unlisted-sharing.md index bb2774c26..d04913af8 100644 --- a/docs/plans/unlisted-sharing.md +++ b/docs/plans/unlisted-sharing.md @@ -462,6 +462,22 @@ Emitted aus dem jeweiligen Store beim Publish/Revoke. Landet im `_events`-Log **Aufwand:** ~1h +> **TODO 2026-05-09 (zwei Wochen nach M8.5):** Check ob expired-but-not-cleaned-up Rows sich stapeln — das ist das Signal, dass M8.6 jetzt fällig ist. +> +> ```sh +> docker exec -i mana-postgres psql -U mana -d mana_platform -c \ +> "SELECT COUNT(*) AS total, +> COUNT(*) FILTER (WHERE expires_at IS NOT NULL +> AND expires_at < NOW() +> AND revoked_at IS NULL) AS expired_not_cleaned, +> COUNT(*) FILTER (WHERE revoked_at IS NULL) AS active +> FROM unlisted.snapshots;" +> ``` +> +> - `expired_not_cleaned > 0` → M8.6 starten. +> - `total = 0` → Feature wird noch nicht genutzt; warte länger. +> - Erstcheck war ursprünglich für 2026-05-09 als One-Shot-Cron geplant; durable-Flag wurde vom Scheduler ignoriert, daher hier als Plan-TODO geparkt. + ### Gesamtschätzung ~15h über 4–5 Tage, passt für iterative Reviews zwischen Milestones.