docs(quick-260914-eym): Etappe 3c abgeschlossen — Kritikschrift, Klassifikation, Auftrag, Datenbankrolle, WINDOWS #21/#30 geschlossen, Single-Flight-Riegel als Eintrag
- Kritikschrift: neuer Abschnitt "## Systemkontext (Etappe 3c, 260914-eym)" mit (y1) woertlicher Werkzeugausgabe und pg_policies der lebenden DB, (y2) Signaltabelle beider Fehlerrichtungen samt Rueckbau-Belegen (a)-(d), (y3) Leere-als-Abwesenheit je Pfad (kein Pfad loescht), (y4) bewusst nicht geloest, (y5) bewusst nicht angefasst; Nachtraege in (d4), (s4), (b4) und im Abschluss - Klassifikation: Uebersichtstabelle mit dritter Spalte System, Werte nachgerechnet (61/179/5), Stand-Absatz 260914-eym (72 Paare, Klassen unveraendert, sieben Staende geaendert), sechs Regelschluesse im Hintergrunddienst-Abschnitt, admin-seed-Zeile mit 3c-Befund, 3c-Punkt unter "NICHT entscheidet" erledigt - Auftrag: 3c als Erledigt vermerkt (3d64567/6e2a641), zwei neue Fallen unter "Werkzeuge und Fallen" - Datenbankrolle: dritte Sitzungsvariable, Nachtrag zum Systemkontext und zur weiterhin gueltigen Vorher-Pruefung ohne-kontext-leer - Ledger (ueber gsd-tools windows): #21 fixed, #30 fixed, #37 neu (prozessweiter Single-Flight-Riegel processInbox) — open 15 / waived 1 / fixed 21 / total 37, aus den Zeilen gezaehlt Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018N9CD3ebPKm1b32bPpBknY
This commit is contained in:
@@ -142,6 +142,31 @@ Bauform:
|
||||
|
||||
### 3c zuletzt: Systemkontext fuer die Hintergrunddienste
|
||||
|
||||
**Erledigt (260914-eym, 3d64567/6e2a641 plus der Dokumentationscommit dieser
|
||||
Aufgabe):** Migration `20260914120000_rls_system_context_read` bringt
|
||||
`is_system_context()` (COALESCE, STABLE) und je eine zusaetzliche, NUR
|
||||
lesende Regel `system_read_policy ... FOR SELECT` auf FUENF Tabellen —
|
||||
DkvModuleConfig, LdapConfig, LdapFieldMapping, TenderMatch, TenderSavedSearch
|
||||
(nicht sechs: SmtpConfig traegt keine, weil der Mail-Startpfad ENTFERNT und
|
||||
nicht umgestellt wurde). Helfer `forSystem(prisma)` als Schwesterhelfer von
|
||||
`forTenant()` (setzt `app.system_context = 'true'` und die beiden anderen
|
||||
Variablen ausdruecklich leer; `forTenant()`/`withTenantTransaction()` setzen
|
||||
umgekehrt `app.system_context = ''`). Die sechs Faelle: DKV-Planer je
|
||||
Mandant (Auftrag `dkv-inbox-poll:<tenantId>`, WINDOWS #21 geschlossen);
|
||||
Mail-Transport je Versand nach Mandant des Empfaengers, Startpfad und
|
||||
Mailer-Fabrik geloescht (WINDOWS #30 geschlossen); ldap mit ZWEI
|
||||
Systemkontext-Lesern (`getAllActiveConfigs`, Nachverschluesselung — die
|
||||
Schreibzeile je Altzeile gebunden); digest und matching ueber den
|
||||
Systemkontext, Schleifen gebunden; admin-seed nur dokumentiert (liest
|
||||
ausserhalb der Schleife nur `Tenant`, keine Regel, Datei unveraendert).
|
||||
Detektor mit fuenfter Erkennungsform und Erlaubnisliste (4 Dateien, 5
|
||||
Aufrufe, exakt). Endzahlen: Tests 1054/64 Dateien, Typpruefung sauber,
|
||||
Werkzeug `rls-scratch-check.mjs` 253/253 bestanden (Baseline vor diesem
|
||||
Lauf: 203). Siehe `docs/mandantentrennung-etappe2-fehlerrichtung.md`,
|
||||
Abschnitt "## Systemkontext (Etappe 3c, 260914-eym)" mit (y1)-(y5). Der
|
||||
urspruengliche Auftragstext unten bleibt unveraendert stehen (historische
|
||||
Planungsgrundlage).
|
||||
|
||||
Sechs Faelle, alle im Abschnitt "Der Hintergrunddienst als Falle" der
|
||||
Klassifikation und in den Bereichs-Kritiken:
|
||||
- `dkv-scheduler` / `loadAnyActiveConfigForScheduler()` (WINDOWS #21) —
|
||||
@@ -188,6 +213,13 @@ Funktionsausbau in Etappe 3.
|
||||
- Kein `mailhog` lokal — `ENOTFOUND mailhog` ist Umgebung, kein Defekt.
|
||||
- Backticks in Heredoc-Python werden von der Shell ausgewertet — Skripte
|
||||
in eine Datei schreiben, dann ausfuehren.
|
||||
- Eine Mock-Fabrik ohne den neuen Export wirft erst beim ZUGRIFF
|
||||
(vitest-Proxy) — jede Spec, deren Pruefling `forSystem` importiert,
|
||||
braucht den Export im Mock (260914-eym: sechs Spec-Dateien).
|
||||
- Ein Gate mit `grep -rh ... | grep -v spec` filtert KEINE Spec-Dateien
|
||||
(`-h` laesst den Dateinamen weg, `spec` steht nicht im Zeilentext) —
|
||||
Proben in einer Spec zaehlen mit; Empfaengernamen in Proben deshalb
|
||||
anders waehlen als im Produktivcode (260914-eym, `sysPrisma`).
|
||||
|
||||
## Einstieg
|
||||
|
||||
|
||||
Reference in New Issue
Block a user