397777089e
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
1.5 KiB
JavaScript
29 lines
1.5 KiB
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* mentor-gate-config — рубильник наставника (зеркало judge-gate-config.mjs:10-32).
|
|
* Активен ТОЛЬКО при ROUTER_MENTOR_SEAM_ENABLED=1 И наличии ROUTER_LLM_KEY (транспорт).
|
|
* Без них — inert: обёртка no-op ($0), freeze-gate в печать НЕ подключается.
|
|
* Имя SEAM — чтобы владелец не путал с судейским ROUTER_MENTOR_JUDGE_ENABLED.
|
|
*/
|
|
const ENABLED_ENV = 'ROUTER_MENTOR_SEAM_ENABLED';
|
|
|
|
/** «Оба строго» (решение владельца 2026-06-12): наставник ест ТОЛЬКО со своего
|
|
* ROUTER_MENTOR_LLM_KEY — общий ROUTER_LLM_KEY НЕ фолбэк (разделение счетов). */
|
|
export function resolveMentorLlmKey({ env = process.env } = {}) {
|
|
return env.ROUTER_MENTOR_LLM_KEY || null;
|
|
}
|
|
|
|
export function mentorSeamActive({ env = process.env } = {}) {
|
|
return env[ENABLED_ENV] === '1' && !!resolveMentorLlmKey({ env });
|
|
}
|
|
|
|
/** W-2 (sharp-edges 2026-06-12): корень репо для C-3-резолва цитат в mentorGate —
|
|
* из события хука (event.cwd несёт harness), фолбэк process.cwd(). Утверждение
|
|
* «cwd хука = корень репо» кодом не гарантировано — берём из события. */
|
|
export function repoRootOf(event) {
|
|
const c = event && event.cwd;
|
|
return (typeof c === 'string' && c.trim()) ? c : process.cwd();
|
|
}
|
|
|
|
export const _internals = { ENABLED_ENV };
|