Files
roafacturare/docs/PORNIRE.md
2026-09-17 22:36:46 +03:00

102 lines
4.2 KiB
Markdown

# Pornire pe VM 304 - QA factura/aviz
Pachet pregatit 17.09.2026 de sesiunea de pe masina principala. Contine tot ce ii trebuie unei
sesiuni Claude Code noi ca sa continue de la S1, fara sa refaca analiza.
## Pasul 1 - copiaza fisierele
Din acest pachet, in copia de lucru de pe VM (verifica intai care e calea reala - documentatia
spune `D:\roa\<produs>`, planul presupune `D:\ROA\ROAFACTURARE`; daca difera, calea reala castiga):
| Din pachet | Unde pe VM |
|---|---|
| `docs\*.md` (8 fisiere) | `<radacina ROAFACTURARE>\docs\` |
| `utile\context_watch.ps1` | peste `<radacina ROAGEST>\COMUN\utile\context_watch.ps1` |
Daca pe VM nu exista checkout ROAGEST, pune `context_watch.ps1` oriunde si ajusteaza calea din
settings.json la pasul 2.
## Pasul 2 - hook-urile (optional, dar recomandat)
In `%USERPROFILE%\.claude\settings.json` de pe VM, adauga:
```json
"env": {
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "70"
},
"hooks": {
"SubagentStop": [
{ "hooks": [ { "type": "command",
"command": "powershell -NoProfile -ExecutionPolicy Bypass -File <CALEA CATRE>\\context_watch.ps1 -Subagent -Json" } ] }
]
}
```
Daca `settings.json` are deja `env` sau `hooks`, se completeaza, nu se inlocuieste.
Verifica dupa editare ca fisierul e JSON valid.
Ce face: la fiecare subagent care se termina, masoara contextul ACELUI subagent (citind
`agent_transcript_path` din inputul hook-ului) si avertizeaza orchestratorul la 150k / 200k.
Tace sub prag si tace la `stop_hook_active=true`, ca sa nu intre in bucla.
## Pasul 3 - verifica mediul inainte de orice
Rulare rapida, inainte sa incepi lucrul:
```powershell
Test-Path 'C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe'
Test-Path '<radacina>\COMUN\utile\Teste\vfp_ui_harness.ps1'
Test-Path '<radacina>\COMUN\utile\Teste\test_init_env_auto_roafacturare.prg'
Test-Path 'D:\ROA\UTIL\foxbin2prg\vfp_symbols.ps1'
```
Daca vreunul lipseste, **spune-i lui Marius inainte sa incepi** - planul presupune ca exista.
Conexiunea Oracle se probeaza cu:
`DO test_init_env_auto_roafacturare WITH 'CENTRAL','MARIUSM_AUTO','ROMFASTSOFT'`
## Pasul 4 - promptul de pornire
Da-i sesiunii noi exact textul asta:
---
Continua planul din `docs\plan_qa_factura_aviz.md`. Starea curenta e in
`docs\progres_qa_factura.md` - citeste-le pe amandoua inainte de orice.
S0 e terminat (prototipul de context/handoff). Urmeaza **S1: baseline QA**, si e primul story
care se face pe masina asta, cu UI vizibil.
Inainte sa incepi, ruleaza verificarile de mediu din `PORNIRE.md` pasul 3 si spune-mi daca ceva
lipseste.
Reguli care se aplica de la primul pas, nu dupa ce acumulezi context:
- Orice investigatie, editare, rulare de teste se deleaga unui subagent. Tu orchestrezi.
- Nu atinge `combosql` din `COMUN\clase\_cb_base.vc2` - e clasa de baza a tuturor produselor ROA.
Comportamentul nou de cautare se suprascrie in `combosql_cautare` din `ofacturare.vc2`.
- `.vc2` se editeaza cu script Python binar, niciodata `sed -i` (sterge CRLF-urile) si niciodata
Edit pe linii cu octeti >0x7F (diacriticele sunt cp1250, nu cp1252).
- Write-back doar `txt2vcx.ps1 -ProjectRoot <radacina ROAFACTURARE>`. Fara `-ProjectRoot` scrie
in alt produs.
- Dupa fiecare write-back: `MODIFY CLASS` + captura, si inchide designerul inainte de urmatorul.
- Commit dupa fiecare story, pe branch de lucru, fara push. Mandatul e dat: nu cere aprobare per
story. Exceptie: mockup-ul de la S4 se arata lui Marius inainte de implementare.
- Actualizeaza `docs\progres_qa_factura.md` dupa FIECARE story, nu la final.
- La ~250k context: opreste lucrul, scrie handoff pe disc, preda. „Mai am putin" nu e motiv de
amanare.
S1 nu modifica niciun cod. Produce doar dovada vizuala si scenariile, in
`docs\qa_factura_baseline.md` + capturi.
---
## Ce sa NU refaca sesiunea noua
Analiza e platita deja, e in `docs\qa_factura_harta.md` (harta de cod, cu fisier:linie),
`docs\qa_factura_unelte.md` (harness UI, headless, Oracle, hook-uri) si
`docs\qa_factura_hooks_ref.md` (referinta de hook-uri). Se citesc, nu se refac.
Doua lucruri stabilite si neredeschise:
- Pragul de 3 caractere la cautare = proprietatea `ncharcountbegin=2`, nu logica.
- Duplicatele de articol vin din Oracle (`pack_facturare.cursor_preturi`), nu din VFP. S3 e
blocat pana se citeste corpul pachetului din `ALL_SOURCE` pe MARIUSM_AUTO.