Ghid operator pentru software-development
Ce face
software-development este skill-ul umbrelă pentru lucru disciplinat pe cod: debugging, fix-uri test-first, lifecycle GitHub PR, commit-uri, CI triage, pregătire pentru review și igienă de release/merge.
Îl folosești când vrei o intervenție tehnică dusă până la capăt, nu o ghiceală cu diff: problema este înțeleasă, eroarea este reprodusă, cauza este izolată, patch-ul este minim, verificarea pornește de la cel mai mic test relevant și se extinde doar cât trebuie.
Legea de fier este:
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST.Nu se aplică plasturi peste simptome. Întâi se citește eroarea complet, se reproduce, se verifică schimbările recente, se caută exemple funcționale, se urmărește data flow-ul upstream și abia apoi se schimbă cod.
Când îmi folosește
Folosește software-development pentru:
- bug-uri, test failures, build failures, regresii, probleme de performanță sau integrare;
- cereri de implementare care trebuie duse prin branch, commit, PR, CI sau merge;
- PR creation, PR updates, code-review prep, conventional commits și release hygiene;
- CI failures unde trebuie citite logurile și diagnosticate cauzele;
- daemoni, cron jobs, launchd jobs sau event-bus producers cu failures repetate;
- workspace/repo structure risk review.
Este potrivit mai ales pentru schimbări care par mici. Fix-urile „evidente” sunt locul unde bug-urile se întorc cu dinți noi.
Cum îl invoc / declanșez
Declanșatorii naturali sunt cereri de tipul:
- repară bug-ul acesta;
- investighează de ce pică testele;
- fă fix-ul și pregătește PR-ul;
- uită-te la CI failure;
- verifică dacă PR-ul e gata de review;
- analizează structura repo-ului și riscurile;
- diagnostichează daemonul sau event-bus failure-ul;
- fă doar planul, în mod read-only / PROPOSE ONLY / no restart.
Pentru GitHub lifecycle, sunt necesare un repo git cu remote GitHub și autentificare prin gh auth status sau GITHUB_TOKEN. Când gh este disponibil și autentificat, se preferă gh; altfel se folosesc git plus GitHub REST/GraphQL cu token disponibil. Nu se inventează autentificare, remote, PR sau status CI.
Exemplu practic
Ai un test care pică după o schimbare recentă.
Fluxul corect:
- Se citește eroarea completă.
- Se reproduce failure-ul cu cel mai mic test relevant.
- Se inspectează schimbările recente și boundary evidence.
- Se urmărește data flow-ul upstream.
- Se caută exemple funcționale similare.
- Se formulează o singură ipoteză.
- Se testează o singură variabilă.
- Se creează sau identifică un regression check.
- Se fixează cauza, nu simptomul.
- Se rulează testul mic, apoi verificări mai largi.
- Dacă este cerut GitHub flow: branch, commit, push, PR, CI loop.
Secvență tipică pentru branch și commit:
git fetch origin
git checkout main && git pull origin main
git checkout -b fix/short-description
# edit with file tools, then verify
git add <files>
git commit -m "fix: short description"
git push -u origin HEADCu gh, PR-ul poate fi creat astfel:
gh pr create --title "fix: short description" --body-file .github/PULL_REQUEST_TEMPLATE.mdCI loop: se citesc checks/statuses, se citesc logurile eșuate, se diagnostichează prin același proces, se împinge un fix focalizat și se reverifică. După trei ipoteze eșuate, se oprește și se escaladează arhitectura problemei.
Output / unde aterizează
Output-ul poate fi: diagnostic, patch aplicat, rezultate de teste, commit, PR, CI status, merge executat când este cerut și permis, sau plan read-only.
Pentru cod, se folosesc file tools precum read_file, search_files, patch, write_file. Pentru teste, git, build-uri și CI se folosește terminal. Pentru GitHub, rezultatele trebuie susținute de output real: comandă rulată, status citit, log inspectat, PR creat, CI verificat sau merge confirmat.
Nu se pretinde că un PR, commit, CI result sau merge s-a întâmplat fără dovadă din comandă.
Pentru mai multe ghiduri, vezi All guides.
Limite / gotchas
Nu acceptă „quick fix now, investigate later” ca metodă. Nu se fac mai multe schimbări înainte de rerularea check-ului eșuat. Nu se propun fix-uri înainte de tracing. Nu se sare peste regression test doar pentru că problema „pare simplă”.
În PROPOSE ONLY, read-only sau no restart, limita este dură: se inspectează și se redactează plan, fără modificări, fără clear state, fără restart și fără repair commands.
La daemon și event-bus diagnosis, se pornește de la event records exacte, nu de la sumarul dashboardului: source, event_type, severity, timestamp, exit code, elapsed seconds, group, timeout/coalescing flags și consumed_by. Se citește atât scriptul daemonului, cât și wrapper-ul sau scheduler-ul. Dacă mai multe scripturi pot publica sub aceeași sursă, se identifică writer-ul real înainte de root cause.
La workspace risk review, întâi se face inventar: directoare, fișiere, extensii, fișiere mari, dependency markers, README/agent context, git boundary/status/ignore behavior. Secretele și conținutul credentialelor nu se citesc; se pot semnala doar nume de foldere sau fișiere suspecte.