feat(harness): gate uses externally-provided THT_SESSION id (BE-5)
When THT_SESSION env var is set, /nuova-domanda injects a kickoff that tells the model to use the pre-created session id instead of running `tht session new`. /riprendi-sessione and no-env-var paths unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -60,6 +60,16 @@ const NUOVA_DOMANDA_KICKOFF =
|
||||
"NON eseguire mai `tht phase advance|reopen` ne' `tht decision add` da shell.\n" +
|
||||
"- Procedi una fase alla volta: a fine fase cedi il turno al reviewer, non incatenare le fasi.";
|
||||
|
||||
const NUOVA_DOMANDA_KICKOFF_PROVIDED = (sessionId) =>
|
||||
"Istruzioni operative — sessione ThothII (workflow human-in-the-middle). " +
|
||||
`La sessione è GIÀ creata con id \`${sessionId}\`: usalo in OGNI comando \`tht\`. ` +
|
||||
"NON creare una nuova sessione.\n" +
|
||||
"1. Carica la skill leggendo `.pi/skills/tht-sessione/SKILL.md` con il tool `read`, " +
|
||||
`poi segui il workflow dalla Fase 1 usando l'id \`${sessionId}\`.\n` +
|
||||
"Regole non negoziabili: una domanda al reviewer per volta; mai promuovere/escludere/" +
|
||||
"correggere senza conferma; le interazioni passano dai tool reviewer_*; testo libero col prefisso '!'. " +
|
||||
"MAI `tht phase advance|reopen` né `tht decision add` da shell.";
|
||||
|
||||
const RIPRENDI_KICKOFF =
|
||||
"Istruzioni operative — ripresa di una sessione ThothII esistente (id nel messaggio sopra).\n" +
|
||||
"1. Esegui `tht session show <id>` e leggi: stato, domanda, decisioni registrate, presenza " +
|
||||
@@ -208,7 +218,9 @@ export default function (pi) {
|
||||
lockActive = true;
|
||||
lastSteered = false;
|
||||
pendingKickoff = /^\/nuova-domanda\b/.test(raw)
|
||||
? NUOVA_DOMANDA_KICKOFF
|
||||
? (process.env.THT_SESSION
|
||||
? NUOVA_DOMANDA_KICKOFF_PROVIDED(process.env.THT_SESSION)
|
||||
: NUOVA_DOMANDA_KICKOFF)
|
||||
: RIPRENDI_KICKOFF;
|
||||
}
|
||||
// free-input block: attivo quando il lock è su, per qualsiasi input utente (non solo interattivo).
|
||||
|
||||
Reference in New Issue
Block a user