administrarea firmei, bazată pe surse
Prototip
Administrarea firmei, pusă în ordine.
Rândui transformă o procedură administrativă din România într-un serviciu versionat pe un singur motor: formulare, reguli, documente, surse oficiale, aprobări umane, mesaje și plăți, niciunul introdus direct într-un wizard. Înființarea firmei este primul serviciu; schimbarea sediului social este al doilea. Numele este verbul care înseamnă așezarea lucrurilor într-o ordine utilă și urmărită. A înlocuit numele de lucru Temei, care încă denumește depozitul de cod și pachetele, și este aprobat ca direcție de produs, nu verificat încă drept marcă. Platforma este construită după întreaga specificație și rulează local; lansarea publică așteaptă verificarea mărcii, avizele juridice și furnizorii live.
Am proiectat platforma și limitele ei: modelul de Service Pack, Company Passport și regulile lui pentru surse, porturile pentru conectori, postura de securitate și identitatea, și am condus construcția la nivel de produs complet, nu de MVP.
Imagini din proiect



Ce construim
Service Pack-uri versionate
Un serviciu este un manifest: eligibilitate, scheme de date și de interfață, documente cerute, reguli deterministe, flux, șabloane, mesaje, prețuri, referințe la surse și teste, cu un hash de versiune. Compilatorul refuză un câmp obligatoriu fără motiv și sursă, o regulă blocantă fără test și o variabilă de șablon fără mapare. Două pachete sunt în catalog astăzi.
Company Passport, implementat
Fiecare fapt despre firmă poartă sursa, data preluării și data intrării în vigoare, nivelul de încredere și starea confirmării. Confirmarea este deținută de server, dintr-o observație de sursă durabilă, cu hash versionat. Valoarea oficială, cea declarată de client și cea acceptată în dosar rămân separate, iar un fapt nu poate deveni verificat cât timp sursa lui este veche, parțială sau în conflict.
Conectori în spatele porturilor
Un Service Pack cere o capabilitate, niciodată un furnizor. Există patru pachete: registrele publice ANAF, cursul BNR, VIES UE și un mock. Fixture-urile sunt baza deterministă; adaptoarele live pentru ANAF și BNR există, dar nu au încă dovezi autorizate pe endpoint-uri reale, deci nu sunt active. Un conector nu este activ pentru că există un URL.
Două suprafețe, un singur dosar
O aplicație pentru client, în română și engleză, și un workbench pentru operatori, doar pe invitație, lucrează pe același dosar: preluare date, documente, un DSL de reguli care se închide la eroare, verificare de operator, audit și un plan de joburi cu outbox. Telegram este legat ca prim canal extern. Gateway-ul AI explică câmpuri și schițează rezumate; nu alege regimul fiscal, nu aprobă beneficiarul real și nu depune nimic.
Cum funcționează
Un stack fixat și ce rulează efectiv pe el
Node 24, pnpm, Turborepo, NestJS pe Fastify, PostgreSQL cu Drizzle, Temporal, BullMQ, Better Auth și Next.js. Un monolit modular cu 30 de pachete și șase aplicații: web pentru client, API, admin pentru operatori, marketing, sandbox de design și vizualizator de documentație. Gazda Temporal rulează; fluxurile de produs în mai mulți pași nu sunt începute, așa că ciclul de viață al dosarului este deocamdată un automat de stări în PostgreSQL. 277 de fișiere de teste unitare și 10 specificații Playwright stau în spatele unei porți locale de verificare.
Izolarea conturilor și dovezile, în baza de date
38 de migrări. Prima tranșă de row-level security protejează company și company_fact cu politici indexate, un rol de migrare fără drept de proprietar și acces break-glass auditat, cu expirare; celelalte tabele rămân impuse din aplicație până la tranșele următoare. Operatorii folosesc MFA, nu există înregistrare publică pentru operatori, iar auditul nu poartă date personale.
Automatizarea rămâne responsabilă
O regulă critică nu poate deveni activă fără o sursă acceptată și o aprobare umană; schimbările de sursă devin cerințe candidate, niciodată reguli publicate automat. Gateway-ul AI are evaluări offline și un întrerupător, iar cheile live pentru modele, dovezile live pentru conectori, cheile de plată și pachetele juridice sunt porți umane separate. Platforma nu depune pe portalurile oficiale prin scraping și nu pretinde că este o autoritate.