feat(config): add explicit default-dark serving gate fields

Adds explicit default-false RuntimeConfig ask_serving_enabled and verified_serving_enabled fields while preserving default-dark helper behavior. Includes focused ASK/VERIFIED gate tests and cross-gate independence coverage. No pass_manager wiring, runtime wiring, verify.py wiring, served behavior, or CLAIMS/metric movement.
This commit is contained in:
Shay 2026-06-09 10:24:28 -07:00 committed by GitHub
parent 45835987b9
commit 3cfaaf9153
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 48 additions and 0 deletions

View file

@ -335,6 +335,15 @@ class RuntimeConfig:
# default); the engine never raises its own ceiling.
estimation_enabled: bool = False
# ASK serving gate enable flag. When True, ASK serving is allowed.
# Default False (dark).
ask_serving_enabled: bool = False
# VERIFIED serving gate enable flag. When True, VERIFIED serving is allowed.
# Default False (dark).
verified_serving_enabled: bool = False
DEFAULT_IDENTITY_PACK: str = "default_general_v1"
DEFAULT_ETHICS_PACK: str = "default_general_ethics_v1"

View file

@ -26,10 +26,14 @@ class _OptInConfig:
def test_default_runtime_config_keeps_ask_serving_dark() -> None:
assert hasattr(RuntimeConfig(), "ask_serving_enabled")
assert RuntimeConfig().ask_serving_enabled is False
assert DEFAULT_CONFIG.ask_serving_enabled is False
assert ask_serving_enabled(DEFAULT_CONFIG) is False
assert ask_serving_enabled(RuntimeConfig()) is False
def test_missing_flag_is_dark_for_legacy_config_shape() -> None:
assert ask_serving_enabled(_LegacyConfig()) is False

View file

@ -0,0 +1,31 @@
"""Cross-gate configuration field tests.
Verifies that RuntimeConfig has both ask_serving_enabled and
verified_serving_enabled, that both are default false, and that setting
one does not implicitly enable the other.
"""
from __future__ import annotations
import dataclasses
from core.config import RuntimeConfig
def test_cross_serving_gates_independence() -> None:
# 1. Verify both are present on a fresh config and default to False
config = RuntimeConfig()
assert hasattr(config, "ask_serving_enabled")
assert hasattr(config, "verified_serving_enabled")
assert config.ask_serving_enabled is False
assert config.verified_serving_enabled is False
# 2. Verify setting ask_serving_enabled to True does not enable verified_serving_enabled
config_ask = dataclasses.replace(config, ask_serving_enabled=True)
assert config_ask.ask_serving_enabled is True
assert config_ask.verified_serving_enabled is False
# 3. Verify setting verified_serving_enabled to True does not enable ask_serving_enabled
config_verified = dataclasses.replace(config, verified_serving_enabled=True)
assert config_verified.ask_serving_enabled is False
assert config_verified.verified_serving_enabled is True

View file

@ -30,10 +30,14 @@ class _OptInConfig:
def test_default_runtime_config_keeps_verified_serving_dark() -> None:
assert hasattr(RuntimeConfig(), "verified_serving_enabled")
assert RuntimeConfig().verified_serving_enabled is False
assert DEFAULT_CONFIG.verified_serving_enabled is False
assert verified_serving_enabled(DEFAULT_CONFIG) is False
assert verified_serving_enabled(RuntimeConfig()) is False
def test_missing_flag_is_dark_for_legacy_config_shape() -> None:
assert verified_serving_enabled(_LegacyConfig()) is False