Spec-First Change (întâi specificația, apoi codul)
Acest conținut nu este încă disponibil în limba selectată.
Regula de aur GStack: specificația se schimbă înainte de cod, mereu. Codul reflectă spec-ul, nu invers. Reviewer respinge (CRITICAL) orice cod care divergă de spec/JDL/ADR.
Când se aplică
Section titled “Când se aplică”Orice change request: cerință/câmp/regulă/endpoint nou sau modificat, integrare nouă, breaking change.
Secvența obligatorie (nu sări pași, nu reordona)
Section titled “Secvența obligatorie (nu sări pași, nu reordona)”1. SPEC Actualizează caietul `Spec - <app>` (+ nota vault/): CE se schimbă și DE CE. Marchează trasabilitatea la cerințe universale (CU-*) și criterii de acceptanță.2. MODEL Dacă se schimbă datele/relațiile → editează 03-development/<app>/<app>.jdl. JDL rămâne sursa de adevăr; codul se va REGENERA din el, nu invers.3. ADR Dacă e decizie de arhitectură → ADR nou din vault/templates/adr.md. Un ADR care schimbă o decizie veche o marchează pe aceea „Înlocuit". ADR-ul trece prin reviewer + aprobare teamlead (gate) înainte de cod.4. TEST Actualizează 03-development/<app>/test-scenarios.md ÎNAINTE de cod. TDD: scrie/ajustează testul care PICĂ pe noul comportament.5. TRACE Issue GitLab „CR: <titlu>" (labels: block:C, type:change-request, app:<app>). Comite pașii 1-4 (spec + JDL + ADR + scenarii) — un commit dedicat de spec.6. COD ABIA ACUM: regenerează JHipster (jhipster jdl) + implementează diferența prin run-until-green (RED e deja scris la pasul 4). Docker-compose up→test→down.7. LIVR. reviewer APPROVE → MR `Closes #issue` → wiki (<app>/Arhitectura, /Scenarii-de-test, /Stare) → checkpoint.Reguli dure
Section titled “Reguli dure”- Niciun commit de cod pentru un CR fără ca pașii 1-4 să fie deja comise (verifică
git log). - Dacă apare o divergență între cod și spec în timpul implementării → oprește-te, întoarce-te la pasul 1 (actualizează spec-ul), nu „repara” tăcut în cod.
- Change request pe model = editare JDL, apoi regenerare — niciodată editare manuală a codului generat.
- Întrebările de clarificare pe CR → inbox batch (nu întrerupe la fiecare).
Legături
Section titled “Legături”- Proces complet:
docs/DEV-PLAYBOOK.md§5. Model→cod:jhipster-app-loop. Bucla:run-until-green. - ADR:
vault/templates/adr.md. GitLab:gitlab-issues. Reluare:checkpoint-and-resume.