Files
roafacturare/docs/handoff_skills_agenti.md
2026-09-16 12:20:02 +03:00

5.9 KiB

Handoff: skill-uri de agent ROA + backstop de rutare

Data: 2026-09-16. Sesiune oprita la limita de context. Acesta e fisier de stare, nu documentatie.

Ce s-a livrat (in COMUN, versionat git + SVN)

  • 9 skill-uri, cate un SKILL.md per folder (COMUN\skills\<nume>\), frontmatter doar name+description, corp auto-suficient (skill = proprietarul procedurii): roa-vfp-text-edit, roa-vfp-headless-test, roa-git-svn-commit, roa-oracle-migration, roa-oracle-diagnostic, roa-oracle-production-access, roa-vfp-null-guards, roa-vfp-go-recno, roa-oracle-sqlexec-no-data.
  • COMUN\utile\leaga_skills.ps1 - creeaza symlink-uri in %USERPROFILE%\.claude\skills\ catre COMUN\skills\<nume> (fara copiere; citit de Claude Code SI de opencode). Idempotent, -DryRun.
  • COMUN\utile\backstop_skills.txt (sursa canonica a rutarii) + COMUN\utile\scrie_backstop_skills.ps1 (-Root, -Proiecte, -DryRun; scrie AGENTS.md + bloc marcat in CLAUDE.md; garda anti-duplicare: sare fisierele care contin deja roa- fara markers).
  • COMUN\docs\reguli_lucru.md pct. 7 + COMUN\docs\README.md - ruteaza fiecare zona la skill-ul care o detine (nu la doc).
  • COMUN\docs\cercetare\rec_skills.md - decizia, inventarul, cum se adauga un skill nou.
  • AGENTS.md (radoacina ROAFACTURARE, backstop pentru opencode) + CLAUDE.md (2 rute + ancora).
  • Backstop aplicat pe 10 proiecte: ROAACNPRO, ROAAUTO, ROACONT, ROACONTRACTE, ROADEF, ROAFACTURARE, ROAGEST, ROAIMOB, ROAPRETURI, ROAREGISTRATURA (verificat idempotent).

Ce NU e terminat (de continuat)

  1. 2 fisiere de onboarding modificate, NEcomise in SVN (singura stare nefinalizata de cod):
    • COMUN\docs\onboarding\inrolare-calculator-nou.md - secțiune noua "Pasul 8 - skill-uri de agent ROA" (+22 linii; pastreaza diacriticele).
    • COMUN\docs\onboarding\inrolare-proiect-git-text.md - secțiune noua "### 8. Skill-uri de agent (backstop de rutare)" (+7 linii; ASCII).
    • Ambele: LF, fara BOM. NU au fost testate mai departe (sunt doar text).
  2. 8 proiecte au commit SVN dar mirror-ul git nu a rulat roa_sync (ROAACNPRO, ROAAUTO, ROACONT, ROACONTRACTE, ROADEF, ROAGEST, ROAIMOB, ROAPRETURI, ROAREGISTRATURA). Fisierele sunt active pe disc; git-ul lor se aliniaza la urmatorul roa_sync.bat local.
  3. Optional nefacut: skill roa-onboarding (Nivel D din plan). Nu s-a creat intentionat: vfp-ui-test NU se creeaza (e acoperit de roa-vfp-headless-test).

Stare depozite

  • SVN: COMUN r18116; ROAFACTURARE r18118; proiecte r18114/18115/18117/18119/18120/18121/18122/ 18123/18124.
  • git: COMUN 4756dc0, ROAFACTURARE 50274b8, ambele ahead=0 (push facut, main).
  • svn status COMUN = 2 x M (cele doua onboarding-uri de mai sus).
  • svn status ROAFACTURARE (in afara COMUN) = reziduri PRE-EXISTENTE, neale noastre: .claude (?), Clase\ofundal_facturare.vc2.pre_runda1.bak (?), Utile\Teste\test_catalog_articole_s1.FXP (?), docs\diff_runda3_vanzare_ui.patch (?).
  • Branch claude/skills-agenti: sters in ambele repo-uri.

