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

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

  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)

{
  "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.