397777089e
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
13 lines
1.1 KiB
JavaScript
13 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* loop-termination (§4 SE-R7-6 спеки R6.3) — внешняя петля наставника закрывается ТОЛЬКО по
|
|
* явному «цель достигнута» владельца ЛИБО GO судьи gate-3 goal_achieved [judge-engine.mjs:26].
|
|
* Контроллер сам петлю НЕ закрывает. Чистый детерминированный хелпер; wiring в петлю — sub-plan C.
|
|
* Строгий ===true (fail-safe): любой иной truthy НЕ закрывает (не дать «случайно» завершить).
|
|
*/
|
|
export function loopTerminationDecision({ ownerDeclaredDone = false, judgeGate3Go = false } = {}) {
|
|
if (ownerDeclaredDone === true) return { terminate: true, reason: 'владелец объявил цель достигнутой' };
|
|
if (judgeGate3Go === true) return { terminate: true, reason: 'судья gate-3 goal_achieved → GO на завершение' };
|
|
return { terminate: false, reason: 'продолжать — контроллер сам не закрывает петлю (SE-R7-6)' };
|
|
}
|