docs(run): RUN.md reflects implemented live mode

Update stale copy: CTA is 'App öffnen', nav includes Freigaben/Recht,
gRPC-Web web live works today (not a Phase-1 todo), and the live
heatmap is filled via submit()→outputs per norm — not by reading
flow.completed events (the audit log stores no outputs).

Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
flemming-it 2026-06-19 02:59:08 +02:00
parent c3f76e23bf
commit 312d47ddfc

33
RUN.md
View file

@ -47,9 +47,13 @@ einem frischen Checkout an `com.apple.provenance`-xattrs scheitern
(macOS-Eigenheit bei via curl/iCloud erstellten Dateien) — dann (macOS-Eigenheit bei via curl/iCloud erstellten Dateien) — dann
einmal `./build-macos.sh` und danach `flutter run -d macos`. einmal `./build-macos.sh` und danach `flutter run -d macos`.
Erwartet: Brand-Landing → Klick auf „App öffnen (Demo-Modus)" → Erwartet: Brand-Landing → Klick auf „App öffnen" →
NavigationRail (Heatmap / Normen / Hub / Methodik) mit fünf NavigationRail (Heatmap / Normen / Freigaben / Hub / Methodik / Recht)
Pilot-Norm-Punkten und einem permanenten T4-Demo-Banner. mit fünf Pilot-Norm-Punkten. Default ist der **Live-Hub-Modus**
(läuft ein `chain serve` auf 127.0.0.1:50051, werden die fünf Normen
live ausgewertet — `submit` pro Norm, echte skm/benefit-Achsen). Ohne
Hub bzw. mit Demo-Toggle im Hub-Reiter: die fünf Fixtures mit
T4-Demo-Banner.
Test-Suite (smoke): Test-Suite (smoke):
```bash ```bash
@ -63,10 +67,11 @@ cd app
./serve-web.sh # baut + serviert auf http://127.0.0.1:8080 ./serve-web.sh # baut + serviert auf http://127.0.0.1:8080
``` ```
Funktioniert im Demo-/Mock-Modus 1:1. Im Live-Hub-Modus Funktioniert im Demo- **und** im Live-Hub-Modus: die SDK wählt per
braucht die Web-Variante zusätzlich einen gRPC-Web-Branch in conditional import den `GrpcWebClientChannel`, sodass der Browser
`chain_client_sdk_dart` (Phase 1, dokumentiert in denselben Hub auf 127.0.0.1:50051 erreicht (verifiziert: „App öffnen"
docs/architecture/protocol-surfaces.md des Ch∆In-Repos). feuert 5× `Submit` über gRPC-Web). Der Hub muss gRPC-Web anbieten —
`chain serve` tut das auf einer Loopback-Bindung von Haus aus.
Produktion: build/web/ auf einen statischen Host kippen Produktion: build/web/ auf einen statischen Host kippen
(F∆I-Pattern: Hetzner-CX + Caddy mit Auto-HTTPS, analog (F∆I-Pattern: Hetzner-CX + Caddy mit Auto-HTTPS, analog
@ -82,10 +87,14 @@ fai_chain-Setup):
3. „Verbindung testen" → erwartet `healthy=true` 3. „Verbindung testen" → erwartet `healthy=true`
4. Falls capabilities installiert sind: „Installierte 4. Falls capabilities installiert sind: „Installierte
Capabilities" listet sie auf Capabilities" listet sie auf
5. Nach `chain run flows/durchstich-gewo-14.yaml` und einem 5. Der Heatmap-Tab füllt sich automatisch live: `HubRepository.list()`
`system.approval`-Approve wird der Heatmap-Tab live gefüllt führt pro Pilot-Norm den `reclaim-evaluate`-Flow via `submit()` aus
(HubRepository.list liest `flow.completed`-Events aus dem (json-Inputs für skm/benefit) und mappt `SubmitResponse.outputs`
Audit-Log und übersetzt sie in Evaluation-Objekte) (norm/skm/benefit/frust/cohort/duties) in Evaluation-Objekte. Kein
manuelles `chain run` nötig — die App treibt die Flows selbst. (Der
Audit-Log speichert keine Outputs, nur Hashes; daher der
submit-Pfad statt eventLog.) Offene `system.approval`-Aufgaben
erscheinen separat im „Freigaben"-Reiter zur juristischen Bestätigung.
## Modul-Tests (lokal grün ohne Hub) ## Modul-Tests (lokal grün ohne Hub)
@ -108,7 +117,7 @@ cargo build --release --target wasm32-wasip2
Selber Aufruf für die anderen sieben Verzeichnisse. Selber Aufruf für die anderen sieben Verzeichnisse.
## Live-Flow (sobald `chain serve` läuft — Phase 0 Woche 1) ## Live-Flow (Default, sobald `chain serve` läuft)
```bash ```bash
chain serve & chain serve &