Kundenansicht neu P10: Checkliste auf den echten Worktree, Push mit Zugang und Hochladen ohne Schlüssel
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1312745195
commit
34fa310f6c
1 file changed
+12
-12
@@ -3,16 +3,16 @@
|
|||||||
Anleitung für Inhaber und Controller, Reihenfolge laut Spec 5.10: Kundenart setzen, Fassung 6 hochgeladen, WOMS-Pflichtfeld live, dann `KUNDENANSICHT_NEU=on`. Bis zum Schalter bleibt für Kunden alles wie heute. Der Rückweg heißt `off` und gilt bis Abschnitt 8.
|
Anleitung für Inhaber und Controller, Reihenfolge laut Spec 5.10: Kundenart setzen, Fassung 6 hochgeladen, WOMS-Pflichtfeld live, dann `KUNDENANSICHT_NEU=on`. Bis zum Schalter bleibt für Kunden alles wie heute. Der Rückweg heißt `off` und gilt bis Abschnitt 8.
|
||||||
|
|
||||||
- **Stop: Inhaber-OK nötig** heißt: Ein Agent führt den Schritt nie von sich aus aus, er meldet dir, was bereitliegt. Pushen tust nur du, nur fast-forward, nie `--force`.
|
- **Stop: Inhaber-OK nötig** heißt: Ein Agent führt den Schritt nie von sich aus aus, er meldet dir, was bereitliegt. Pushen tust nur du, nur fast-forward, nie `--force`.
|
||||||
- Befehle mit `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht` laufen im Worktree, der Teil A trägt (anderer Worktree: Pfad ersetzen). Protokolle liegen in `/root/reports/kundenansicht-neu-2026-10-15/umschalten`.
|
- Befehle mit `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10` laufen im Worktree, der Teil A trägt (anderer Worktree: Pfad ersetzen). Protokolle liegen in `/root/reports/kundenansicht-neu-2026-10-15/umschalten`.
|
||||||
- Die `.env` wird nie ausgegeben: nur `command grep -a -n '^<SCHLÜSSEL>=' /home/webklar/apps/.env` und `sed -i` auf genau eine Zeile, vorher eine Sicherung. Neu gestartet wird nur mit `docker compose up -d --no-deps kundenbereich-server`, nie `preview-portal`.
|
- Die `.env` wird nie ausgegeben: nur `command grep -a -n '^<SCHLÜSSEL>=' /home/webklar/apps/.env` und `sed -i` auf genau eine Zeile, vorher eine Sicherung. Neu gestartet wird nur mit `docker compose up -d --no-deps kundenbereich-server`, nie `preview-portal`.
|
||||||
|
|
||||||
## 1. Voraussetzungen
|
## 1. Voraussetzungen
|
||||||
|
|
||||||
1. Du hast Vorschau, Pilot und Fassung 6 freigegeben und ausdrücklich „umschalten“ gesagt. Der Hauptzweig des Portals ist nach Phase E fertig (P0 bis P8 und die freigegebene Rechtsrunde), `WORTLAUT_STATUS` steht auf `'freigegeben'`; das WOMS-Paket P9 prüft Abschnitt 4.
|
1. Du hast Vorschau, Pilot und Fassung 6 freigegeben und ausdrücklich „umschalten“ gesagt. Der Hauptzweig des Portals ist nach Phase E fertig (P0 bis P8 und die freigegebene Rechtsrunde), `WORTLAUT_STATUS` steht auf `'freigegeben'`; das WOMS-Paket P9 prüft Abschnitt 4.
|
||||||
2. Teil A prüfen und taggen (erwartet: `fail 0`, Status leer): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && timeout 900 nice -n 10 node --max-old-space-size=1024 --test --test-concurrency=1 test/kundenartBestand.test.js test/knUmschaltSeiten.test.js test/knUmschaltNachpruefung.test.js test/kaufBestandPruefen.test.js test/knUmschaltCheckliste.test.js test/kundenansichtDashboard.test.js test/adminPanelGone.test.js test/legalDocs.test.js && git status --short && git tag kn-p10-a`
|
2. Teil A prüfen und taggen (erwartet: `fail 0`, Status leer): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && timeout 900 nice -n 10 node --max-old-space-size=1024 --test --test-concurrency=1 test/kundenartBestand.test.js test/knUmschaltSeiten.test.js test/knUmschaltNachpruefung.test.js test/kaufBestandPruefen.test.js test/knUmschaltCheckliste.test.js test/kundenansichtDashboard.test.js test/adminPanelGone.test.js test/legalDocs.test.js && git status --short && git tag kn-p10-a`
|
||||||
3. **Stop: Inhaber-OK nötig** (Push, Teil A ändert für Kunden nichts, solange der Schalter nicht `on` ist): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && git fetch origin && git log --oneline origin/main..kn-p10-a`, dann `git push origin 'kn-p10-a^{commit}:refs/heads/main'`.
|
3. **Stop: Inhaber-OK nötig** (Push, Teil A ändert für Kunden nichts, solange der Schalter nicht `on` ist): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && git fetch origin && git log --oneline origin/main..kn-p10-a`, dann `git push origin 'kn-p10-a^{commit}:refs/heads/main'`. Fragt git nach dem Passwort (HTTP 401), pushst du wie bisher mit `/root/reports/workers-2026-10-16/push-mit-zugang.sh`.
|
||||||
4. Deploy prüfen (beide Kurzformen gleich, sonst zwei Minuten warten; im Log kein `Unbehandelter Fehler`): `git -C /home/webklar/apps/kundenbereich.webklar.com/build rev-parse --short HEAD && git -C /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht rev-parse --short kn-p10-a && docker logs --since 5m webklar-kundenbereich-server 2>&1 | tail -5`
|
4. Deploy prüfen (beide Kurzformen gleich, sonst zwei Minuten warten; im Log kein `Unbehandelter Fehler`): `git -C /home/webklar/apps/kundenbereich.webklar.com/build rev-parse --short HEAD && git -C /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 rev-parse --short kn-p10-a && docker logs --since 5m webklar-kundenbereich-server 2>&1 | tail -5`
|
||||||
5. Ruhezustand (Exit 0, alle Zeilen `ok`): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=alt`
|
5. Ruhezustand (Exit 0, alle Zeilen `ok`): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=alt`
|
||||||
|
|
||||||
## 2. Kundenart der Bestandseinträge setzen
|
## 2. Kundenart der Bestandseinträge setzen
|
||||||
|
|
||||||
@@ -24,8 +24,8 @@ Anleitung für Inhaber und Controller, Reihenfolge laut Spec 5.10: Kundenart set
|
|||||||
|
|
||||||
## 3. Fassung 6 hochgeladen
|
## 3. Fassung 6 hochgeladen
|
||||||
|
|
||||||
1. Schlüssel, Bucket und Karten lesen (nur lesend, Schlüssel `/root/.appwrite-rechtliches.key` stellst du bereit; jede fehlende Karte ist ein Stopp): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && node scripts/rechtliches-hochladen.mjs --probe`
|
1. Schlüssel, Bucket und Karten lesen (nur lesend, Schlüssel `/root/.appwrite-rechtliches.key` stellst du bereit; jede fehlende Karte ist ein Stopp): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && node scripts/rechtliches-hochladen.mjs --probe`. Gibt es den Schlüssel nicht, lädt der Controller die Fassung über die WOMS-Oberfläche in Chrome hoch (wie am 17.10.) und Schritt 2 entfällt; Schritt 3 gilt dann allein
|
||||||
2. Aktuelle Version prüfen (nur lesend): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && node scripts/rechtliches-hochladen.mjs --pruefen | command grep -a abo-bedingungen`. Erwartet `ok abo-bedingungen`, also eine aktuelle Version, deren `source` auf `:public/neu/rechtliches/abo-bedingungen.html` endet. Die übrigen Zeilen betreffen die Funktionsunterlagen.
|
2. Aktuelle Version prüfen (nur lesend): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && node scripts/rechtliches-hochladen.mjs --pruefen | command grep -a abo-bedingungen`. Erwartet `ok abo-bedingungen`, also eine aktuelle Version, deren `source` auf `:public/neu/rechtliches/abo-bedingungen.html` endet. Die übrigen Zeilen betreffen die Funktionsunterlagen.
|
||||||
3. Du bestätigst in WOMS unter „Rechtliches“, dass die Karte `abo-bedingungen` die Fassung 6 trägt („Version 6 · Stand 28.10.2026“). Die WOMS-Nummer `vN` zählt Uploads und ist nicht die Fassung.
|
3. Du bestätigst in WOMS unter „Rechtliches“, dass die Karte `abo-bedingungen` die Fassung 6 trägt („Version 6 · Stand 28.10.2026“). Die WOMS-Nummer `vN` zählt Uploads und ist nicht die Fassung.
|
||||||
4. Fehlt sie, stoppt der Controller. **Stop: Inhaber-OK nötig:** Hochladen (Aufruf im Kopf von `scripts/rechtliches-hochladen.mjs`) nur auf deinen ausdrücklichen Auftrag.
|
4. Fehlt sie, stoppt der Controller. **Stop: Inhaber-OK nötig:** Hochladen (Aufruf im Kopf von `scripts/rechtliches-hochladen.mjs`) nur auf deinen ausdrücklichen Auftrag.
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ Anleitung für Inhaber und Controller, Reihenfolge laut Spec 5.10: Kundenart set
|
|||||||
|
|
||||||
## 6. Nachprüfung
|
## 6. Nachprüfung
|
||||||
|
|
||||||
1. Seiten (Exit 0, alle Zeilen `ok`, einschließlich `/abo-bedingungen.html` mit `Version 6` und des PDFs): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=neu`
|
1. Seiten (Exit 0, alle Zeilen `ok`, einschließlich `/abo-bedingungen.html` mit `Version 6` und des PDFs): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=neu`
|
||||||
2. Routen (erwartet JSON mit `"authenticated":false`): `curl -s https://project.webklar.com/api/auth/me`
|
2. Routen (erwartet JSON mit `"authenticated":false`): `curl -s https://project.webklar.com/api/auth/me`
|
||||||
3. Login und Oberfläche, du mit zwei Konten (Betrieb und Pilot-Konto) auf Handy und Desktop: (a) `/login.html` ist weiß, die Anmeldung führt auf Website; (b) `#chat`, `#rechnungen`, `#wartung` und `#termine?bestellt=1&projekt=<id>` landen am richtigen Ort mit erhaltener Query; (c) „Verträge kündigen“ und „Vertrag widerrufen“ liegen höchstens zwei Taps entfernt, beide Seiten öffnen weiß; (d) Funktionen zeigt „Meine/Entdecken“ ohne Preise, „Einschalten“ eines Betriebs hat kein Häkchen; (e) die Kundenansicht der Mitarbeiter (WOMS) zeigt die neue Oberfläche und sperrt Schreibaktionen.
|
3. Login und Oberfläche, du mit zwei Konten (Betrieb und Pilot-Konto) auf Handy und Desktop: (a) `/login.html` ist weiß, die Anmeldung führt auf Website; (b) `#chat`, `#rechnungen`, `#wartung` und `#termine?bestellt=1&projekt=<id>` landen am richtigen Ort mit erhaltener Query; (c) „Verträge kündigen“ und „Vertrag widerrufen“ liegen höchstens zwei Taps entfernt, beide Seiten öffnen weiß; (d) Funktionen zeigt „Meine/Entdecken“ ohne Preise, „Einschalten“ eines Betriebs hat kein Häkchen; (e) die Kundenansicht der Mitarbeiter (WOMS) zeigt die neue Oberfläche und sperrt Schreibaktionen.
|
||||||
4. Mails, optional: Probekauf mit dem Testkonto aus `ABO_TEST_EMAILS` (0,50 €). Erwartet: K01 an den Kunden und T02 ans Team kommen an, der Anhang `WEBklar-Abo-Vertragsunterlagen.pdf` ist Fassung 6, in `featureConsents` steht eine Zeile mit `featureKey` `abo` und der Kundenart. **Stop: Inhaber-OK nötig** für Kauf und Stornieren.
|
4. Mails, optional: Probekauf mit dem Testkonto aus `ABO_TEST_EMAILS` (0,50 €). Erwartet: K01 an den Kunden und T02 ans Team kommen an, der Anhang `WEBklar-Abo-Vertragsunterlagen.pdf` ist Fassung 6, in `featureConsents` steht eine Zeile mit `featureKey` `abo` und der Kundenart. **Stop: Inhaber-OK nötig** für Kauf und Stornieren.
|
||||||
@@ -60,17 +60,17 @@ Anleitung für Inhaber und Controller, Reihenfolge laut Spec 5.10: Kundenart set
|
|||||||
|
|
||||||
1. Nur bei Fehler, und vorher informiert der Controller dich kurz.
|
1. Nur bei Fehler, und vorher informiert der Controller dich kurz.
|
||||||
2. `.env` zurück auf `off` und neu starten: `sed -i 's/^KUNDENANSICHT_NEU=.*/KUNDENANSICHT_NEU=off/' /home/webklar/apps/.env && cd /home/webklar/apps && docker compose up -d --no-deps kundenbereich-server`
|
2. `.env` zurück auf `off` und neu starten: `sed -i 's/^KUNDENANSICHT_NEU=.*/KUNDENANSICHT_NEU=off/' /home/webklar/apps/.env && cd /home/webklar/apps && docker compose up -d --no-deps kundenbereich-server`
|
||||||
3. Dann aus dem Worktree (erwartet Exit 0): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=alt`
|
3. Dann aus dem Worktree (erwartet Exit 0): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=alt`
|
||||||
4. Verträge, die unter Fassung 6 abgeschlossen wurden, bleiben gültig: Fassungstabelle und Archiv bleiben stehen.
|
4. Verträge, die unter Fassung 6 abgeschlossen wurden, bleiben gültig: Fassungstabelle und Archiv bleiben stehen.
|
||||||
5. Der Schalter ist der Rückweg nur bis zum Festschreiben (Abschnitt 8).
|
5. Der Schalter ist der Rückweg nur bis zum Festschreiben (Abschnitt 8).
|
||||||
|
|
||||||
## 8. Danach: festschreiben und aufräumen
|
## 8. Danach: festschreiben und aufräumen
|
||||||
|
|
||||||
1. Offline-Seite (Tag `kn-p10-b`, Cache `kb-offline-v2`): erst nach dem Umschalten, sonst speichert der Service Worker die alte dunkle Seite erneut. **Stop: Inhaber-OK nötig:** `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && git push origin 'kn-p10-b^{commit}:refs/heads/main'`, danach `curl -s https://project.webklar.com/sw.js | command grep -a -c kb-offline-v2` (erwartet `1`).
|
1. Offline-Seite (Tag `kn-p10-b`, Cache `kb-offline-v2`): erst nach dem Umschalten, sonst speichert der Service Worker die alte dunkle Seite erneut. **Stop: Inhaber-OK nötig:** `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && git push origin 'kn-p10-b^{commit}:refs/heads/main'`, danach `curl -s https://project.webklar.com/sw.js | command grep -a -c kb-offline-v2` (erwartet `1`).
|
||||||
2. Beobachtungszeit aus Abschnitt 6 abwarten, dann sagst du „festschreiben“.
|
2. Beobachtungszeit aus Abschnitt 6 abwarten, dann sagst du „festschreiben“.
|
||||||
3. **Ab dem Festschreiben (Teil C, Tasks 14 bis 25 des Plans) gibt es kein Rückweg per Schalter:** `off` würde die alten Bestellseiten (Wortlaut Fassung 5) mit Fassung 6 als einziger geltender Fassung kombinieren. Fehler werden vorwärts korrigiert.
|
3. **Ab dem Festschreiben (Teil C, Tasks 14 bis 25 des Plans) gibt es kein Rückweg per Schalter:** `off` würde die alten Bestellseiten (Wortlaut Fassung 5) mit Fassung 6 als einziger geltender Fassung kombinieren. Fehler werden vorwärts korrigiert.
|
||||||
4. Vorher die Hashes prüfen; bei Abweichung stoppt der Agent: `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && sha256sum public/WEBklar-Abo-Vertragsunterlagen.pdf public/vertragsunterlagen/v5/WEBklar-Abo-Vertragsunterlagen.pdf public/neu/rechtliches/abo-bedingungen.html public/neu/rechtliches/WEBklar-Abo-Vertragsunterlagen.pdf && cat public/neu/rechtliches/WEBklar-Abo-Vertragsunterlagen.pdf.sha256 && command grep -a -c 'href="/neu/rechtliches/WEBklar-Abo-Vertragsunterlagen.pdf"' public/neu/rechtliches/abo-bedingungen.html && git status --short`. Erwartet: Zeile 1 gleich Zeile 2, Prüfsumme neben dem PDF gleich Zeile 3, Zahl der Entwurfslinks `1`, Status leer.
|
4. Vorher die Hashes prüfen; bei Abweichung stoppt der Agent: `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && sha256sum public/WEBklar-Abo-Vertragsunterlagen.pdf public/vertragsunterlagen/v5/WEBklar-Abo-Vertragsunterlagen.pdf public/neu/rechtliches/abo-bedingungen.html public/neu/rechtliches/WEBklar-Abo-Vertragsunterlagen.pdf && cat public/neu/rechtliches/WEBklar-Abo-Vertragsunterlagen.pdf.sha256 && command grep -a -c 'href="/neu/rechtliches/WEBklar-Abo-Vertragsunterlagen.pdf"' public/neu/rechtliches/abo-bedingungen.html && git status --short`. Erwartet: Zeile 1 gleich Zeile 2, Prüfsumme neben dem PDF gleich Zeile 3, Zahl der Entwurfslinks `1`, Status leer.
|
||||||
5. Festschreiben (Plan, Task 14): Seite und PDF wandern nach `public/`, `termsVersion` und `termsVersionNeu` werden eins, alle Pins laufen grün, Commit und Tag `kn-p10-c1`. Die Rechtstexte ändern sich dabei nie; schlägt eine Wortlaut-Assertion fehl, stoppt der Agent und meldet sie dir.
|
5. Festschreiben (Plan, Task 14): Seite und PDF wandern nach `public/`, `termsVersion` und `termsVersionNeu` werden eins, alle Pins laufen grün, Commit und Tag `kn-p10-c1`. Die Rechtstexte ändern sich dabei nie; schlägt eine Wortlaut-Assertion fehl, stoppt der Agent und meldet sie dir.
|
||||||
6. **Stop: Inhaber-OK nötig** (Push): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && git push origin 'kn-p10-c1^{commit}:refs/heads/main'`. Prüfen (gleiche Kurzformen, Exit 0, `200`): `git -C /home/webklar/apps/kundenbereich.webklar.com/build rev-parse --short HEAD && cd /home/webklar/apps/kundenbereich.webklar.com/dev-kundenansicht && git rev-parse --short kn-p10-c1 && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=neu && curl -s -o /dev/null -w '%{http_code}\n' https://project.webklar.com/vertragsunterlagen/v5/abo-bedingungen.html`
|
6. **Stop: Inhaber-OK nötig** (Push): `cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && git push origin 'kn-p10-c1^{commit}:refs/heads/main'`. Prüfen (gleiche Kurzformen, Exit 0, `200`): `git -C /home/webklar/apps/kundenbereich.webklar.com/build rev-parse --short HEAD && cd /home/webklar/apps/kundenbereich.webklar.com/dev-kn-p10 && git rev-parse --short kn-p10-c1 && node scripts/umschalten-nachpruefung.mjs https://project.webklar.com --erwartet=neu && curl -s -o /dev/null -w '%{http_code}\n' https://project.webklar.com/vertragsunterlagen/v5/abo-bedingungen.html`
|
||||||
7. Weiterleitung (erwartet `301 https://project.webklar.com/abo-bedingungen.html`): `curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' https://project.webklar.com/neu/rechtliches/abo-bedingungen.html`. Altvertrag: Ein Kunde mit Fassung 5 öffnet Verträge, Abo, „Bedingungen“ und bekommt das Archiv v5, nicht Fassung 6. Logs wie in Abschnitt 6, Schritt 5.
|
7. Weiterleitung (erwartet `301 https://project.webklar.com/abo-bedingungen.html`): `curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' https://project.webklar.com/neu/rechtliches/abo-bedingungen.html`. Altvertrag: Ein Kunde mit Fassung 5 öffnet Verträge, Abo, „Bedingungen“ und bekommt das Archiv v5, nicht Fassung 6. Logs wie in Abschnitt 6, Schritt 5.
|
||||||
8. Danach folgen im Plan das Lösen des Logins von `app.js` und das Löschen der alten Oberfläche (Tasks 16 bis 25), jeweils mit eigenem Tag und eigenem OK von dir.
|
8. Danach folgen im Plan das Lösen des Logins von `app.js` und das Löschen der alten Oberfläche (Tasks 16 bis 25), jeweils mit eigenem Tag und eigenem OK von dir.
|
||||||
Reference in new issue
Block a user