Commit Graph

6 Commits

Author SHA1 Message Date
tobias bc04af9c77 Portierungsbeschreibung fuer "ueberschritten", Testprofil zurueckgestellt
PORTIERUNG_UEBERSCHRITTEN.md fasst zusammen, was fuer ein Spin-off dieser App
nachgezogen werden muss: Fachregel, Farbschwellen mit den gemessenen Werten,
CSS und Markup beider Codebasen, Tests, und die Fallen, die hier Zeit gekostet
haben.

Das Erstzulassungsdatum im Testcontainer ist von 01.03.2020 auf 01.03.2025
zurueckgestellt, die Sicherung entfernt - OFFEN.md 3b entsprechend.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 14:42:48 +02:00
tobias 33c2ffa5ff Ueberschritten: nur die Zeile hinterlegen, Farbe je Schwelle trennen
Zwei Rueckmeldungen des Eigentuemers vom 07.09.2026.

1. Die Service-Kachel auf "Mein Audi" war als Ganzes gelb hinterlegt. Gelb
   wird jetzt nur das ueberschrittene Feld, analog zur Termingruppe im
   Service-Blatt: .row.ueberschritten bzw. .dm-wertzeile--ueberschritten,
   12 % --warn mit -12px Aussenabstand bis an den Kachelrand. Die dafuer
   gebaute Hilfsfunktion serviceUeberschritten() entfaellt ersatzlos.

2. Auch #C55300 wirkte braeunlich. Das ist die Schwelle, nicht der Geschmack:
   Apples systemOrange #FF9500 kommt auf Weiss nur auf 2,20:1, jedes Orange
   mit 4,5:1 liest sich als Braun. Deshalb traegt jetzt jedes Element seine
   eigene WCAG-Schwelle:

     --warn-fig   32px = Grosstext, 3:1   -> #DD6000 (3,65:1 auf Weiss)
     die Marke    10,5px = Kleintext, 4,5:1 -> gefuellte Pille #C55300 mit
                  weisser Schrift (4,55:1) statt duenner Schrift

   Nachts #FF9F0A (8,41:1) bzw. #FFA056 mit #171B21 (8,57:1).

Im Panel live gemessen (Testcontainer, Tagmodus): Kachelgrund rgb(255,255,255),
nur die HU-Zeile rgba(255,159,10,0.12) und um 2 x 12px breiter als die uebrigen
Zeilen, Marke rgb(255,255,255) auf rgb(197,83,0), Kennzahl rgb(221,96,0).
Damit ist Abschnitt DJ auch im Panel optisch geprueft - OFFEN.md 3b angepasst.

327/327 Tests, tsc sauber, Buendel auf 2026.9.6.9 neu gebaut.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 14:37:19 +02:00
tobias 08d8de60db Service-Kennzahl auf der Uebersicht 40px -> 32px; Farbe belegt statt erinnert
GROESSE: vom Eigentuemer als "sehr gross" gemeldet, im Browser bei 375x812
nachgemessen (Kachel 307px): "8.600 km" war bei 40px 133px breit (43% der
Kachel) und damit BREITER als die Reichweite darueber (60px, 107px, 35%) - der
zweitrangige Wert schlug den Hauptwert in der Flaeche. Mit einem Datum stand es
deutlicher: "01.03.2028" misst bei 40px 231px, 75% der Kachel. Auf 32px sind es
108px bzw. 185px, damit liegt der Servicewert auf der Reichweite gleichauf statt
darueber. Schrift und Gewicht waren nie das Problem und bleiben Audi Type Wide
300. Nimmt die Entscheidung vom 18.08.2026 (40 statt 30) zurueck.

