claude sync: 2026-06-23 19:07

This commit is contained in:
marcus hinz
2026-06-23 19:07:13 +02:00
parent 717a97f476
commit b791cd2b69
5 changed files with 25 additions and 1 deletions
+5
View File
@@ -25,6 +25,11 @@
- Vor verändernden Aktionen (Install, neue Dependencies, neue Dateien, Commit, Multi-File-Edit) erst kurz den Plan zeigen (was + warum), dann Go abwarten. Lese-/Suchaktionen laufen ohne Vorankündigung.
# PROD-Umgebungen
- Jede Interaktion mit einer PROD-Umgebung (Cluster, Pods, Deployments, Secrets) nur auf ausdrückliche Ansage. Ohne explizite Nennung von „PROD" bezieht sich jede Aktion auf DEV/den aktuellen Kontext.
- Das gilt auch für reine Lese-/Statusabfragen — die Lese-Ausnahme greift bei PROD nicht.
# Git
- KEIN Hinweis auf Claude in Commit-Messages: kein „Co-Authored-By: Claude", kein „Generated with Claude Code", keine Claude-Trailer oder -Erwähnungen. Gilt für alle Repos, auch in PR-Beschreibungen.
+1
View File
@@ -2,6 +2,7 @@
- [Feedback: Priorisierung entlang Test-Linie](feedback_priorisierung.md) — "was ermöglicht Kollegen früh zu testen" schlägt techn. Priorität
- [Feedback: Push macht der User](feedback_push_macht_user.md) — committen ok, git push macht Marcus selbst
- [Feedback: Keine nativen Alerts](feedback_no_native_alerts.md) — kein window.alert/confirm; ConfirmDialog bzw. errorList nutzen
- [Feedback: Klare Benennung](feedback_klare_benennung.md) — Komponenten konkret nennen (kein „BE"); einfache, kurze Sätze
- [Projekt: Login-Loop Ursache+Fix](project_login_loop_rootcause.md) — SW fing OIDC-Callback ab; injectManifest-SW + code-Denylist + cookie secure:'auto'
- [Feedback: Keine IP-Configs bei Netzfragen](feedback_no_ip_configs.md) — VPN-DNS + Proxy statt IP-Listen/Subnetz-Routen
- [Feedback: Dedizierte Skripte statt Ad-hoc](feedback_dedizierte_skripte.md) — geprüfte Skripte per allow, keine improvisierten Mutationen; Konzept vertagt
@@ -0,0 +1,14 @@
---
name: feedback_klare_benennung
description: Komponenten konkret benennen statt mehrdeutiger Abkürzungen; einfach formulieren
metadata:
node_type: memory
type: feedback
originSessionId: 8e135c09-283f-459e-870a-a4f4bb366969
---
Keine mehrdeutigen Abkürzungen wie „BE" verwenden — im Projekt gibt es mehrere Backend-/Deployment-Komponenten (NestJS-Pod `plato-customer-be`, gitops-Repo, Postgres-Pod), da ist „BE" wertlos. Komponente immer konkret beim Namen nennen.
**Warum:** Marcus verliert bei verschachtelten Sätzen + Abkürzungen den Faden und wird zu Recht ungehalten. „BE ist nicht hilfreich bei mehr als einer BE-Komponente."
**How to apply:** Konkrete Namen (`plato-customer-be`-Pod, OpenShift-Route, F5-LB, gitops-Repo) statt Kürzeln. Kurze, gerade Sätze; ein Gedanke pro Satz; keine eingeschobenen Nebenketten. Erklärung nur so lang wie die Frage verlangt. Verwandt: [[feedback_ort_zuerst]].
@@ -32,4 +32,4 @@ Reihenfolge der Blocker, die fielen: (1) Secrets gesealt+aktiviert; (2) Dockerfi
**Noch offen / nicht testbar:** ghcr-Pull-Berechtigung auf Prod (Pull via `default-dockercfg`, kein explizites `imagePullSecrets`) — scheitert aktuell am nicht-existenten Tag, nicht erkennbar an Auth. Zeigt sich erst mit echtem Tag. Außerdem: SAP-Secret fehlt für Prod komplett (dev hat `plato-sap-secrets.sealed.yaml`, prod nicht; `production/backend.yaml` referenziert SAP auch nicht).
Deploy-Mechanik siehe PDF `ressources/GitHub CICD to OpenShift.pdf`: Image nur auf `development` gebaut + wiederverwendet, Prod via PR-Kommentar `.deploy to production`, Prod-ArgoCD vermutlich `autoSync: false` manueller Sync. Dev-Cluster = ocp-dev01 läuft sauber (backend 0.38.1).
Deploy-Mechanik siehe PDF `ressources/GitHub CICD to OpenShift.pdf`: Image nur auf `development` gebaut + wiederverwendet. Prod-Promotion = **Merge PR `development → main` von Hand** (das ist der manuelle Schritt); ArgoCD synct danach automatisch los (Korrektur Marcus 2026-06-23: NICHT manueller Sync). Dev-Cluster = ocp-dev01 läuft sauber (backend 0.38.1).
+4
View File
@@ -38,6 +38,10 @@ curl -sv -u 'sy08804394:<pw>' \
**SAP-Rechte fehlen (2026-06-17):** Der technische User `sy08804394` hat KEINE Rechte auf dem Endpoint → echter Import läuft nicht. Technisch fährt aber alles hoch.
**Update 2026-06-23 — Rechte jetzt da, Call grün:** Aus dem DEV-Pod (`backend-...`, ns `1401-plato-development`) liefert derselbe User `sy08804394` **HTTP 200** mit gültigem OData-XML (`CustomerID='1205619',Salesorg='0001'`). Damit ist der Parser-Erwartungswert bestätigt: Antwort ist XML mit `d:`-Tags (`d:Salesorg`, `d:CustomerID`, `d:SalesrepNumber` …) → `sapXmlToCustomer` passt. Test-Rig im Pod: kein curl vorhanden → über `node` + undici `request` (NICHT globalen fetch — der kollidiert mit der node_modules-undici-Version: „invalid onRequestStart method") mit `ProxyAgent(HTTPS_PROXY)` und Basic-Auth-Header.
**PROD ebenfalls grün (2026-06-23):** Derselbe Test aus dem PROD-Pod (ns `1401-plato-production`) liefert auch HTTP 200 + identisches XML. SAP-URL + Creds sind in DEV- und PROD-Overlay identisch → beide Umgebungen erreichen SAP gleichermaßen.
**Mock vollständig aus Runtime/Prod entfernt (2026-06-17):**
- backend `development` commit `30591b8`: `apps/sap-mock/` (standalone), `sap-mock.controller.ts`, `sap-mock.module.ts` und das `app.module.ts`-Wiring gelöscht. Build grün.
- **Für Tests bewusst behalten:** `sap-mock.service.ts` + `sap-reverse-query.ts` (nutzt der E2E via `buildCustomerXml`), `sap-fixtures.e2e.spec.ts`, `data/fixtures/`, `scripts/build-*.mjs`. Werden vom App-Code nicht mehr importiert → fliegen aus dem Prod-Bundle.