Comenzi de rulare (exacte)

  • Backstop, pe proiecte: powershell -ExecutionPolicy Bypass -File D:\ROA\<PROJ>\COMUN\utile\scrie_backstop_skills.ps1 -Root D:\ROA -Proiecte ROAACNPRO,ROAAUTO,ROACONT,ROACONTRACTE,ROADEF,ROAFACTURARE,ROAGEST,ROAIMOB,ROAPRETURI,ROAREGISTRATURA (intai -DryRun). Fara -Proiecte = toate proiectele detectate (53 - NU rula asa fara acord).
  • Legare pe masina: powershell -ExecutionPolicy Bypass -File <PROJ>\COMUN\utile\leaga_skills.ps1 [-DryRun].
  • Sync: D:\ROA\ROAFACTURARE\roa_sync.bat (svn update -> git_sync -> commit "sync SVN rN" -> reconciliere; push DOAR daca tot ahead-ul e commit-uri de sync).
  • Verificare ASCII: ([IO.File]::ReadAllBytes($p) | Where-Object {$_ -gt 127}).Count -> 0.

Decizii luate (nu re-investiga)

  • Skill = proprietarul procedurii; docurile din COMUN\docs = referinta CONDITIONATA (cel mult 1 pointer per skill). Motiv: sa nu se incarce contextul de doua ori.
  • Un singur loc de rutare per host: AGENTS.md (opencode) + reguli_lucru.md pct. 7 (Claude, citit mereu) + ancora in CLAUDE.md.
  • Skill-urile traiesc in COMUN\skills, expuse prin symlink in ~/.claude/skills (fara copie). opencode citeste nativ .claude/skills (confirmat in sursa: SkillV2.load -> glob(...,{symlink:true})).
  • Sursa canonica a rutarii = COMUN\utile\backstop_skills.txt (regenerata in proiecte de script).
  • NU se foloseste plugin marketplace: opencode nu citeste cache-ul de pluginuri.
  • Declansare: automata din description in ambele host-uri; backstop-ul always-on prinde cazurile in care descrierea nu se potriveste. paths NU se foloseste (doar restrange, nu forteaza).

Interzis

  • Nu copia manual fisiere de skill in ~/.claude/skills (se pierde legatura cu sursa; doar leaga_skills.ps1).
  • Nu git commit/push/merge pe main in COMUN in afara fluxului; commit-urile de lucru pe branch claude/<subiect>, apoi svn commit + roa_sync.
  • Nu rula roa_sync pe un branch cu fisiere noi inainte de svn commit (pe branch face checkout main si scoate fisierele de pe disc).
  • Nu rescrie COMUN\docs\ din proprie initiativa (regula 11/12) - propune.
  • Nu rula scrie_backstop_skills.ps1 fara -Proiecte (atinge 53 de proiecte).

Capcane platite

  • PowerShell 5.1 New-Item -ItemType SymbolicLink cere privilegii; mklink /D merge cu Developer Mode activ (scriptul are fallback).
  • COMUN\docs sunt LF, nu CRLF; fisierele noi create (AGENTS.md, skill-uri) sunt CRLF.
  • reguli_lucru.md si CLAUDE.md au em-dash (non-ASCII) PRE-EXISTENTE - nu se "repara" din oficiu.
  • inrolare-proiect-git-text.md are 5 en-dash pre-existente (15 octeti non-ASCII); adaugarea noastra e ASCII pur.

Urmatorul pas recomandat

  1. svn commit pentru cele doua onboarding-uri + roa_sync.bat + push.
  2. roa_sync.bat in cele 8 proiecte ramase (apoi push, la alegere).
  3. (Optional) skill roa-onboarding.