FARBE: auf die Frage "HIG oder Audi CI" nachgeschlagen. Die Werte stehen auf
developer.apple.com nur im Alternativtext der Farbfelder, nicht im Text. Meine
Erinnerung war falsch - Apples Yellow "Increased contrast (light)" ist #A16A00,
nicht #A05A00. Uebernommen wird er trotzdem nicht: auf unserem 12% hinterlegten
Grund liefert er 4.19:1, Apples Orange #C55300 4.16:1, beide unter 4.5:1. Apples
Schwelle gilt fuer Schrift auf einfarbigem Grund. Der gemessene Wert #A15800
(4.90:1) bleibt, jetzt mit belegter Begruendung statt ohne. Nebenbefund: die
Seite zeigt inzwischen die neue "unified"-Palette (systemRed dunkel #FF4245),
dieses Projekt fuehrt die aeltere (#FF453A) - ein einzelner Wert aus der neuen
waere ohnehin inkonsistent.

LIVE GEPRUEFT: der Eigentuemer hat auf einen offenen Browser hingewiesen, damit
liess sich der offene Punkt aus DJ schliessen. Mit voruebergehend
zurueckdatierter Erstzulassung (Profil gesichert, hinterher zurueckgestellt und
geprueft) zeigen alle drei Stellen die Markierung, und nur die ueberschrittene
Gruppe ist hinterlegt - Oelwechsel 2028 und Inspektion 2027 blieben unmarkiert.
Das Panel ist weiterhin nur ueber den Paritaetstest belegt, nicht am Bild.

327/327, tsc sauber, Panel als Modul geparst, Manifest und Buendel auf
2026.9.6.7, Container sauber gestartet.
2026-09-07 14:08:07 +02:00
tobias 27196f9e78 Ueberschrittene Servicetermine werden markiert
Wunsch des Eigentuemers: faellige oder ueberschrittene Termine dezent
gelb/orange hinterlegen und mit "ueberschritten" markieren - Service-Seite und
Mein Audi; auf der Uebersicht zusaetzlich die Kennzahl im Warnton.

Erkannt wird am DATUM, nicht an den Restkilometern. Gemessen: die Sensoren
melden -28600 bzw. -22000 bei Faelligkeit 2028 bzw. 2027, negativ heisst hier
also "noch so weit hin". Welches Vorzeichen ein tatsaechlich ueberschrittener
Wert traegt, ist an den vorliegenden Daten nicht beobachtbar - geraten wird es
nicht. Der km-Fall faellt ohnehin unter die Datumsregel: servicePrognose()
setzt datum auf heute, sobald restKm auf 0 laeuft. Der Faelligkeitstag zaehlt
mit ("bereits faellig bzw. ueberschritten").

Dabei eine Luecke im Panel gefunden, vom Test und nicht im Betrieb:
datumAusText() ist verankert und nimmt keine vollen Zeitstempel - die
Fahrzeugmeldung ist aber genau das und bei Oelwechsel und Inspektion die
Hauptquelle. Sie waere still nie als ueberschritten erkannt worden.
zeitstempelAlsDatum() schliesst sie; die App hatte die Luecke nie.

Farbe nach Rolle geteilt wie --bad/--bad-flaeche: --warn ist die Flaeche,
--warn-text die Schrift. Grund: #FF9F0A als Text auf Weiss sind 2.06:1. Auf dem
12% hinterlegten Grund misst --warn-text 4.90:1 (Tag, #A15800) bzw. 9.30:1
(Nacht).

Geprueft: 15 Faelle gegen die echten Panel-Funktionen, 7 in der App, 14
Paritaetsfaelle Panel gegen App, 3 Rendertests ueber alle drei Anzeigestellen.
Gegenprobe: mit ausgehaengter Entscheidung fallen 9 Tests. 327/327, tsc sauber,
Panel als Modul geparst, Manifest und Buendel auf 2026.9.6.6, Container sauber
gestartet.

Offen: optisch nicht gesehen - der Testbestand enthaelt keinen ueberschrittenen
Termin. In OFFEN.md vermerkt.
2026-09-07 13:39:52 +02:00
tobias e6a9ff4ec8 Apple-Backlog traegt jetzt den Ablauf eines Xcode-Laufs
Auf die Frage, welche Datei man am Mac in die Hand nimmt: der Backlog war die
richtige Antwort, ihm fehlte aber genau das - er beschrieb den Zustand und die
Pruefliste, nicht den Ablauf.

Neuer Abschnitt "Wie ein Lauf abläuft": was vorher zu tun ist (git pull; das
Skript bricht selbst ab, wenn der Baum unsauber oder HEAD nicht gleich
origin/main ist), der eine Befehl samt seiner dreizehn Schritte, dass die
Fassung aus manifest.json kommt und nichts von Hand hochzuzaehlen ist, das
einmalige Schluesselbund-"Immer erlauben" samt Symptom wenn man es uebersieht,
und danach Push plus der itms-services-Link in Safari - ausdruecklich ohne ?v=,
mit Verweis auf den Befund aus Abschnitt CK.

Damit ist die Datei als alleinige Uebergabe brauchbar; AGENTS.md braucht man nur
noch fuers Warum. OFFEN.md 1.1 verweist entsprechend darauf.
2026-09-07 12:09:36 +02:00
tobias 2bf1691fb8 Zentrale Stelle fuer den aktuellen Stand: OFFEN.md und /stand
Ansage des Eigentuemers: ueber eine zentrale Datei bzw. einen zentralen Aufruf
muss immer klar sein, was aktuell zu tun ist.

OFFEN.md ist diese Datei. Sie nennt den Zustand, nicht die Geschichte, und
teilt sich die Arbeit mit den vorhandenen: AGENTS.md beantwortet WARUM etwas so
ist, APPLE_DEV_BACKLOG.md was davon Xcode oder das Portal braucht, OFFEN.md WAS
JETZT zu tun ist. Jeder Punkt sagt auch, was konkret zu tun ist - nicht nur,
dass etwas offen ist.

Gegliedert nach Zustaendigkeit statt nach Thema: was auf den Eigentuemer wartet
(Xcode-Lauf, Gitea-Token DM180, steuer.faellig), was eine Entscheidung braucht
(Uebersicht-Box Versicherung), was eine Sitzung bauen kann (PDF-Ablage,
Notizfeld, Dokumentendrift), was gemeldet aber nicht reproduzierbar ist, und
was bewusst so bleibt - letzteres, damit bekannte Grenzen nicht als Fehler
wiederkommen.

/stand (.claude/commands/stand.md) ist der zentrale Aufruf. Er misst den
mechanischen Teil selbst - Repo-Gleichstand, Manifest gegen OTA-Buendel samt
sha256, Fassung der ausgelieferten .ipa, ob die eigenen Plugins darin
registriert sind, und welche nativen Commits sich seit ihr angesammelt haben -
und liest OFFEN.md dazu. Dieser Teil kann deshalb nicht veralten. Probelauf
ausgefuehrt: er meldet korrekt 2026.9.6.5, Buendel passend, .ipa auf
2026.9.4.17 ohne die beiden eigenen Plugins, zwei native Commits wartend.

Verankert in CLAUDE.md (wird beim Sitzungsstart geladen) und als Punkt 0 der
Leseordnung in AGENTS.md.
2026-09-07 12:04:48 +02:00