Master Prompt v2.0 + röstinmatning, verifierade checklistor och export

Dokumentation:
- MASTER-PROMPT.md uppdaterad till v2.0 (SaaS/AI-wrapper, roller,
  multi-tenant, onboarding, beta-fokus).
- Nya moduler: kommunikationsmodell (tal in/text ut, Push-to-Talk,
  redigering före skick), Live Share (behörighetsstyrd realtidslänk,
  versionsmärkta exporter), verifierade checklistor (bevis och kontext
  per kontrolltyp).

Implementation i MVP:t:
- Push-to-Talk-röstinmatning via webbläsarens taligenkänning (sv-SE):
  lyssnar endast efter aktivt tryck, röd indikator med realtids-
  transkript, texten hamnar i redigerbart fält och skickas aldrig
  automatiskt. Döljs i webbläsare utan talstöd.
- Verifierade checklistor: varje kontroll i metodikerna har minimikrav
  (foto/mätvärde/kommentar); fotokontroller verifieras med bild och
  mätkontroller kan inte markeras verifierade utan värde.
- Versionsmärkt JSON-export ur händelseloggen; exporten loggas själv
  som händelse med format, version och användare.

Verifierat: 12 vitest-tester gröna, produktionsbygge ok, utökat
Playwright-röktest genom hela flödet inkl. fotokravet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
This commit is contained in:
Claude
2026-08-02 22:40:47 +00:00
parent 92fa8d6716
commit 7b6619133f
13 changed files with 600 additions and 210 deletions
+78
View File
@@ -0,0 +1,78 @@
# Modul: Kommunikationsmodell (röst)
## Grundprincip
**Användaren pratar, systemet skriver.**
Systemet använder tal-till-text (Voice-to-Text) för all röstinmatning. Teknikern ska aldrig behöva skriva med tangentbord under ett pågående arbete.
Ingen röstagent: systemet för inte ett löpande röstsamtal, läser inte upp långa svar och försöker inte efterlikna en mänsklig konversation. Kommunikationen är **tal in, text ut**.
## Viktig designprincip
> All röst behandlas som ett inmatningssätt, inte som ett separat gränssnitt.
All logik i systemet bygger på text. Voice-to-Text är endast ett sätt att skapa den texten. Det gör lösningen enklare att underhålla, enklare att söka i, enklare att exportera och enklare att utveckla vidare med nya AI-modeller i framtiden.
## Arbetsflöde
1. Teknikern trycker på mikrofonen: *"Jag har mätt mellan stift 14 och jord. Jag får 12,4 volt."*
2. Voice-to-Text transkriberar talet.
3. Den transkriberade texten skickas till AI:n som en vanlig textförfrågan.
4. AI:n svarar alltid skriftligt: *Verifierat: Matningsspänning finns på stift 14. Nästa steg: Kontrollera jordanslutningen på stift 7.*
## Varför detta val?
- fungerar bättre i bullriga verkstäder,
- ger en permanent textlogg utan extra steg,
- gör det enkelt att söka i historiken,
- minskar risken för missförstånd jämfört med ett kontinuerligt röstsamtal,
- passar bättre när flera tekniker arbetar i samma ärende.
## Push-to-Talk (PTT)
Röstinmatning fungerar enligt Push-to-Talk. Appen lyssnar **endast** när användaren aktivt håller inne mikrofonknappen eller har startat en tydlig inspelning. Ingen bakgrundslyssning. Ingen automatisk aktivering.
### Flöde
1. Användaren håller inne mikrofonknappen (eller trycker på en tydlig "Spela in"-knapp beroende på plattform).
2. Inspelning startar omedelbart.
3. Appen visar tydligt att inspelning pågår: röd indikator, timer, ljudnivåmätare, texten "Inspelning pågår".
4. Talet transkriberas i realtid — användaren ser texten växa fram och får direkt återkoppling om talet uppfattats korrekt.
5. När inspelningen avslutas visas den transkriberade texten i ett **redigerbart** textfält.
6. Användaren kan godkänna, redigera eller spela in på nytt.
7. **Först när användaren bekräftar** skickas texten vidare till AI:n och sparas i arbetsloggen.
### Redigering före skick
Transkriberingen är alltid redigerbar. Vanliga korrigeringar: registreringsnummer, serienummer, komponentbeteckningar, personnamn, facktermer.
**"Skicka" sker aldrig automatiskt.** Teknikern får alltid en snabb chans att rätta transkriberingen innan den blir en del av den permanenta arbetsloggen. Det minskar risken för felaktiga registreringsnummer, komponentbeteckningar och mätvärden.
### Ingen dold funktionalitet
Användaren ska alltid kunna se:
- när inspelning pågår,
- när den är avslutad,
- vad som kommer att skickas,
- vad som faktiskt har sparats.
Det ska aldrig råda någon tvekan om när ljud spelas in eller när information skickas.
## Automatisk journalföring
Varje transkriberad mening blir automatiskt en del av arbetsloggen:
```
08:14 "Mätt spänning mellan stift 14 och jord. 12,4 volt."
08:14 AI: Matningsspänning verifierad.
08:15 "Relä klickar inte."
08:15 AI: Kontrollera styrsignal till relä.
```
Allt sparas utan att teknikern behöver skriva en enda rad.
## Handsfree-arbete
Appen är optimerad för upptagna eller smutsiga händer. Under ett normalt ärende ska användaren kunna identifiera objektet med kameran, fotografera komponenter, diktera observationer, få nästa steg presenterat och fortsätta arbetet — utan att skriva manuellt. Gränssnittet ska fungera med handskar, smutsiga händer, starkt solljus, buller och vibrationer; mikrofonknappen är stor, lätt att träffa och har tydlig visuell återkoppling.
+70
View File
@@ -0,0 +1,70 @@
# Modul: Live Share
## Syfte
Varje ärende kan publiceras via en unik säker delningslänk. Länken visar ärendets aktuella status i realtid och uppdateras automatiskt när ny information registreras. Ingen manuell export behövs.
En livevy ger stort värde för kunder, arbetsledare, försäkringsbolag och tillverkare — men den ska **alltid vara under verkstadens kontroll**, med tydliga behörigheter och säkerhetsnivåer.
## Exempel på kundvy
```
Ärende: Volvo XC60
Status: 🟢 Felsökning pågår
Kundens felbeskrivning
Bilen vibrerar vid cirka 88 km/h.
Aktuell status
✔ Objekt identifierat
✔ Provkörning utförd
✔ Däck dokumenterade
✔ Lufttryck kontrollerat
🔄 Hjulbalansering kontrolleras
⏳ Drivaxlar ej kontrollerade
Bilder · Mätvärden · Tidslinje
Rekommenderat nästa steg
Kontroll av radialkast.
```
## Liveuppdatering
När teknikern arbetar uppdateras sidan automatiskt, utan omladdning. Mottagaren ser direkt nya bilder, nya mätvärden, nya kommentarer och statusändringar.
## Behörighetsnivåer
Länkar kan skapas med olika åtkomstnivåer:
- **Kund** läsbehörighet till den information verkstaden valt att dela.
- **Intern** full insyn för kollegor och arbetsledare.
- **Extern partner** exempelvis försäkringsbolag eller tillverkare, med avgränsad information.
## Export
Från samma ärende ska det gå att exportera:
- PDF
- JSON
- CSV
- API
- Utskriftsvänlig HTML
Alla exporter bygger på samma datakälla (händelseloggen), vilket minskar risken för avvikelser.
## Versionshantering
Varje export märks med:
- versionsnummer,
- datum,
- tid,
- vem som exporterade,
- exportformat.
Det gör det möjligt att i efterhand se exakt vilken information som delades vid en viss tidpunkt.
## Produktvision
Ett felsökningsärende är inte bara en chatt eller en logg, utan en **levande digital arbetsjournal**. Den kan följas i realtid, tas över av en kollega, granskas av en arbetsledare, delas med kunden och avslutas med en komplett rapport — allt från samma datamodell. Det minskar dubbelarbete och gör att alla parter utgår från samma aktuella information.
+73
View File
@@ -0,0 +1,73 @@
# Modul: Verifierade checklistor
## Grundprincip
En kontrollpunkt är inte slutförd enbart genom att kryssa i en ruta.
Systemet registrerar inte bara *att* en ruta har kryssats i — det samlar in **bevis och kontext**. Varje kontroll ska innehålla ett eller flera av följande:
- ✔ Bekräftelse att kontrollen är utförd.
- 📝 Kort observation eller slutsats.
- 📷 Foto (när det är relevant).
- 📹 Video (vid behov).
- 🎤 Tal-till-text (för snabb dokumentation).
- 📏 Mätvärde (när tillämpligt).
På så sätt blir varje moment både spårbart och begripligt.
## Exempel
**Kontrollera batterispänning**
> Teknikern markerar "Utförd".
> Systemet: *Vilket värde uppmättes?* → **12,63 V**
> Systemet: *Hur mättes detta? (valfritt)* → **Direkt på batteripolerna.**
> Kontrollpunkten markeras som verifierad.
**Kontrollera säkring F24**
> ✔ Utförd
> Systemet: *Vad observerades?* → **Säkringen är hel och spänning finns på båda sidor.**
> Kontrollpunkten avslutas.
## AI:s roll
AI:n hjälper till att upptäcka när dokumentationen verkar ofullständig:
> "Du har markerat att hjulbalanseringen är kontrollerad, men ingen observation eller mätning har registrerats. Vill du lägga till en kort kommentar innan du går vidare?"
Det ska vara ett **stöd, inte ett hinder**.
## Anpassning efter kontrolltyp
Alla moment behöver inte samma nivå av dokumentation.
| Kontrolltyp | Minimikrav |
| --- | --- |
| Visuell kontroll | Bekräftelse + kort kommentar |
| Mätning | Mätvärde + kommentar |
| Demontering | Kommentar, foto vid behov |
| Provkörning | Sammanfattning av resultat |
| Bildbaserad kontroll | Foto + observation |
## Syfte
Målet är inte att "fånga" teknikern, utan att skapa ett arbetsunderlag som visar:
- vad som kontrollerades,
- hur det kontrollerades,
- vad resultatet blev,
- och vilka slutsatser som är rimliga att dra.
Det stärker kvaliteten i arbetet, gör överlämningar enklare och ger ett bättre underlag gentemot kund och arbetsledning.
## Viktig designprincip
Undvik att göra fritext obligatorisk överallt. Om varje kontroll kräver långa texter upplevs systemet snabbt som tungrott. Använd i stället en kombination av:
- förvalda svar där det passar,
- kort tal-till-text för observationer,
- mätvärdesfält,
- och foto eller video när det ger mest värde.
Då blir dokumentationen rik utan att arbetsflödet bromsas — och teknikerna använder systemet konsekvent i vardagen.