S/R-Auto-Close komplett entfernt + Circuit-Breaker als runder CB-Knopf (v=210)

(1) S/R-AUTO-CLOSE RAUS (User-Vorgabe: "die brauche ich nicht mehr").
Der Schalter stand seit dem 19.08. ohnehin auf AUS - abgeschaltet, nachdem
analyze_pbreak_live.py das P(break)-Modell live als INVERTIERT gemessen hatte
(AUC 0,452, Klassen monoton rueckwaerts). Ohne funktionierendes Gate ist der
S/R-Close faktisch der PAUSCHALE, und der ist 2x gemessen und verworfen
(Gewinner-Kappen). Die Entfernung vollzieht den gemessenen Stand nach.

WEG: _check_sr_close, set_sr_autoclose, set_sr_close_min_gain, die
Konstruktor-Felder, die %-Armierung des Gewinn-Close, drei Snapshot-Felder,
beide runtime_state-Schluessel, die Reichweiten- und Systemstatus-Zeilen,
/api/srclose und /api/srclose_min, der Knopf S/R, das Gewinn-Close-Feld, der
Toast "Bot hat am Level geschlossen".
BLEIBT: `_sr_close_hint` (App-Hinweis, P(break)-Chartlinien, Copilot-Kontext,
pbreak_predictions-Tracking), `stop_approach`, das Modell selbst und die
closed_by=sr_close-Historie in der DB. Live gegengeprueft: die drei Felder sind
aus dem Snapshot verschwunden, sr_close_hint und stop_approach sind da, beide
Endpunkte antworten 405.
Sicherung: .removed_backup/sr_auto_close_2026-08-21.py

⚠ Der Close-Alarm gilt jetzt schlicht ab jedem Gewinn (`minGain = 0`) - die
Schwelle gab es nur fuer den Auto-Close. Das ist der Zustand von vor 2026-07.

⚠ Der Test test_automatik_zeile_nennt_alle_schalter war MITGEZAEHLT und faellt
korrekt - er ist angepasst, nicht entfernt: jetzt zwei Schalter statt drei, und
die Negativ-Pruefungen ("SIG"/"S/R-Close" duerfen NICHT auftauchen) sind der
eigentliche Wert, denn ein wieder auftauchender Pfad waere ein stiller Rueckbau.

(2) CIRCUIT BREAKER als runder Knopf "CB" rechts neben BALANCE.
⚠ Farb-Logik wie vorgegeben: GRUEN = inaktiv (aus), ROT = aktiv (scharf).
Bewusst NICHT die uebliche "gruen = geschuetzt"-Lesart - hier signalisiert Rot,
dass eine Automatik eingreifen kann. Im Code und im Markup steht das dran, damit
es niemand spaeter "korrigiert".
⚠ VERSCHOBEN, nicht kopiert: zwei Elemente mit derselben ID waeren ein stiller
Fehler, weil getElementById nur das erste findet.

⚠ Beim Entfernen zwei eigene Fehler: (a) ein Slice ueber `rindex("try:")`
schnitt durch fremde Konstruktor-Bloecke und riss Kommentar-Fragmente heraus -
zurueckgesetzt und zeilenbasiert von hinten neu gemacht; (b) beim Toast-Block
eine Klammer zu viel entfernt, von `node --check` sofort gefangen.

Pipeline A-G gruen, 97 Tests, 14 render*-Funktionen, deployt und am
ausgelieferten HTML/Snapshot verifiziert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-21 10:47:44 +02:00
co-authored by Claude Opus 5
parent ebf10da00e
commit 0dd2e524b7
6 changed files with 75 additions and 209 deletions
+15
View File
@@ -757,3 +757,18 @@ main{padding-bottom:4.1111rem} /* Platz für die fixe Leiste */
border-radius:var(--r-sm); color:var(--bright); cursor:pointer;
font-size:1.1111rem; line-height:1; padding:0.3333rem 0.5556rem}
.pt-img[data-bild]{cursor:zoom-in}
/* ── Runder Circuit-Breaker-Knopf neben BALANCE (User 2026-08-21) ──────────
⚠ Farb-Logik ist die VORGABE des Nutzers: gruen = Breaker AUS (inaktiv),
rot = Breaker AN (aktiv/scharf). Bewusst nicht die uebliche
"gruen = geschuetzt"-Lesart — hier heisst Rot: eine Automatik kann eingreifen. */
.cb-dot{
width:2.0556rem; height:2.0556rem; border-radius:50%; flex:0 0 auto;
border:1px solid var(--border); cursor:pointer; align-self:center;
font:700 0.6667rem/1 var(--mono); letter-spacing:.5px;
display:flex; align-items:center; justify-content:center;
background:var(--surface-2); color:var(--dim); transition:filter .15s;
}
.cb-dot:active{filter:brightness(1.3)}
.cb-dot.inaktiv{background:#0d2a16; border-color:#1a4731; color:#3fb950}
.cb-dot.aktiv{background:#2d0d0d; border-color:#5c1a1a; color:#f85149}