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:
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user