2a820b630c
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018N9CD3ebPKm1b32bPpBknY
88 lines
4.7 KiB
Markdown
88 lines
4.7 KiB
Markdown
---
|
|
context: default
|
|
phase: betrieb-nach-live-gehen
|
|
task: null
|
|
total_tasks: 0
|
|
status: paused
|
|
last_updated: 2026-09-16T10:28:05.211Z
|
|
---
|
|
|
|
# Wiedereinstieg — v1.1.0 ist live, nichts angefangen
|
|
|
|
## Critical Anti-Patterns
|
|
|
|
Alle aus tatsaechlichen Fehlschlaegen dieser und der vorigen Sitzungen.
|
|
|
|
| Muster | Beschreibung | Schwere | Vermeidung |
|
|
|--------|--------------|---------|------------|
|
|
| Zaehlung ohne Ansehen | Der Planer zaehlte fuenf Tastenreihen im Rechner, es sind sechs — die Mindesthoehe schnitt die unterste Reihe ab. Erst der Browser-Blick fand es. | blocking | Zahlen, die eine Groesse tragen, im Browser messen (Bounding-Box, scrollHeight), nicht aus dem Quelltext ableiten. |
|
|
| Gespeicherte Werte vergessen | Konstanten zu aendern haette fuer den User NICHTS bewirkt — react-grid-layout nimmt gespeicherte Layout-Eintraege woertlich (inkl. minW/minH). | blocking | Bei jeder Aenderung an Vorgaben pruefen, ob persistierte Daten dieselben Werte tragen; dann beim Laden ueberschreiben/anheben. |
|
|
| `git checkout -- <Datei>` als Falsifizierungs-Rueckweg | setzte auch die noch unkommittierte Nutz-Aenderung zurueck. | advisory | Vor Rueckbau-Proben committen, oder Patchdatei + `git apply -R`. |
|
|
| Zwei Schreiber auf einer Datei | Uebersetzungs-Fix musste warten, weil der laufende Executor de.json/en.json anfasste. | advisory | Quick-Tasks mit ueberlappenden Dateien nacheinander ausfuehren. |
|
|
| Platte voll durch Bau-Cache | vier Docker-Bauten + CI: `no space left on device`. | advisory | `docker builder prune -af` und `docker image prune -f` bei Bedarf; Volumes nie anfassen. |
|
|
| Bericht statt Arbeitsbaum | (aus Etappe 2) Agenten brachen nach getaner Arbeit ab. | blocking | `git status` ist die Wahrheit. |
|
|
|
|
<current_state>
|
|
**Gemessen 2026-09-16 10:28Z:** `git status --porcelain` leer, `main == origin/main`
|
|
(29fe3d7), keine async-jobs, keine angefangene Arbeit.
|
|
|
|
**Live:** tessera.ctl.de laeuft `v1.1.0` (User hat gepullt, "sieht gut aus").
|
|
**Beta:** alpha.tessera.ctl.de holt `beta`/`latest` — derselbe Stand e0d4532.
|
|
**Registry:** beta/latest/live/v1.0.0/v1.1.0. **Gitea-Releases:** 1.0.0 und 1.1.0
|
|
(letzterer von der Pipeline angelegt — erster CI-Beweis des Release-Wegs).
|
|
**Schalter:** AUS und bleibt es. **Mandantenfaehigkeit:** RUHT (User 2026-09-14).
|
|
**Tests:** Web 49/309, API 67/1078, Werkzeug 253/253. **Ledger:** 15 offen / 1
|
|
zurueckgestellt / 23 geschlossen / 39.
|
|
</current_state>
|
|
|
|
<completed_work>
|
|
Seit 2026-09-14: WINDOWS #29, Etappe 3c, Kanalmodell + Versionsstempel,
|
|
Fehler-melden-Knopf, Erstfreigabe v1.0.0 (live 15.09.), Dashboard-Umbau +
|
|
Nachbesserung, Aenderungsliste (CHANGELOG.md, Seite "Was ist neu",
|
|
Gitea-Release je Tag), Uebersetzungs-Fix, Freigabe v1.1.0. Alle als Quick-Tasks
|
|
mit voller Kette; Details in der Quick-Task-Tabelle in `.planning/STATE.md`.
|
|
</completed_work>
|
|
|
|
<remaining_work>
|
|
Nichts Angefangenes. Naechste Arbeit kommt vom User (Feedback aus dem Betrieb).
|
|
Ohne Termin: Desktop-Client-Todo, Ship Phase 17 (blockiert bei open_count 15),
|
|
Ledger #35/#36/#37. Nicht ansprechen: Mandantenfaehigkeit, Lizenzierung.
|
|
</remaining_work>
|
|
|
|
<decisions_made>
|
|
Siehe `HANDOFF.json` — Kanalmodell, Versionsnummern-Regel (Funktionen -> mittlere
|
|
Stelle, Fixes -> dritte), Mandantenfaehigkeit ruht, Lizenzmodell nur festgehalten,
|
|
Dashboard-Entscheidungen (inhaltsgetriebene Minima, Ueberschreiben gespeicherter
|
|
Minima, ganze Kachel Griff, preventCollision).
|
|
</decisions_made>
|
|
|
|
<blockers>
|
|
Keine. Eine nicht-blockierende Handreichung fuer den User: auf alpha einmalig
|
|
`IMAGE_TAG=beta` und die zwei `image:`-Zeilen (Kap. 9) — bis dahin laeuft alpha
|
|
ueber `latest`, das dasselbe Abbild ist.
|
|
</blockers>
|
|
|
|
## Required Reading (in order)
|
|
|
|
1. `.planning/STATE.md` — Session Continuity + Quick-Task-Tabelle
|
|
2. `CHANGELOG.md` — Regel: jede Aenderung sofort unter `## Unveröffentlicht`
|
|
3. `docs/anleitung-betrieb.md` Kapitel 9 — Freigabe/Hotfix-Rezept
|
|
4. `.planning/WINDOWS.md` — 15 offen, davon nur #35/#36/#37 ohne Mandantenbezug
|
|
|
|
## Infrastructure State
|
|
|
|
- Live-Server tessera.ctl.de (`IMAGE_TAG=live`, eigene DB); alpha 192.168.13.12
|
|
(Beta); Deploy macht der User (pull + `up -d --force-recreate api web`).
|
|
- Lokal: `db`, `api`, `web`, `mailhog` laufen (web aus c3d8e16); Admin
|
|
admin/admin123; DB ohne Host-Port (IP per `docker inspect`, tessera:tessera_dev);
|
|
Prisma-Binary aus `apps/api/node_modules/.bin/prisma`.
|
|
- Gitea 1.26.2 + Runner auf diesem Rechner; Runner arbeitet EINEN Auftrag
|
|
gleichzeitig; CI ueber API localhost:3002 beobachtbar (Token aus Push-URL, nie
|
|
ausgeben). `grep` ist hier ugrep (`$` als Anker).
|
|
|
|
<next_action>
|
|
`/gsd-resume-work`, dann das, was der User nennt — als `/gsd-quick --validate`
|
|
mit voller Kette; Browser-Nachweis per Playwright MCP gegen lokale Container;
|
|
CHANGELOG pflegen; bei "Version freigeben" das Rezept aus Kap. 9.
|
|
</next_action>
|