diff --git a/docs/handoff_skills_agenti.md b/docs/handoff_skills_agenti.md new file mode 100644 index 0000000..3e78dc1 --- /dev/null +++ b/docs/handoff_skills_agenti.md @@ -0,0 +1,94 @@ +# 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\\`), 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\` (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\\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 \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/`, 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`.