Am pus trei minți să dărâme planul. L-au făcut mai tare.
V2 = fiecare worker de teste primește propria copie a bazei de date. Planul de mentenabilitate a trecut prin trei valuri: designul (Fable, în conversație), critica (gpt-5.6-sol, citind codul prototipului) și arbitrajul (un Fable independent, care a judecat ambele straturi verificând totul în cod). Fiecare val a văzut ce valul dinainte nu putea. Pagina asta îți arată, în termeni simpli, ce a găsit fiecare — și ce a rămas în picioare.
Cele trei valuri, pe scurt
6 principii
Ideea-mamă: agenții care scriu teste să nu afle niciodată că există un modul de izolare. Zero de învățat, un singur fișier adânc, curățenie mecanică, modulul păzit de propriile teste.
14 constatări
Superputerea lui: a citit codul prototipului rând cu rând și a găsit promisiuni mai mari decât livrarea — plus locurile unde „fără opțiuni" și „ștergem tot ce e vechi" ar fi dat înapoi.
verdicte + 2 descoperiri
Superputerea lui: context proaspăt + mandat de a judeca AMBELE straturi. A confirmat, a ieftinit fix-uri, a tăiat overkill — și a găsit două lucruri pe care nici designul, nici critica nu le văzuseră.
Fiecare descoperire, pe limba noastră
Apasă pe orice constatare. Fiecare are: ce înseamnă simplu, cine a găsit-o, și ce s-a ales de ea.
Descoperirea #1 a arbitrului: janitorii care se calcă
Două lane pornesc simultan (așa am măsurat 22,5s). Fiecare are un janitor care „face curat" la pornire. Fără etichete pe cutii, curățenia unuia e dezastrul celuilalt.
Descoperirea #2: ochelarii cu dioptriile vechi
Codul nu citește baza direct — citește prin „ochelari": clientul Prisma generat din schemă. Azi, 17 teste au picat pentru că ochelarii erau generați pe schema de săptămâna trecută. Planul inițial nu verifica asta nicăieri.
Ce a rămas: două PR-uri și un criteriu
- Etichetă de rulare pe clone + janitor pe „proprietarul mai trăiește?"
- Matrița sub lacăt: build pe nume temporar → redenumire = gata
- Eticheta matriței doar din migrații (+ check separat de divergență)
- Check-ul de „ochelari vechi" (client Prisma stale) cu mesaj acționabil
- Golire structurală (TRUNCATE) între fișiere — face criteriul adevărat
- Lana pură: adresă inexistentă, zero clone, pică closed la orice atingere
- URL-ul păstrează parametrii; erorile arată stderr-ul, nu-l înghit
- Band-aid-urile se retrag DOAR în unit-with-db; testul pattern-ului de nume care nu poate atinge producția
Done = perechea de aur 10/10 fără mock-uri · lanes-parallel verde · două rulări suprapuse nu se ating · clientul stale pică cu mesaj · 22,5–25,8s re-confirmat după fix
- ADR (garanții + stare per lană) + TESTING.md rescris ca contract scurt + troubleshooting
- GC de matrițe pe vârstă; teardown-ul nu atinge matrițele comune
- Stresul nightly al perechii de aur; UN test comportamental de rulări concurente
- Curățenia veche repoziționată (integrare + fișiere); ban îngust doar în fișierele-canar
- Obiectul de politică al runnerului (workeri, limite, TTL) — într-un singur loc
- Fațada de orchestrare (env-ul e transportul)
- Contabilitatea globală de conexiuni (300 vs ~25)
- Catalogul de „readiness" (redenumirea ajunge)
- Canarii vitest-în-vitest (gardieni flaky = gardieni auto-ștergibili)
- Seed hooks (până apare al doilea consumator real)
Orice test, sub runnerul standard, poate citi, muta și șterge date din bază fără niciun import sau convenție de izolare — și găsește la începutul fiecărui fișier același baseline definit, indiferent de ordine, worker, rulări concurente sau crash-uri anterioare. Când runnerul nu poate garanta asta, pică înainte de primul test, cu eroarea care numește fix-ul.
Fiecare val de review vede exact unghiul mort al valului dinainte. De-aia sunt valuri, nu un val.