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

58 lines
2.4 KiB
Markdown

# handoff_inject.ps1 - reinjectare handoff la SessionStart
Fisier: `D:\ROA\ROAGEST\COMUN\utile\handoff_inject.ps1`
Branch: `qa-factura-s0` (repo `D:\ROA\ROAGEST\COMUN`)
Commit: `56d1764ed8c9509acef8d3683583aab03b04ae97` — "adauga handoff_inject.ps1 - reinjectare handoff pe SessionStart"
## Ce face
Hook `SessionStart`. Citeste JSON-ul primit pe stdin (`source`, `cwd`). Daca `source` e in lista
acceptata (implicit `compact`, `clear`, `resume`) si `<cwd>\docs\handoff_activ.md` (sau calea data
prin `-CaleHandoff`) exista, emite pe stdout:
```json
{"hookSpecificOutput":{"hookEventName":"SessionStart","additionalContext":"HANDOFF RELUAT automat din <cale> (pornire: <source>). ...\n\n<continut>"}}
```
Tace (exit 0, fara iesire) daca `source` nu e in lista, sau daca fisierul nu exista — nu inventeaza,
nu creeaza nimic. Peste ~9000 de caractere, nu trunchiaza tacut: taie continutul, adauga un rand
final `[TRUNCHIAT - ... Citeste fisierul complet cu Read: <cale>]` si il include in output.
Parametri: `-CaleHandoff <cale>` (optional), `-Surse <lista>` (implicit `compact,clear,resume`).
## Rezultatul probelor
1. `source=startup`, fisier existent -> `exit=0`, `out=[]` (nicio iesire). Confirmat.
2. `source=compact`, fisier inexistent -> `exit=0`, `out=[]`. Confirmat.
3. `source=compact`, continut cu ghilimele duble, apostrof, diacritice (`șăâîț`) -> JSON valid,
`hookEventName=SessionStart`, iar `additionalContext` dupa `ConvertFrom-Json` contine exact
continutul original (`CONTINE ORIGINAL: True`, verificat prin `.Contains()`, nu din ochi).
4. `source=clear`, fisier de 10350 caractere -> JSON valid, `additionalContext` taiat la 9403
caractere, se termina cu randul `[TRUNCHIAT - handoff-ul are 10350 caractere, peste limita de
9000. Citeste fisierul complet cu Read: <cale>]`, calea completa prezenta in text.
Probele au rulat in `$env:TEMP\hoi_probe\p1..p4`, sterse dupa rulare.
## Configurare settings.json (de aplicat de orchestrator)
```json
{
"hooks": {
"SessionStart": [
{
"matcher": "clear,compact,resume",
"hooks": [
{
"type": "command",
"command": "powershell -ExecutionPolicy Bypass -File D:\\ROA\\ROAGEST\\COMUN\\utile\\handoff_inject.ps1"
}
]
}
]
}
}
```
Nu am atins `C:\Users\mmari\.claude\settings.json` — cablarea ramane la orchestrator, conform
interdictiei primite.