Demo-ul v5 verificat ecran cu ecran față de tot ce au cerut proprietarii în interviuri: cele 36 de cerințe din backlog + constatările transversale + fluxurile detaliate din Miro. Ce e acoperit, ce e parțial, ce lipsește — și cum acoperim fiecare gol.
Prima evaluare a măsurat acoperirea nevoilor (ce ecrane există). Între timp am livrat trei îmbunătățiri și am rulat un test UI adversarial care a scos la iveală un strat de defecte peste suprafețele deja acoperite. Acoperirea de fond nu s-a mutat (25 / 7 / 4 din 36); ce s-a mutat e cât de credibil și de coerent arată demo-ul în fața clientului.
Demo-ul salvează acum starea în browser — un client poate parcurge un flux complet, închide fila și regăsi totul. „Resetează" readuce datele de pornire.
PR #30 · publicat pe linkul echipei.
24 de corecturi: 6 mecanici, 11 clienți fără vehicule orfane, calendar pe „azi", marjă 58%, facturi legate de oferte, ITP fără „expirat". Nimic care să deruteze la demo.
PR #31 · audit pe 5 verificatori.
Înregistrare reproductibilă a unui flux complet cap-coadă (toate fazele + portal client), 73 s, pentru marketing și demo.
assets/demo/lafix-demo.mp4
Cele 32 de defecte (taxonomie fază, navigare, piese ne-imbricate, transparență AI, text RO) + 2 bug-uri găsite din mers (coadă recepție, constatare proaspătă) au fost reparate pe 28 iun; au urmat încă 9 runde de QA (până la 4 iul.), toate închise.
Verificat cu testul E2E automat — vezi §04.
Am citit toate documentele de interviu și am parcurs fiecare ecran al demo-ului v5. „Acoperit" = nevoia are o suprafață funcțională în v5 pe care un utilizator o poate atinge și folosi (chiar dacă datele sunt simulate). Nu evaluez codul de backend — doar dacă experiența cerută de client există în produs.
Pe scurt: tot nucleul operativ cap-coadă — recepție (3 metode), constatare cu pontaj, ofertare cu variante și aprobare în portal, aprovizionare multi-furnizor, execuție cu normativ-vs-pontat, finalizare, facturare e-Factura/RAR — e acoperit și jucabil. Plus integrările și finisajele livrate: semnătură DocuSign (recepție · portal · predare), plată Stripe (Apple Pay / Google Pay / card, portal + birou), export contabilitate (SAGA/SmartBill/WinMentor + SAF-T D406), GDPR „dreptul de a fi uitat", feedback post-service, și acum stoc cu cod de bare + multi-gestiune (recepție prin scanare, transfer între hale, jurnal de mișcări). Golurile rămase: modulul complet de dosare daună (Audatex, plată asigurător) și un bot WhatsApp conversațional autonom (v2).
| ✅ | Status, oferte, dovezi foto · aprobare pe link Portal client: stadiu mașină live + Aprob/Refuz oferta cu liniile devizului. Dovada Rubin (C). |
| ✅ | Istoric service digital complet (devize, facturi) + export Portalul are acum „Istoricul meu" — vizite, devize și facturi descărcabile pentru client. Plus export registru (CSV) în Baza Clienți. |
| ✅ | Fluxuri automate (WhatsApp/SMS/Email) pe evenimente Setări · WhatsApp: șabloane legate la evenimente (programare, ofertă, mașina gata, ITP, predare), editabile + validate. |
| ✅ | Mesaje personalizate (relația umană păstrată) Panoul Relație Client cu fir WhatsApp + „Comunică acum" în Recepție, Programări, Bază Clienți. |
| 🟡 | Bot LaFix pe WhatsApp (preia talon+problemă+zi) Recepția poate porni dintr-un mesaj WhatsApp și extrage plăcuța/problema — dar e asistat de operator, nu un bot conversațional autonom. (v2 oricum.) |
| ✅ | Calendar programări (zi/săptămână/lună) Programări: calendar pe coloane de stație (stil Outlook), grilă orară săptămânală, lună, cod de culoare pe tip. |
| ✅ | Mentenanță predictivă (ITP / rulaj) Casetă proactivă ITP ≤30/60 zile cu „pregătește mesaje" + reprogramare (Gogu doar propune — programarea rămâne neconfirmată până o aprobă omul); proiecții viitoare pe fișa clientului (revizie, distribuție, ITP). |
| ✅ | GDPR: consimțământ + „dreptul de a fi uitat" Pe fișa clientului există „Șterge datele / Anonimizează" (cu confirmare + intrare în Audit). Consimțământul + politica CNP rămân. |
| ✅ | Feedback / review post-service La predare, portalul cere rating 1–5 + comentariu; media apare în Rapoarte (caseta „Satisfacție clienți"). |
| ✅ | VRM lookup (VIN/marcă/model din nr.) Recepție: hint Gogu „verific ITP după număr"; metoda Talon completează marca/model/an. |
| ✅ | Captură poze documente (talon) — OCR Metoda Talon (OCR): scanezi → Gogu extrage datele vehiculului. |
| ✅ | Notare probleme client („bate la roata stângă") Câmp problemă reclamată + categorii + prioritate pe fișa de recepție. |
| ✅ | Fișă recepție digitală (checklist, km, combustibil) Fișă cu detalii vehicul din talon (km, combustibil, ITP, VIN) + checklist + sursă. |
| ✅ | Captură foto stare mașină Chip „foto" pe dovezi; captură multi-slot în fluxul de recepție. |
| ✅ | Captură rezultat tester (pre) Tester capturat la recepție + buclă de învățare predicție categorie. |
| ✅ | 3 metode de intrare (Manual / Talon / WhatsApp) Selector explicit de metodă în „Recepție nouă", toate funcționale. |
| ✅ | Culegere semnătură pe acte la recepție Pain-point #1 POC — rezolvat. Semnătură electronică DocuSign la recepție (acord GDPR + ordin de reparație), în portal (contract) și la predare. integrations.jsx · SignModal |
| ✅ | Visual check (poze/video defecte) Dovezi foto pe constatare (video amânat, ca în backlog). |
| ✅ | Alocare mecanic (după disponibilitate + competențe) Picker de alocare cu skill + status + recomandare Gogu. |
| ✅ | Alocare stație/platformă (liberă / schimb / independent) Selector de platformă în picker-ul de alocare. |
| ✅ | Note interne (mecanic ↔ recepție, invizibile clientului) Notele se pot marca „🔒 intern — invizibil clientului" în constatare, cu stil distinct. Voice-to-text amânat. |
| ✅ | Precomenzi piese din constatare Comandă anticipată (bypass) a pieselor direct din constatare/ofertare. |
| ✅ | Foaie service digitală + operațiuni/piese din normativ Constatare = deviz complet: operațiuni + piese alese din listă, cu căutare furnizori. |
| ✅ | Integrare furnizori (Autonet, Inter Cars) — căutare preț/livrare/calitate Căutare multi-furnizor din Constatare + Ofertare + Aprovizionare, cu raționament Gogu pe recomandare. |
| ✅ | Ofertă cu 2-3 variante (original/aftermarket) Ofertare: variante OEM + aftermarket, discounturi total/parțial. |
| ✅ | Trimitere ofertă cu link de aprobare (WhatsApp) „Generează link semnat de aprobare → Portal"; clientul aprobă în portal. |
| ✅ | Emitere + semnare digitală contract reparație După aprobarea ofertei, clientul semnează contractul cu DocuSign în portal; documentul semnat intră în istoricul mașinii. Plus plată Stripe (Apple Pay / Google Pay / card) din portal sau la birou. Grija legală — acoperită. |
| ✅ | Dashboard Kanban în timp real Board-uri pe sub-status (Atelier, Constatare, Ofertare, Execuție, Finalizare) — pattern unic. |
| ✅ | Algoritm optimizare încărcare elevatoare/stații Atelier are „Auto-aranjează ziua" — propunere de încărcare optimă pe elevatoare/stații, cu „de ce?" și „Aplică". |
| ✅ | Start/stop „no clutter" pentru mecanici Pontaj per-operațiune Start/Pauză/Gata, vizual minimal. |
| ✅ | Gestiune elemente neprevăzute (re-constatare) Acțiune „Reconstatare" din execuție → înapoi în flux + notificare; retururi piese în Depozit. |
| ✅ | Gestiune avansată stoc (barcode, multi-gestiune) „Stoc · Gestiune": referințe normalizate × cantități pe gestiune (Centru/Vest/Nord) × jurnal de mișcări. Scaner cod de bare (mock) pentru recepție/transfer/consum, comutare gestiune din antet, cod de bare vizual per referință. Acoperit de E2E (scenariul „stoc-barcode"). |
| ✅ | Pontaj electronic Pontaj per-operațiune cu comparație normativ vs. pontat (· peste normativ). |
| ✅ | Calcul automat bonusuri performanță Echipă arată acum vederea agregată per mecanic: ore peste normativ → bonus estimat. |
| ✅ | Skill-based routing Echipă cu competențe + certificări; alocarea filtrează după skill. |
| ✅ | e-Factura (ANAF) + SPV Contabilitate: facturi cu status ANAF (ok/procesare/eroare) + integrare SPV/e-Factura în Setări. |
| ✅ | Documente RAROM (RAR) Integrare RAR în Setări (ITP, istoric tehnic); RAR îi dă Gogu istoricul la constatare. |
| ✅ | Integrare contabilitate (SAGA, SmartBill, WinMentor, Xero, QB) Contabilitate are „Exportă în contabilitate" — SAGA / SmartBill / WinMentor + Export SAF-T D406 (CSV) pe perioadă. Conectate în Setări · Integrări. |
| ✅ | Corelare piese ↔ mașină ↔ factură Piesele sunt legate de deviz/recepție; devizul contractat devine factură. |
| ✅ | Rapoarte operaționale + financiare Rapoarte: KPI executiv + întrebări în limbaj natural către Gogu (încasări, marjă, ITP). |
| ✅ | Registru clienți exportabil Baza Clienți are butonul „Exportă registru (CSV)". |
| ✅ | Module / permisiuni per rol Roluri Personal: matrice RBAC editabilă + adăugare rol; Audit live cu actor. |
Test UI adversarial (51 de verificatori, 28 iun 2026): demo-ul cap-coadă trece — toate cele 6 tranziții de fază funcționează, porțile sunt respectate, finalizarea emite factură. 32 de defecte au fost confirmate pe ecrane „acoperite" + 2 bug-uri găsite din mers — toate remediate pe 28 iun și re-verificate cu un test E2E automat (clicuri/hover/typing reale). Suita a crescut între timp la 26 de scenarii de integritate (golden cap-coadă + glass-breakers + stoc-barcode, export-contabil, GDPR, P2 — cu toate cele 8 roluri ca actori) plus tururi de pagini, fiecare cu propriul video; baza nouă de verificări se stabilește la închiderea v5. Lista de mai jos e păstrată ca evidență a ce s-a reparat.
| 🟠 | Taxonomie fază inconsecventă Pagina Flux Operativ (Setări) numește faza 4 „Negociere", dar pipeline-ul, board-ul și dashboard-urile o numesc „Aprovizionare". Sursa de adevăr e prototipul: negocierea e o sub-stare a Ofertării, nu o fază. Fix: redenumește în Flux Operativ. pages-exec2.jsx:57 |
| 🟠 | Navigare: Facturare fără intrare în meniu Ecranul Facturare e atins doar prin notificări și legături încrucișate — nu are item de sidebar în niciun rol. Plus: butonul „Adaugă integrare" duce la o rută inexistentă („Ecran necunoscut"). Fix: item de meniu pentru Facturare + corectează ținta butonului. |
| 🟠 | Invariant: piese ne-imbricate sub operațiuni În constatare/deviz piesele apar ca listă plată paralelă cu operațiunile, nu cuibărite sub ele — contrazice regula de business „piesele stau sub operațiune". Plus: avansarea stării piesei poate regresa (forward-only încălcat). constatare.jsx |
| 🟠 | Transparență AI fără „de ce?" Cardul de ofertă spune „calculez marja", dar marja nu e arătată; „Proiecții estimate de Gogu" și „✦ recomandat" din portal afișează valori AI fără încredere/proveniență. Fiecare valoare calculată ar trebui să poarte un „de ce?". Fix: popover de proveniență pe valorile Gogu. |
| 🟠 | Tarif manoperă codat în cod Politica LABOR_RATE = 45 €/h ar trebui citită din configurare; în prototip e codată direct, iar câmpul de politică e mort. Fix: leagă tariful de Configurare. |
| 🟡 | Puritate text românesc Scurgeri de englezisme: „Upload", „login OTP", „feed-ul", „dashboard-ul/widget-uri", „Reset" (vs Resetează), „3rd-party", „cashflow", „aftermarket". Convenția: text doar în română DEX. Fix: înlocuiri punctuale. |
| 🟡 | Cod mort / dublat Componente definite de două ori (PageFluxuri, PageAsistent + 5 pagini) — copiile umbrite din pages-exec.jsx sunt moarte. Curățenie tehnică, fără efect vizibil. Fix: șterge dublurile. |
Șase teme au apărut în discuții fără linie în backlog. Vestea bună: jumătate sunt deja în v5.
Owner B: 50 mașini, logistică separată (revizii, asigurări).
✅ Acoperit — pagina Auto la Schimb (board disponibile/alocate + calendar).
R1, Z: „trebuie evidență de retururi".
✅ Acoperit — status „Retur" + „Marchează retur" în Depozit.
R1: două PDF-uri, înainte și după.
✅ Acoperit conceptual — tester la recepție + la finalizare. (Stocarea PDF nu e explicită.)
Owner B (volum principal), R1 (mix 180 comenzi/lună): reconstatare, plată asigurător, contract mandat.
🟡 Început — tip „Daună" la recepție (asigurator · dosar · franșiză). Modulul complet (Audatex, plată asigurător) rămâne.
B are 7 firme; A1 plănuiește a 2-a hală.
✅ Selector de hală/locație în antet (Hala Centru · Vest · Punct Nord). Datele rămân simulate per locație.
A1: „vrea să păstreze istoricul" — blocant de adopție.
🟡 Lipsă — fără flux de import/onboarding.
Câteva tensiuni reale între proprietari. Recomand ca v5 să le rezolve prin configurare, nu printr-o decizie unică impusă.
Prioritizat după valoarea pentru client și după cât de des a apărut în interviuri — nu după efort.
Toate defectele 🟠/🟡 de pe suprafețe acoperite au fost reparate și re-verificate cu un test E2E care conduce tot ciclul cu clicuri/hover/typing reale și asertează fiecare control.
Evidență: frontend/scripts/lafix-e2e-demo.mjs (suită verde; bază nouă la închiderea v5) + video în assets/demo/.
Cea mai citată durere, punctul #1 al POC-ului — acum construită. Semnătură electronică DocuSign în trei locuri.
SignModal (DocuSign) la recepție (acord GDPR + ordin de reparație), în portal (contract de reparație la aprobare) și la predare (proces-verbal). Documentul semnat intră în istoricul mașinii; DocuSign apare „Conectat" în Setări · Integrări.Evidență: integrations.jsx · reducer SIGN_DOC · acoperit de testul E2E (golden + scenariul „semnături + plată la birou").
Clientul poate plăti factura singur, fără drum la service — sau cardul/Apple Pay la birou la predare.
PaymentSheet stil Stripe (Apple Pay / Google Pay / card într-un singur sheet, 3-D Secure) în portal (plata facturii) și la birou (încasare la predare). Marchează factura „plătită" + notifică contabilul. Demonstrativ — niciun card real procesat. Stripe „Conectat" în Setări.Evidență: integrations.jsx · reducer PAY_INVOICE · acoperit de E2E.
Fiecare owner intervievat folosește deja un soft de contabilitate extern. Fără un export curat, sistemul nu intră în uz.
Evidență: A1 „SAGA / SmartBill"; R1 contabilitate externă; B 7 societăți.
Pentru service-urile daune-heavy (B — volum principal) e un al doilea flux complet: reconstatare, deviz Audatex, contract mandat, plată asigurător.
Evidență: B (daune = volumul principal, 7 firme); R1 (mix 180 comenzi/lună).
Consimțământul se afișează, dar lipsește acțiunea de ștergere/anonimizare la cerere. Și clientul nu-și vede istoricul în portal.
Evidență: R1 „CNP e dată personală"; B „GDPR alerte"; A1 „export bun la date când pleacă un client".
Nicio captură de satisfacție după predare — universal agreat ca valoros.
Evidență: A3 listat în priorități owner; Client + Patron.
Depozitul avea doar status + filtre, pe o singură gestiune. Service-urile cu mai multe hale au nevoie de stoc separat pe gestiune și de recepție rapidă prin scanare.
Evidență: A1 a 2-a hală; B 7 firme; Z gestiune stoc; cerința „barcode + multi-gestiune".
Lucruri prezente parțial, care cer doar un pas în plus:
Evidență: A1 bonusuri „30lei/oră peste normativ"; flows „doar vizibilitate internă"; A1 export; Z auto-alocator.