"""集成验证:真实树注入后 _get_ground_truth_for_trace 收到非空 ground_truth;core 不依赖 app。 这两个测试守护"诊断 tree_data 断链"修复: - 真实树 → load_tree_nodes → _get_ground_truth_for_trace,证明 bug 之前恒空的环已接通。 - core/evolution/diagnose.py 不 import app,守护依赖方向(core 不依赖 app)与算法保真。 """ from pathlib import Path from app.harness.tree_nodes import load_tree_nodes from core.evolution.diagnose import _get_ground_truth_for_trace # store 根锚定到仓库根,避免测试运行目录漂移导致相对路径失效(与 Task 1 测试一致)。 _STORE_DIR = Path(__file__).resolve().parents[2] / "store" def test_ground_truth_nonempty_with_real_tree(): """对真实 T2 样本 604-2(video 0RxMZBLeqRI)的 view_node 调用,ground_truth 非空。""" tree_data = load_tree_nodes(_STORE_DIR, "0RxMZBLeqRI") node_id = "0RxMZBLeqRI_L1_000" # 该视频真实存在的节点 ground_truth = _get_ground_truth_for_trace(tree_data, "view_node", {"node_id": node_id}) assert ground_truth and ground_truth != "{}" # 拿到该节点 card 的 JSON,非空 def test_core_diagnose_does_not_import_app(): """算法保真 + 依赖方向:core/evolution/diagnose.py 不 import app。""" src = (Path(__file__).resolve().parents[2] / "core" / "evolution" / "diagnose.py").read_text( encoding="utf-8" ) assert "import app." not in src assert "from app." not in src