Compare commits
2 Commits
891f3489bd
...
87b29b5912
| Author | SHA1 | Date | |
|---|---|---|---|
| 87b29b5912 | |||
| 73420fe245 |
@@ -45,3 +45,4 @@ app.*.map.json
|
|||||||
/android/app/release
|
/android/app/release
|
||||||
autopilot.log
|
autopilot.log
|
||||||
.claude/worktrees/
|
.claude/worktrees/
|
||||||
|
*.bak
|
||||||
|
|||||||
+90
@@ -13,6 +13,96 @@ Schritt (und beim Abbruch mitten im Schritt den Zwischenstand). Format:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Fable-5-Review (Qualitäts-Review aller Autopilot-Commits 25ed765..HEAD)
|
||||||
|
|
||||||
|
Bernds Auftrag (ROADMAP M0): alle bisherigen Sonnet-5-Commits kritisch und in
|
||||||
|
der Tiefe nachprüfen. Jeder Punkt hier wird abgehakt, sobald er geprüft ist –
|
||||||
|
**bereits abgehakte Punkte in künftigen Sessions NICHT erneut prüfen.**
|
||||||
|
|
||||||
|
Hinweis zur Historie: Eine frühere Fable-5-Session hatte den Review begonnen
|
||||||
|
und zwei Fix-Commits gepusht (f9979e4, 891f348), wurde aber VOR dem
|
||||||
|
Protokollieren abgebrochen – dieser Abschnitt holt das Protokoll nach und
|
||||||
|
schließt den Review ab.
|
||||||
|
|
||||||
|
- [x] **(a) Die 6 Gott-Datei-Aufteilungen fachlich geprüft – Ergebnis: korrekt,
|
||||||
|
1 Befund bereits gefixt (f9979e4).** Unabhängige Nachprüfung (nicht nur den
|
||||||
|
alten Blockvergleich wiederholt): eigener Zeilen-Multiset-Vergleich
|
||||||
|
(Code-Zeilen ohne Kommentare/Imports/part-Direktiven) Original vor dem Split
|
||||||
|
vs. heutiger Stand für alle 6 Bibliotheken → **keine Code-Zeile verloren,
|
||||||
|
keine hinzugekommen** (settings_modal 5055, message_group 2409, rooms_panel
|
||||||
|
2308, space_admin_dialog 2079, chat_view 1813, document_viewer 1543 Zeilen,
|
||||||
|
jeweils exakt identisch). Alle `part`-Direktiven == Dateien auf Platte,
|
||||||
|
alle Part-Dateien mit korrektem `part of`. Befund der Vorsession bestätigt:
|
||||||
|
Beim Split gingen 24 **Erklärkommentar-Blöcke** verloren (u. a. die
|
||||||
|
Selbst-Aussperr-Warnung über `updatePowerLevelsSafely`, HTML-Subset-Doku,
|
||||||
|
PDF-Cache-Doku) – mit f9979e4 an den richtigen Klassen wiederhergestellt
|
||||||
|
(Stichprobe geprüft: sitzt korrekt). `flutter analyze`: unverändert 1
|
||||||
|
bekannter Hinweis (`chat_provider.dart:42`).
|
||||||
|
- [x] **(b) Uta-Logout-/Push-Fix (63e4919, 9dc83f7) gegen das matrix-SDK 6.2.0
|
||||||
|
verifiziert – Analyse war richtig, aber unvollständig; Lücke mit 891f348
|
||||||
|
geschlossen (Vorsession), heute vollständig gegenverifiziert:**
|
||||||
|
- SDK-Quelle bestätigt (client.dart:2374 ff.): Ohne eigenen `onSoftLogout`-
|
||||||
|
Handler eskaliert JEDER fehlgeschlagene Token-Refresh (auch bloße
|
||||||
|
Netzwerkfehler) zu `logout()` + `clear()` → Session inkl. Krypto-Schlüssel
|
||||||
|
weg. Mit `refreshToken: true` (9dc83f7) wären Refreshes Routine geworden –
|
||||||
|
das Restrisiko wäre also GESTIEGEN. Der Guard (`soft_logout_guard.dart`,
|
||||||
|
891f348) ist die notwendige zweite Hälfte des Fixes.
|
||||||
|
- Guard-Code geprüft: wirft nie (alle Pfade gefangen; `AuthLog.write` fängt
|
||||||
|
intern selbst alles – wichtig, sonst würde ein Logging-Fehler im
|
||||||
|
catch-Pfad doch wieder `logout()` auslösen). SDK ruft bei nicht-werfendem
|
||||||
|
Handler nachweislich nie `logout()` auf.
|
||||||
|
- „Retry heilt das Token-Rotations-Race mit dem Push-Isolate"-Behauptung
|
||||||
|
gegen SDK-Quelle geprüft: stimmt – `refreshAccessToken()` liest den
|
||||||
|
Refresh-Token bei jedem Aufruf frisch per `database.getClient()` aus der
|
||||||
|
geteilten DB.
|
||||||
|
- Beide `Client(`-Konstruktionen der App (matrix_client.dart,
|
||||||
|
background_push.dart) haben den Guard – keine ungeschützte übrig.
|
||||||
|
- `isLoggedInProvider`-Änderung (softLoggedOut ≠ ausgeloggt) korrekt:
|
||||||
|
verhindert Login-Screen-Flackern bei Routine-Refresh; echtes `loggedOut`
|
||||||
|
führt weiterhin zum Login-Screen.
|
||||||
|
- **Dokumentiertes Restrisiko (kein Fix möglich/nötig):** Ein hartes
|
||||||
|
`M_UNKNOWN_TOKEN` OHNE `soft_logout`-Flag führt im SDK weiterhin direkt zu
|
||||||
|
`clear()`. Das ist ein echter serverseitiger Session-Widerruf (z. B.
|
||||||
|
Admin-Logout) – lokal nicht abwendbar; Schlüssel kommen dann übers
|
||||||
|
Key-Backup zurück. Kein stiller Fehlerpfad, sondern legitimer Server-Befehl.
|
||||||
|
- [x] **(c) analyze-/Lint-Fixes (9dc1175, 133a8ac, 99f10c5, 2395db5, 057ac1e,
|
||||||
|
401bd6a) auf Verhaltensänderungen geprüft – alle äquivalent, 1 Kleinigkeit
|
||||||
|
gefunden (bewusst belassen):**
|
||||||
|
- `onReorder` → `onReorderItem` (401bd6a): gegen Flutter-SDK-Quelle
|
||||||
|
verifiziert – der neue Callback korrigiert den Index intern, das entfernte
|
||||||
|
manuelle `newIdx--` ist korrekt; einzige Aufrufstelle migriert. Kein
|
||||||
|
Off-by-One beim Raum-Umsortieren.
|
||||||
|
- `Matrix4.translate/scale` → `translateByDouble/scaleByDouble` (PDF-Zoom):
|
||||||
|
mathematisch äquivalent (uniforme Skalierung, w=1).
|
||||||
|
- `withOpacity`→`withValues`, `activeColor`→`activeThumbColor`,
|
||||||
|
`cacheExtent`→`scrollCacheExtent`, `PublicRoomsChunk`→`PublishedRoomsChunk`,
|
||||||
|
print→debugPrint, `__`→`_`-Parameter, Curly-Braces: reine Renames/Syntax.
|
||||||
|
- Toter Code (9dc1175): entfernte Funktionen (`_showNotif`, `_fetchTitle`,
|
||||||
|
`_get`, `_applyNoiseSuppression`, `destructive`-Param, `_saved`-Feld) per
|
||||||
|
grep bestätigt nirgends referenziert.
|
||||||
|
- **Kleinigkeit:** In `mini_call_widget.dart` wurde das ungenutzte
|
||||||
|
`_hovered`-Feld nicht gelöscht, sondern verdrahtet (Hover-Farbe auf
|
||||||
|
Call-Buttons) – streng genommen eine Mini-Verhaltensänderung in einem
|
||||||
|
Lint-Commit. Offensichtlich die ursprünglich gemeinte Funktion des Feldes,
|
||||||
|
rein kosmetisch, kein Risiko → belassen, hier nur dokumentiert.
|
||||||
|
- [x] **(d) Abgehakte ROADMAP-Punkte gegen Code gegengeprüft – alle stimmen:**
|
||||||
|
`isKeyBackupMissing`-Warnung sitzt nach dem Settings-Split weiterhin in
|
||||||
|
beiden Logout-Pfaden (settings_about.dart, settings_shared.dart);
|
||||||
|
`refreshToken: true` in login_notifier.dart:84; Bootstrap-Flows
|
||||||
|
(`askUnlockSsss`, `_triggerBootstrap`) vorhanden; `features/calls/`-Leiche
|
||||||
|
existiert nicht; `docs/M2_MODULE_SCHNITT.md` vorhanden; `flutter analyze`
|
||||||
|
sauber (1 bekannter Hinweis). Nebenbefund gefixt: `docs/PROGRESS.md` war ein
|
||||||
|
eingefrorener Alt-Stand (2026-06-04) mit Verwechslungsgefahr zum echten
|
||||||
|
Protokoll im Root → Archiv-Banner eingefügt.
|
||||||
|
|
||||||
|
**Fazit:** Die Sonnet-5-Arbeit war handwerklich sauber; die zwei echten Lücken
|
||||||
|
(verlorene Kommentare, fehlender Soft-Logout-Guard) hatte die abgebrochene
|
||||||
|
Fable-5-Vorsession bereits gefixt – beide Fixes heute unabhängig verifiziert.
|
||||||
|
Alles weiterhin UNGETESTET (Pi) im Sinne von „nicht in echter UI gesehen";
|
||||||
|
der ausstehende PC-Praxistest (siehe Einträge unten) bleibt Pflicht.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 2026-07-03 – M2: Gott-Datei `document_viewer.dart` aufgeteilt (5 Dateien)
|
## 2026-07-03 – M2: Gott-Datei `document_viewer.dart` aufgeteilt (5 Dateien)
|
||||||
|
|
||||||
**Erledigt:** Vor dem Weiterarbeiten wie immer Arbeitszyklus durchlaufen
|
**Erledigt:** Vor dem Weiterarbeiten wie immer Arbeitszyklus durchlaufen
|
||||||
|
|||||||
+10
-10
@@ -15,16 +15,16 @@ Punkte abhaken (`[x]`), wenn erledigt UND in `PROGRESS.md` protokolliert.
|
|||||||
- [x] `lib/features/call/` vs. `lib/features/calls/` (leer?) klären – Leiche entfernen
|
- [x] `lib/features/call/` vs. `lib/features/calls/` (leer?) klären – Leiche entfernen
|
||||||
(geprüft: `calls/` existiert nicht mehr, nur `call/` mit den echten Dateien)
|
(geprüft: `calls/` existiert nicht mehr, nur `call/` mit den echten Dateien)
|
||||||
- [x] README.md durch echte Projektbeschreibung ersetzt (74d38fd)
|
- [x] README.md durch echte Projektbeschreibung ersetzt (74d38fd)
|
||||||
- [ ] **Fable-5-Qualitäts-Review aller bisherigen Autopilot-Commits (Bernds Wunsch, VOR allem anderen):**
|
- [x] **Fable-5-Qualitäts-Review aller bisherigen Autopilot-Commits (Bernds Wunsch, VOR allem anderen):**
|
||||||
Sämtliche Commits vom 2026-07-03 (25ed765..HEAD, gemacht von Sonnet 5) kritisch
|
ERLEDIGT – siehe Abschnitt „Fable-5-Review" oben in PROGRESS.md.
|
||||||
und in der Tiefe nachprüfen – nicht nur formal: (a) die 6 Gott-Datei-Aufteilungen
|
(a) alle 6 Gott-Datei-Aufteilungen unabhängig verifiziert (Zeilen-Multiset,
|
||||||
stichprobenartig fachlich lesen (stimmen `part of`-Bezüge, Sichtbarkeiten,
|
part-Bezüge): korrekt, verlorene Erklärkommentare waren mit f9979e4 schon
|
||||||
keine verlorenen Blöcke – über den automatisierten Blockvergleich hinaus),
|
wiederhergestellt; (b) Uta-Logout-/Push-Fix gegen matrix-SDK 6.2.0
|
||||||
(b) den Uta-Logout-/Push-Fix (63e4919, 9dc83f7) fachlich gegen das matrix-SDK
|
verifiziert: Analyse richtig, Lücke (SDK eskaliert Refresh-Fehler zu
|
||||||
verifizieren (ist die Ursachen-Analyse schlüssig? Nebenwirkungen?),
|
logout()+clear()) war mit 891f348 (onSoftLogout-Guard) geschlossen, Guard
|
||||||
(c) die analyze-/Lint-Fixes auf versehentliche Verhaltensänderungen prüfen,
|
heute gegenverifiziert; (c) Lint-Fixes verhaltensäquivalent (onReorderItem
|
||||||
(d) abgehakte ROADMAP-Punkte gegen PROGRESS.md und den Code gegenprüfen.
|
gegen Flutter-SDK geprüft, kein Off-by-One); (d) abgehakte Punkte stimmen
|
||||||
Befunde direkt fixen, alles in PROGRESS.md protokollieren.
|
mit dem Code überein. Alles weiterhin UNGETESTET (Pi) → PC-Praxistest bleibt.
|
||||||
|
|
||||||
- [x] **Uta-Random-Logout untersuchen:** UNGETESTET (Pi) – Ursache im matrix-SDK
|
- [x] **Uta-Random-Logout untersuchen:** UNGETESTET (Pi) – Ursache im matrix-SDK
|
||||||
gefunden + Fix committet (63e4919, 9dc83f7), siehe PROGRESS.md 2026-07-03.
|
gefunden + Fix committet (63e4919, 9dc83f7), siehe PROGRESS.md 2026-07-03.
|
||||||
|
|||||||
+5
-3
@@ -9,6 +9,10 @@
|
|||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
export PATH="$HOME/.local/bin:$HOME/flutter/bin:$PATH"
|
export PATH="$HOME/.local/bin:$HOME/flutter/bin:$PATH"
|
||||||
|
|
||||||
|
# Pyramid laeuft auf eigenem Claude-Konto (Profil ~/.claude-pyramid),
|
||||||
|
# das Standard-Profil ~/.claude bleibt fuer die Webseiten-Arbeit.
|
||||||
|
export CLAUDE_CONFIG_DIR="$HOME/.claude-pyramid"
|
||||||
|
|
||||||
# --- Matrix-Statusberichte (Raum "🔺 Pyramid Autopilot", Token vom Gatus-Bot) ---
|
# --- Matrix-Statusberichte (Raum "🔺 Pyramid Autopilot", Token vom Gatus-Bot) ---
|
||||||
MATRIX_URL="http://127.0.0.1:6167"
|
MATRIX_URL="http://127.0.0.1:6167"
|
||||||
MATRIX_ROOM="!sYfOwD4Dw4jBDTlNmL:steggi-matrix.work"
|
MATRIX_ROOM="!sYfOwD4Dw4jBDTlNmL:steggi-matrix.work"
|
||||||
@@ -24,9 +28,7 @@ notify_matrix() {
|
|||||||
-d "$body" > /dev/null || true
|
-d "$body" > /dev/null || true
|
||||||
}
|
}
|
||||||
|
|
||||||
PROMPT="Lies CLAUDE.md und arbeite ROADMAP.md Punkt für Punkt weiter ab. \
|
PROMPT="Lies CLAUDE.md. Arbeite in dieser Reihenfolge: (1) Review-Pass: Gehe die in ROADMAP.md/PROGRESS.md als erledigt markierten Punkte durch, prüfe den zugehörigen Code kritisch und überarbeite/verbessere ihn, wo nötig. Führe in PROGRESS.md einen Abschnitt 'Fable-5-Review' und hake dort jeden geprüften Punkt ab, damit bereits reviewte Punkte nicht erneut geprüft werden. (2) Wenn alle erledigten Punkte reviewt sind, arbeite ROADMAP.md Punkt für Punkt weiter ab. Halte dich strikt an den Arbeitszyklus (PROGRESS.md pflegen, kleine Commits + Push). Arbeite so viel ab wie möglich."
|
||||||
Halte dich strikt an den Arbeitszyklus (PROGRESS.md pflegen, kleine Commits + Push). \
|
|
||||||
Arbeite so viele Punkte ab wie möglich."
|
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
if [ -f PAUSE ]; then
|
if [ -f PAUSE ]; then
|
||||||
|
|||||||
+4
-2
@@ -1,6 +1,8 @@
|
|||||||
# Pyramid – Fortschritt & offene Punkte
|
# Pyramid – Fortschritt & offene Punkte (ARCHIV, Stand 2026-06-04)
|
||||||
|
|
||||||
Stand: 2026-06-04
|
> **ACHTUNG:** Dies ist ein eingefrorener Alt-Stand von vor der neuen
|
||||||
|
> Arbeitsstruktur. Das aktuelle Arbeitsprotokoll liegt im Projekt-Root:
|
||||||
|
> `PROGRESS.md`. Diese Datei nur als historische Referenz lesen, nie pflegen.
|
||||||
|
|
||||||
## Erledigt
|
## Erledigt
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user