File size: 1,592 Bytes
0f02637
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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")