Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
5a27740
docs(mla): SDD-Plan #96 Lesender Monitor (#96)
Toqsick Oct 2, 2026
b5ce683
feat(mla): /proc-Parser samt Fixtures und Wertespec für den Monitor (…
Toqsick Oct 2, 2026
4a743b7
docs(mla): Erratum E1 im SDD-Plan #96 — korrekter RAM-Beispielwert (#96)
Toqsick Oct 2, 2026
39d9765
test(mla): Mutationstests und Spec-Pinning; RAM-Beispielwert korrigie…
Toqsick Oct 2, 2026
d9f56ae
feat(mla): Ringpuffer mit Monotonie- und Überlaufregeln (#96)
Toqsick Oct 2, 2026
28697cb
fix(mla): Monotonie-Wächter gegen NaN gehärtet, rejected-Pins (#96)
Toqsick Oct 2, 2026
163fe42
feat(mla): Serienbildung mit stale-Lücken und /proc-Sampler (#96)
Toqsick Oct 2, 2026
28a0b3f
fix(mla): inf-Wortlaut im Vertrag präzisiert, None-Lücken-Text gepinn…
Toqsick Oct 2, 2026
9f13e67
feat(mla): Monitor-Ansicht mit Einheit/Messzeit/Quelle und Drill-down…
Toqsick Oct 2, 2026
4486664
fix(mla): Drill-down nur auf Primärklick beschränkt (#96)
Toqsick Oct 2, 2026
1f94619
fix(mla): Gdk-Version beim Import festgeschrieben (#96)
Toqsick Oct 2, 2026
7f01b7b
test(mla): Pins für ±inf-Vertrag, stat-Fehlerpfade und Sampler-Raster…
Toqsick Oct 17, 2026
4e61a80
docs(mla): Plan-Erratum E2 — Serienraster am letzten Tick verankert (…
Toqsick Oct 17, 2026
18a63df
fix(mla): Serienraster am letzten Tick, Einzelpunkte, nicht-endliche …
Toqsick Oct 17, 2026
f0802b3
docs(mla): Plan-Erratum E3 — Kettenraster gegen Timer-Phasendrift (#96)
Toqsick Oct 17, 2026
e7e8145
fix(mla): Kettenraster gegen Zeitgeber-Phasendrift, Fenstergrenze gep…
Toqsick Oct 17, 2026
6f60352
docs(mla): Handoff #96 — Gates, Reviewer, Rückfallplan (#96)
Toqsick Oct 17, 2026
8af55b6
docs(mla): Plan-Erratum E4 — NaN-Erstappend und ganzzahlige Ring-Kapa…
Toqsick Oct 17, 2026
2391512
fix(mla): NaN als Erst-Zeitstempel und ungültige Ring-Kapazitäten abl…
Toqsick Oct 17, 2026
abba8f5
docs(mla): Handoff #96 — Nachtrag PR-Review #119, Rückfallplan bis Br…
Toqsick Oct 17, 2026
7924d58
docs(mla): Rückfallplan-Probe im Handoff #96 belegt (#96)
Toqsick Oct 17, 2026
3e920a8
fix(mla): Detail-Leiste hält Mindestbreite im Paned (Triage vor #97)
Toqsick Oct 17, 2026
994c1da
docs(mla): Handoff #96 — Detail-Leiste als behoben nachgetragen (#96)
Toqsick Oct 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions docs/mla-next/ISSUES.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,16 +247,16 @@ Schreibfreier Monitor in der GTK-Shell: Werte aus `/proc` (CPU, RAM, PSI u. a.;
**Grenzen (gelten für jedes MLA-Next-Paket):** GTK-UI, Flutter-UI und Dart-Host laufen nie als Root; keine generische Root-IPC, keine Shell-Strings, keine Secrets in Logs, Screenshots oder Commits; die vorhandene polkit-Grenze bleibt unberührt.

## Abnahme
- [ ] Je Wert sind Quelle und Einheit dokumentiert; jedes Diagramm zeigt Einheit, Messzeit und Quelle
- [ ] Ringpuffer: Tests für Überlauf, Zeitmonotonie und Lücken (Lücke = `stale`, nie 0)
- [ ] Plausibilisierung gegen den `/proc`-Rohwert innerhalb einer dokumentierten Toleranz — Toleranz legt der Spec fest
- [ ] Tests laufen gegen Fixtures, ohne echtes System
- [x] Je Wert sind Quelle und Einheit dokumentiert; jedes Diagramm zeigt Einheit, Messzeit und Quelle — 2026-10-17: `MONITOR.md` §1 (Tabelle, `VALUE_SPECS` gepinnt) + §4; Caption `Quelle: … · Einheit: … · Messzeit: HH:MM:SS[ · stale: N]` je Diagramm, exakt gepinnt (`FormatterTests`); Sichtprüfung X11 bei `9f13e67` (Ledger), Wayland-Screenshot bleibt manuell
- [x] Ringpuffer: Tests für Überlauf, Zeitmonotonie und Lücken (Lücke = `stale`, nie 0) — 2026-10-17: `RingBufferTests`/`BuildSeriesTests`/`SamplerTests` (Überlauf, strikte Monotonie inkl. NaN/±inf, `None` ≠ `0.0`; `stale`-Formatierung in `FormatterTests`); Kettenraster gegen Zeitgeber-Jitter/Phasendrift (Errata E2/E3, `18a63df`/`e7e8145`)
- [x] Plausibilisierung gegen den `/proc`-Rohwert innerhalb einer dokumentierten Toleranz — Toleranz legt der Spec fest — 2026-10-17: Toleranzen `MONITOR.md` §1; Tests gegen unabhängige Inline-Rechnung (CPU ±0,5 pp, RAM ±0,2 pp, PSI ±0,01); Live-Plausibilität gegen `top`/`free` bleibt manuell (VERIFY-Handoff #96)
- [x] Tests laufen gegen Fixtures, ohne echtes System — 2026-10-17: 7 synthetische `test/fixtures/proc_*.txt`, `FakeReader`/`FakeClock`, `ProcReader` nur gegen tmp-Root; Audit-Hook-Lauf der Suite (77 Tests auf `7f01b7b`, Final-Review-Synthese): 0 Zugriffe auf `/proc`, `/sys`, subprocess, socket (Final-Review-Synthese)

## Handoff (Pflicht je Aufgabe, aus `docs/mla-next/VERIFY.md`)
- [ ] Basis-SHA, Pfade, Scope und Failing-Test/Fixture stehen vor der Umsetzung fest
- [ ] Reviewer 1 (Funktion/UX/Races) und Reviewer 2 (Privilegien/Secrets/argv/IPC) haben geprüft
- [ ] Wirklich ausgeführte Gates mit Ausgabe; rote oder übersprungene Gates benannt; Rückfallplan genannt
- [ ] Kein Merge, Release oder Policy-Update ohne gesonderte Freigabe
- [x] Basis-SHA, Pfade, Scope und Failing-Test/Fixture stehen vor der Umsetzung fest — Basis `de0026d`; SDD-Plan `docs/superpowers/plans/2026-10-02-mla-96-monitor.md` (`5a27740`, vor dem ersten Code-Commit); RED je Task im Abschnitt „Handoff #96" in `docs/mla-next/VERIFY.md`
- [x] Reviewer 1 (Funktion/UX/Races) und Reviewer 2 (Privilegien/Secrets/argv/IPC) haben geprüft — je Task T1–T4 R1+R2 APPROVED (Pin-Commit `7f01b7b` nur Final-Review + Mutationsbelege); Final-Whole-Branch-Review (Opus-Workflow, R1+R2+Vollständigkeits-Kritiker, adversariale Refuter) CHANGES_REQUESTED 0/1/8 → 2 Fix-Runden → Scoped-Re-Reviews **APPROVED**
- [x] Wirklich ausgeführte Gates mit Ausgabe; rote oder übersprungene Gates benannt; Rückfallplan genannt — Gate-Tabellen (Frischlauf vor und nach den Fixes) und Rückfallplan im Handoff-Abschnitt; übersprungen: `build-deb.sh`, Wayland-Screenshot, manuelle Zorin-Checks (benannt)
- [x] Kein Merge, Release oder Policy-Update ohne gesonderte Freigabe — eingehalten: bis zum Handoff-Commit kein Push; Push + PR (ohne Merge) freigegeben von Basti am 2026-10-17, erst nach dem Handoff-Commit; #96 bleibt bis zur Abnahme offen

## Abhängigkeiten
Blockiert durch: #91, #93, #94
Expand Down
388 changes: 388 additions & 0 deletions docs/mla-next/MONITOR.md

Large diffs are not rendered by default.

23 changes: 15 additions & 8 deletions docs/mla-next/TOKENS.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Schemata dunkle Tinte. Elevation entsteht aus 1px-Border, nicht aus Schatten.
| opacityFaint / opacityMuted / opacityStrong | 0.42 / 0.56 / 0.75 | Entwertung von Metadaten über Opacity, nie über andere Farbe |
| fontMono | `monospace` | generischer Alias (kein gebundelter Font) |
| layoutSidebarMin | 280 | Mindestbreite rechte Detail-Leiste |
| layoutPanePos | 850 | Startposition des Trenners (Gtk.Paned) |
| layoutPanePos | 850 | Startposition des Trenners (Gtk.Paned), ab dessen linker Kante (rechts der Nav-Sidebar); auf `Paned-Breite − 1 − layoutSidebarMin` geklemmt (`shrink-end-child=False`) |
| layoutWindow | 1200 × 780 | Fenster-Defaultgröße |

## 3. Typografie (Adw-Klassen als Typo-Tokens)
Expand Down Expand Up @@ -156,10 +156,17 @@ kein `@media` in provider-geladenem CSS (Parser: «Unknown @ rule», verifiziert
CSS-Klassen mit Präfix `mla-` — semantische Klassen, deren Padding-/Border-Werte die Struktur-Tokens mit px-Kommentar anwenden (z. B. `.mla-nav-label` = 12/16 px = space3/space4; keine generischen `.mla-space-*`-Utility-Klassen):
`.mla-screen` (Seitenrahmen), `.mla-details` (rechte Leiste),
`.mla-chip` + `.mla-tone-ok` … `.mla-tone-stale` (Status; stale mit
gestrichelter Border), Fokus-Outline global über `:focus-visible`. Für
Abstände gelten padding/margin-Klassen; `Gtk.Box`-`spacing`, Paned-Position
und Fenstergröße sind dokumentierte Tokens (§2), die im Code Anwendung finden
(GTK bietet dafür kein CSS-Äquivalent). Keine Hex-Farben außerhalb der
Token-Dateien — durchgesetzt per Regex-Gate in `test_tokens.py`
(vormaliger Verstoß `#b8860b` in `mla_app.py:84` ist mit diesem Paket
beseitigt).
gestrichelter Border), `.mla-drilldown` (Monitor-Drill-down, `fontMono`
aus §2, farbfrei — Textfarbe bleibt `@text`), Fokus-Outline global über
`:focus-visible`. Für Abstände gelten padding/margin-Klassen;
`Gtk.Box`-`spacing`, Paned-Position und Fenstergröße sind dokumentierte
Tokens (§2), die im Code Anwendung finden (GTK bietet dafür kein
CSS-Äquivalent). Die Monitor-Diagramme (#96) zeichnen mit Cairo und
beziehen ihre Farben ausschließlich zur Laufzeit über
`StyleContext.lookup_color()` (`border-subtle` = Grundlinie, `accent` =
Polyline; Fallback: aktuelle Textfarbe) — kein Farbwert im Quelltext.
Keine Hex-Farben außerhalb der Token-Dateien — durchgesetzt per
Regex-Gate in `test_tokens.py`, seit #96 über alle drei Shell-Dateien
`mla_app.py`, `monitor_ui.py` und `monitor_model.py` (`SCANNED_PY`);
der vormalige Verstoß `#b8860b` in `mla_app.py:84` war bereits mit dem
#91-Paket beseitigt.
Loading
Loading