Files
brain/tools/verify-gate-config.mjs
T

24 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
/**
* verify-gate-config (G1) — рубильник verify-гейта (зеркало judge-gate-config).
* Активен ТОЛЬКО при флаге ROUTER_MENTOR_VERIFY_ENABLED=1 И наличии ключа подписанта.
* Флаг OFF → inert ($0, до активации владельцем A3). Флаг ON + нет ключа → keyMissing
* (consumer трактует как fail-CLOSE: владелец включил, но конфиг сломан — не пропускать молча).
* Регистрация хука + флаг + ключ — шаг ВЛАДЕЛЬЦА.
*/
import { resolveReceiptKey } from './receipt-key-config.mjs';
const ENABLED_ENV = 'ROUTER_MENTOR_VERIFY_ENABLED';
export function resolveVerifyEnabled({ env = process.env } = {}) {
return env[ENABLED_ENV] === '1';
}
export function verifyGateActive({ env = process.env, keyImpl = resolveReceiptKey } = {}) {
if (!resolveVerifyEnabled({ env })) return { active: false, keyMissing: false };
const key = keyImpl();
return { active: !!key, keyMissing: !key };
}
export const _internals = { ENABLED_ENV };