CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
Neues Paket internal/finalmigrationapproval dokumentiert eine einzige finale Freigabe-Entscheidung fuer die gesamte tenant_migration_map + user_migration_map (Zeitstempel, freigebende Person), getrennt von den Pro-Eintrag-Freigaben aus MAP-02/MAP-04. Ein Guard (FinalGuard) in tenantapproval/usermigrationapproval sperrt Approve/Reject, solange eine finale Freigabe aktiv ist, bis sie widerrufen wird (erneuter Freigabeprozess). Zusaetzlich: Stichprobe (SampleCheck), die den aktuellen Map-Stand gegen den zuletzt dokumentierten CUT-02-Generalprobe- Lauf vergleicht und Abweichungen meldet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
18 lines
716 B
SQL
18 lines
716 B
SQL
-- CUT-03: finale Gesamt-Freigabe fuer tenant_migration_map + user_migration_map.
|
|
-- Ein nicht-widerrufener Datensatz sperrt weitere Approve/Reject-Entscheidungen
|
|
-- in tenantapproval/usermigrationapproval (Guard, siehe dort).
|
|
CREATE TABLE final_migration_approval (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
approved_by TEXT NOT NULL,
|
|
approved_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
note TEXT,
|
|
revoked_by TEXT,
|
|
revoked_at TIMESTAMPTZ,
|
|
CONSTRAINT final_migration_approval_revoked_consistent
|
|
CHECK ((revoked_by IS NULL) = (revoked_at IS NULL))
|
|
);
|
|
|
|
CREATE UNIQUE INDEX final_migration_approval_one_active_idx
|
|
ON final_migration_approval ((true))
|
|
WHERE revoked_at IS NULL;
|