-- +goose Up -- Stage 10 admin & dictionary ops: the word-check complaint resolution lifecycle. -- Stage 3 created complaints with a free-form status (only ever 'open'); the admin -- review queue (this stage) resolves them with a disposition that also feeds the -- offline dictionary-rebuild pipeline: an accepted complaint records whether the -- word should be added or removed, and is marked applied once a rebuilt dictionary -- version is hot-reloaded. No operator identity is recorded (the gateway gates the -- console behind Basic-Auth; the backend keeps no admin principal). Adds columns, so -- the generated jet code is regenerated (cmd/jetgen). SET search_path = backend, pg_catalog; ALTER TABLE complaints ADD COLUMN disposition text NOT NULL DEFAULT '', ADD COLUMN resolution_note text NOT NULL DEFAULT '', ADD COLUMN resolved_at timestamptz, ADD COLUMN applied_in_version text NOT NULL DEFAULT '', ADD CONSTRAINT complaints_status_chk CHECK (status IN ('open', 'resolved')), ADD CONSTRAINT complaints_disposition_chk CHECK (disposition IN ('', 'reject', 'accept_add', 'accept_remove')); -- +goose Down SET search_path = backend, pg_catalog; ALTER TABLE complaints DROP CONSTRAINT complaints_disposition_chk, DROP CONSTRAINT complaints_status_chk, DROP COLUMN applied_in_version, DROP COLUMN resolved_at, DROP COLUMN resolution_note, DROP COLUMN disposition;