aether-ad-genesis / tests /test_engine_e2e.py
SeaWolf-AI's picture
feat: bright/positive overhaul โ€” 22 uplifting tensions + 12 persona presets + bright wow anchors/genre/synesthesia
cf04566 verified
from pathlib import Path
from aether_ad.core.context import load_context
from aether_ad.core.engine import GenesisEngine
from aether_ad.core.genome import load_genome
ROOT = Path(__file__).resolve().parent.parent
def test_e2e_no_llm():
"""End-to-end with no LLM backend (template fallbacks) should still produce seeds."""
product = load_genome(ROOT / "aether_ad" / "data" / "products" / "watch_a.json")
context = load_context(ROOT / "aether_ad" / "data" / "tensions" / "default_tensions.json")
engine = GenesisEngine(
llm=None,
context=context,
seed_count_per_run=6,
keep_top_k=3,
rng_seed=7,
)
scored = engine.generate(
product=product,
tension_id="T01_first_challenge_first_success",
persona_text="์ฒซ ์ถœ๊ทผํ•˜๋Š” 25์„ธ ์‹ ์ž…์‚ฌ์›, ๋‘๊ทผ๊ฑฐ๋ฆผ",
duration=15,
)
assert len(scored) == 3
for s in scored:
assert s.seed.beats, "every seed must have beats"
assert 0.0 <= s.score.final <= 1.0
assert max(s.score.final for s in scored) > 0.0