recon / Test_Files /test_phase8.py
MukulRay's picture
Phase 9.1: Cleaned up directory
d037204
import sys, logging
sys.path.insert(0, ".")
logging.basicConfig(level=logging.WARNING)
import uuid
from src.graph import run_recon
print("=== Phase 8: Full LangGraph Pipeline ===\n")
session_id = str(uuid.uuid4())
print(f"Session ID: {session_id}")
print("Running full pipeline (takes ~60s)...\n")
result = run_recon(
query="What is the current state of speculative decoding in LLMs?",
session_id=session_id,
decay_config="linear",
)
print(f"=== Pipeline Results ===")
print(f" Verdict: {result['critic_verdict']}")
print(f" Calibration: {result['calibration_bin']}")
print(f" Papers used: {len(result['retrieved_papers'])}")
print(f" Claims: {len(result['claim_confidences'])}")
print(f" Latency: {result['latency_ms']:.0f}ms")
print(f" Retry count: {result['retry_count']}")
print(f"\n=== Position preview ===")
print(result['synthesized_position'][:600])
print(f"\n=== Claims ===")
for c in result['claim_confidences']:
flag = " ⚠️" if c.flagged else ""
print(f" [{c.confidence.upper()}] {c.text[:65]}{flag}")
print(f"\n=== Multi-turn test ===")
print("Running second query in same session...")
result2 = run_recon(
query="What are the limitations of speculative decoding?",
session_id=session_id,
decay_config="linear",
)
print(f" Verdict: {result2['critic_verdict']}")
print(f" Claims: {len(result2['claim_confidences'])}")
print(f" Session context used: {len(result2.get('session_context').prior_positions if result2.get('session_context') else [])} prior positions")
print("\n✅ Phase 8 complete")