58 lines
2.4 KiB
Markdown
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.
|