test(lotto-signals): floating-point 임계치 보정 + import 정리 + decide_fire 분리

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-20 02:36:32 +09:00
parent c985d2c605
commit ac4a574ef2

View File

@@ -1,5 +1,4 @@
# agent-office/tests/test_lotto_signals.py
import math
import pytest
from app.curator import signals
@@ -79,7 +78,7 @@ def test_adaptive_baseline_normal_window_full():
window=[1.0, 1.1, 0.9, 1.0, 1.0, 1.1, 0.9, 1.0],
window_max=8,
)
z, fire = bl.evaluate(value=1.20, z_normal=1.5, z_urgent=2.5)
z, fire = bl.evaluate(value=1.12, z_normal=1.5, z_urgent=2.5)
assert fire == "normal"
assert z is not None and z >= 1.5
@@ -101,8 +100,7 @@ def test_adaptive_baseline_push_updates_window():
assert bl.window == [2, 3, 4, 5, 6, 7, 8, 9.0]
def test_decide_fire_level_combination():
"""2개 이상 normal 발화 → urgent."""
def test_decide_fire_level_two_normals_escalate():
sigs = [
{"metric": "sim", "z": 1.6, "fire": "normal"},
{"metric": "drift", "z": 1.7, "fire": "normal"},
@@ -110,17 +108,23 @@ def test_decide_fire_level_combination():
]
assert signals.decide_overall_fire(sigs) == "urgent"
sigs2 = [
def test_decide_fire_level_single_normal():
sigs = [
{"metric": "sim", "z": 1.6, "fire": "normal"},
{"metric": "drift", "z": 0.3, "fire": "noop"},
]
assert signals.decide_overall_fire(sigs2) == "normal"
assert signals.decide_overall_fire(sigs) == "normal"
sigs3 = [
def test_decide_fire_level_single_urgent():
sigs = [
{"metric": "sim", "z": 3.0, "fire": "urgent"},
{"metric": "drift", "z": 0.2, "fire": "noop"},
]
assert signals.decide_overall_fire(sigs3) == "urgent"
assert signals.decide_overall_fire(sigs) == "urgent"
sigs4 = [{"metric": "sim", "z": 0.5, "fire": "noop"}]
assert signals.decide_overall_fire(sigs4) == "noop"
def test_decide_fire_level_all_noop():
sigs = [{"metric": "sim", "z": 0.5, "fire": "noop"}]
assert signals.decide_overall_fire(sigs) == "noop"