sync SVN r18218

This commit is contained in:
2026-09-28 16:01:35 +03:00
parent 1255826266
commit e263114bad
9 changed files with 829 additions and 0 deletions

View File

@@ -66,6 +66,27 @@ aprobare. Configurarea e globala, pentru toate proiectele, in `%USERPROFILE%\.co
Se aplica la pornirea serverului (`opencode serve`); un server deja pornit trebuie repornit.
O cerere ramasa in asteptare se aproba prin API: `GET /permission` → `POST /session/:id/permissions/:permissionID` `{"response":"always"}`.
## Flux standard pe o lucrare (plan -> executie -> review -> aprobare)
1. **Plan** (orchestratorul, Opus): `docs\plan_<subiect>.md` exact - pasii, codul de inserat, locul (`fisier:linie`),
pasul 0 = baseline curat (`*.pre_runda1.bak` == `svn cat`), testul cu cazurile lui, verificarile da/nu, livrarea.
Executantul nu redeseneaza; un brief vag produce cod in plus.
2. **Executie**: sesiune opencode noua, `Lane: <x>. Executa EXACT planul din ...`. Livreaza patch + raport + `GATA`.
3. **Verificare orchestrator** (asserturi, nu citire): 0 x `EF BF BD`, CRLF pe toate liniile (numarat cu
`perl -ne '$c++ if /\r\n$/'`; `grep -c $'\r$'` din Git Bash numara gresit), liniile cu octeti
>0x7F identice cu baseline, `git diff --no-index` citit o data fata de plan, testul trecut.
4. **Review**: sesiune opencode NOUA (nu executantul), rol de reviewer, nu modifica cod. Brief
`docs\brief_review_<subiect>.md` cu: intrarile (plan, patch, cod, test), cele 5 verificari - fidelitate fata de plan,
corectitudine pe fluxul real (apelanti, alias selectat, cursoare inchise, NULL, ramurile neatinse raman identice),
conventii (`reguli_lucru.md` 2-3), octeti/CRLF, testul rulat de el -, livrare `docs\review_<subiect>.md` cu
BLOCANT/MAJOR/MINOR + `fisier:linie` + dovada; ce nu poate dovedi marcheaza "ipoteza".
Ultimul mesaj `REVIEW GATA: <n> BLOCANT, <n> MAJOR, <n> MINOR`.
5. BLOCANT/MAJOR -> corectie in sesiunea executantului (sau una noua cu handoff), apoi review din nou.
BLOCANT de doua ori sau verificarea de la 3 pica de doua ori -> escaladare Opus.
6. **Aprobare Marius** pe patch; abia apoi commit.
Prag context per sesiune opencode: ca la subagenti (~200-250k); peste -> abort, handoff pe disc, sesiune noua.
Contextul curent: `input + cache.read` din `info.tokens` al ultimului mesaj (`GET /session/:id/message`).
## Reguli pentru lane-uri
- Sarcina contine numele lane-ului, fisierele exacte si criteriul de terminare.
- Orchestratorul verifica dupa fiecare lane: diff, octeti cp1252, CRLF, teste.