diff --git a/RUN.md b/RUN.md index e158c49..54b2806 100644 --- a/RUN.md +++ b/RUN.md @@ -47,9 +47,13 @@ einem frischen Checkout an `com.apple.provenance`-xattrs scheitern (macOS-Eigenheit bei via curl/iCloud erstellten Dateien) — dann einmal `./build-macos.sh` und danach `flutter run -d macos`. -Erwartet: Brand-Landing → Klick auf „App öffnen (Demo-Modus)" → -NavigationRail (Heatmap / Normen / Hub / Methodik) mit fünf -Pilot-Norm-Punkten und einem permanenten T4-Demo-Banner. +Erwartet: Brand-Landing → Klick auf „App öffnen" → +NavigationRail (Heatmap / Normen / Freigaben / Hub / Methodik / Recht) +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): ```bash @@ -63,10 +67,11 @@ cd app ./serve-web.sh # baut + serviert auf http://127.0.0.1:8080 ``` -Funktioniert im Demo-/Mock-Modus 1:1. Im Live-Hub-Modus -braucht die Web-Variante zusätzlich einen gRPC-Web-Branch in -`chain_client_sdk_dart` (Phase 1, dokumentiert in -docs/architecture/protocol-surfaces.md des Ch∆In-Repos). +Funktioniert im Demo- **und** im Live-Hub-Modus: die SDK wählt per +conditional import den `GrpcWebClientChannel`, sodass der Browser +denselben Hub auf 127.0.0.1:50051 erreicht (verifiziert: „App öffnen" +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 (F∆I-Pattern: Hetzner-CX + Caddy mit Auto-HTTPS, analog @@ -82,10 +87,14 @@ fai_chain-Setup): 3. „Verbindung testen" → erwartet `healthy=true` 4. Falls capabilities installiert sind: „Installierte Capabilities" listet sie auf -5. Nach `chain run flows/durchstich-gewo-14.yaml` und einem - `system.approval`-Approve wird der Heatmap-Tab live gefüllt - (HubRepository.list liest `flow.completed`-Events aus dem - Audit-Log und übersetzt sie in Evaluation-Objekte) +5. Der Heatmap-Tab füllt sich automatisch live: `HubRepository.list()` + führt pro Pilot-Norm den `reclaim-evaluate`-Flow via `submit()` aus + (json-Inputs für skm/benefit) und mappt `SubmitResponse.outputs` + (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) @@ -108,7 +117,7 @@ cargo build --release --target wasm32-wasip2 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 chain serve &