2.4 KiB
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:
{"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
source=startup, fisier existent ->exit=0,out=[](nicio iesire). Confirmat.source=compact, fisier inexistent ->exit=0,out=[]. Confirmat.source=compact, continut cu ghilimele duble, apostrof, diacritice (șăâîț) -> JSON valid,hookEventName=SessionStart, iaradditionalContextdupaConvertFrom-Jsoncontine exact continutul original (CONTINE ORIGINAL: True, verificat prin.Contains(), nu din ochi).source=clear, fisier de 10350 caractere -> JSON valid,additionalContexttaiat 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)
{
"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.