-- BAK-08: Zustand des Integritaets-Scrub-Jobs. Getrennt von file_revisions -- (DMS-Eigentum, nur lesend zugegriffen) und getrennt von BAK-05s -- reconcile-Paket (existenz-only, keine Inhaltspruefung) — eigener, -- Archive-eigener Zustand ueber ZULETZT geprueften Zeitpunkt je Objekt, -- damit Sampling rotiert statt dieselben "aeltesten" Objekte auf ewig -- erneut zu ziehen. CREATE TABLE IF NOT EXISTS scrub_state ( storage_key TEXT PRIMARY KEY, last_scrubbed_at TIMESTAMPTZ NOT NULL, last_result TEXT NOT NULL CHECK (last_result IN ('ok', 'failed')) ); -- Einzelne Zeile, monoton steigender Zaehler fuer den OPS-05/OPS-03- -- Metrik-Export (Counter, nie ruecksetzbar — ein behobener Befund darf den -- Zaehler nicht wieder senken, sonst waere es kein gueltiger Prometheus- -- Counter mehr). CREATE TABLE IF NOT EXISTS scrub_counters ( id INTEGER PRIMARY KEY DEFAULT 1 CHECK (id = 1), findings_total BIGINT NOT NULL DEFAULT 0 ); INSERT INTO scrub_counters (id, findings_total) VALUES (1, 0) ON CONFLICT (id) DO NOTHING;