Demoklart: demoärende, dashboard-filter, publik delningssida, utskrift
- Demoärende med ett klick: komplett vibrationsärende (Volvo XC60) med 1 tim 35 min historik — besvarade symptomfrågor, fyra hjulfoton, mätvärden, provkörning, inaktivitetsförklaring, överlämning mellan två tekniker och en hypotes. Testat: tidsordning, arbetstid, kvar- varande kontroller så guiden kan fortsätta live i demon. - Dashboard enligt direktivet: räknare och filter Alla/Pågående/Klara. - Publik delningssida /felsokning/delad/:kod som läser via hamta_delat_arende utan inloggning och pollar för liveuppdatering; delad vykomponent med interna förhandsvisningen; Kopiera delningslänk i rapportfliken. - Utskriftsvänlig kundrapport: svart på vitt vid utskrift, knappar och fält döljs automatiskt. - Demomanus i docs/DEMO.md med steg-för-steg-flöde och tabell över demoläge kontra produktion. Verifierat: 21 vitest-tester gröna, produktionsbygge ok, Playwright- röktest inkl. demoflödet i färsk profil. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# Guidad Felsökning – Demomanus
|
||||
|
||||
Ett 5–10 minuters manus för att visa plattformen. Allt körs lokalt utan konton eller nycklar.
|
||||
|
||||
## Förberedelser
|
||||
|
||||
```sh
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Öppna `http://localhost:8080/felsokning` — helst på mobil eller i mobilläge i webbläsaren (appen är byggd för verkstadsgolvet). Ange ett namn (allt loggas per användare).
|
||||
|
||||
Chrome rekommenderas: då fungerar även röstinmatningen (Push-to-Talk).
|
||||
|
||||
## Demoflöde
|
||||
|
||||
### 1. Dashboarden och demoärendet (1 min)
|
||||
|
||||
Klicka **Skapa demoärende (Volvo XC60, vibration)**. Ett komplett ärende med 1 tim 35 min arbetshistorik läggs in: identifierat objekt, besvarade symptomfrågor, fyra hjulfoton, mätvärden, provkörning, en överlämning mellan två tekniker och en hypotes.
|
||||
|
||||
Poäng att göra: dashboarden visar bara det viktigaste — pågående, klara, nytt ärende.
|
||||
|
||||
### 2. Ärendebriefen (2 min)
|
||||
|
||||
Öppna ärendet → fliken **Brief**. Det här är kärnargumentet:
|
||||
|
||||
- **Utförda kontroller** med resultat — inte bara kryssrutor.
|
||||
- **Ej kontrollerat** — härlett automatiskt ur metodiken; det som orsakar dubbelarbete vid skiftbyte är det ingen skrivit ner att ingen gjort.
|
||||
- **Hypoteser** tydligt märkta 🔴 — systemet presenterar aldrig en hypotes som ett konstaterat fel.
|
||||
- **Tillförlitlighet** och **total arbetstid**.
|
||||
|
||||
Poäng: en ny tekniker är produktiv på under en minut, utan att läsa hundratals loggrader.
|
||||
|
||||
### 3. Guiden och verifierade checklistor (2 min)
|
||||
|
||||
Fliken **Guide**. Metodiken fortsätter där den slutade: en fråga eller kontroll i taget, stora knappar.
|
||||
|
||||
- Visa att en mätkontroll **inte kan verifieras utan mätvärde** (knappen är låst tills värdet är ifyllt).
|
||||
- Tryck på 🎤 och diktera en observation — texten hamnar i fältet, redigerbar, och sparas först när man trycker Spara. Tal in, text ut; inget skickas automatiskt.
|
||||
- Visa kategoriknapparna (aktiv felsökning / väntetid / provkörning …) — tidrapporteringen sköter sig själv.
|
||||
|
||||
### 4. Arbetsloggen (1 min)
|
||||
|
||||
Fliken **Logg**: varje händelse tidsstämplad med användare, append-only — ingenting kan ändras eller raderas i efterhand. Peka på överlämningen mellan Anna och Johan.
|
||||
|
||||
### 5. Kundrapporten och Live Share (2 min)
|
||||
|
||||
Fliken **Rapport**:
|
||||
|
||||
- **Skriv ut / PDF** — rapporten blir svart på vitt automatiskt.
|
||||
- **Exportera JSON** — versionsmärkt (version = antal händelser), och exporten loggas själv.
|
||||
- **Öppna Live Share-vy** — det kunden ser via delningslänken: status ✔/🔄/⏳, bilder, mätvärden, tidslinje. Inga hypoteser, inga interna poster.
|
||||
|
||||
Poäng: i stället för "Felsökning – 2,5 timmar" på fakturan får kunden en tidslinje över vad som faktiskt gjorts.
|
||||
|
||||
### 6. Avsluta med filosofin (30 sek)
|
||||
|
||||
> Systemet dokumenterar observationer, leder användaren genom verifierbara kontroller och rekommenderar nästa steg — men presenterar aldrig en hypotes som ett konstaterat fel.
|
||||
|
||||
Det ersätter inte teknikern. Det ersätter pärmen, minneslapparna och "fråga Kent, han skruvade på den i torsdags".
|
||||
|
||||
## Vad som är demoläge respektive produktion
|
||||
|
||||
| I demon | I produktion |
|
||||
| --- | --- |
|
||||
| Deterministisk metodikmotor (3 metodiker) | LLM väljer/genererar steg genom samma motorgränssnitt |
|
||||
| Webbläsarens taligenkänning | Leverantörens Voice-to-Text bakom samma gränssnitt |
|
||||
| localStorage + synk vid inloggning | Multi-tenant-backend (migration finns), roller enligt Master Prompt |
|
||||
| Delningslänk kräver synkat ärende | Live Share med behörighetsnivåer kund/intern/partner |
|
||||
| Demobilder ritade av systemet | Riktiga foton via kameran (fungerar redan i demon också) |
|
||||
+6
-2
@@ -7,9 +7,11 @@ Första körbara versionen av kärnan i [Master Prompt v1.0](MASTER-PROMPT.md).
|
||||
```sh
|
||||
npm install
|
||||
npm run dev # öppna http://localhost:8080/felsokning
|
||||
npm test # projektionstester
|
||||
npm test # projektions-, synk- och demotester
|
||||
```
|
||||
|
||||
Demomanus för visning: [DEMO.md](DEMO.md). Knappen **Skapa demoärende** på startsidan lägger in ett komplett vibrationsärende med 1 tim 35 min historik.
|
||||
|
||||
## Vad som ingår
|
||||
|
||||
| Direktivets kärna | Status i MVP |
|
||||
@@ -27,7 +29,9 @@ npm test # projektionstester
|
||||
| Export | ✅ Versionsmärkt JSON-export (version = antal händelser vid exporttillfället, med användare och tidpunkt); exporten loggas själv som händelse. PDF via utskrift. CSV och API i backend-fasen. |
|
||||
| Backend & synk | ✅ Databas-migration (`supabase/migrations/20260802230000_guidad_felsokning.sql`): ärenden + händelser med RLS, append-only även i databasen (inga update/delete-rättigheter). Synklager i klienten: konfliktfri ihopflätning av händelser per id (testad), push av lokala + pull av kollegors händelser var 15:e sekund. Utan inloggning arbetar appen i lokalt läge; status visas i ärendehuvudet. |
|
||||
| Metodiker | ✅ Tre: vibration, elsystem/strömförsörjning (relä-exemplet ur visionen) och generisk — vald automatiskt utifrån felbeskrivningen. |
|
||||
| Live Share | ✅ Skrivskyddad livevy per ärende (`/felsokning/dela/:id`): status ✔/🔄/⏳, bilder, mätvärdestabell, tidslinje, rekommenderat nästa steg. Uppdateras automatiskt, interna poster filtreras bort. Anonym extern åtkomst via delningskod är förberedd i databasen (security definer-funktion `hamta_delat_arende`); varje ärende får en slumpad delningskod vid skapande. Behörighetsnivåer (kund/intern/partner) i nästa fas. |
|
||||
| Live Share | ✅ Skrivskyddad livevy per ärende (`/felsokning/dela/:id`): status ✔/🔄/⏳, bilder, mätvärdestabell, tidslinje, rekommenderat nästa steg. Uppdateras automatiskt, interna poster filtreras bort. Publik delningssida (`/felsokning/delad/:kod`) läser via `hamta_delat_arende` utan inloggning och pollar för liveuppdatering; "Kopiera delningslänk" finns i rapportfliken. Behörighetsnivåer (kund/intern/partner) i nästa fas. |
|
||||
| Dashboard | ✅ Enligt direktivet: räknare och filter för Alla/Pågående/Klara plus Starta nytt ärende. |
|
||||
| Utskrift | ✅ Kundrapport och Live Share-vy skrivs ut svart på vitt; interaktiva element döljs automatiskt. |
|
||||
| Öppet API | 🔶 Datamodellen är API-klar (händelser som JSON i Postgres). REST/OpenAPI-lager i nästa fas. |
|
||||
|
||||
## Arkitekturprinciper i koden
|
||||
|
||||
Reference in New Issue
Block a user