-- Rate-Limiting mit geteiltem, externem Zustand (API-03, siehe
-- core-kanban/tickets/API-03.md) — bewusst NICHT In-Process, damit mehrere
-- Dienstinstanzen dasselbe Limit korrekt durchsetzen.
CREATE TABLE rate_limit_configs (
    key            TEXT PRIMARY KEY,
    limit_value    INT NOT NULL,
    window_seconds INT NOT NULL
);

CREATE TABLE rate_limit_counters (
    key          TEXT NOT NULL,
    window_start TIMESTAMPTZ NOT NULL,
    count        INT NOT NULL DEFAULT 0,
    PRIMARY KEY (key, window_start)
);
