51 lines
1.9 KiB
Python
51 lines
1.9 KiB
Python
|
|
"""Debug insights availability for a study."""
|
||
|
|
import sys
|
||
|
|
sys.path.insert(0, ".")
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
# Test study path resolution
|
||
|
|
study_id = 'm1_mirror_cost_reduction_V9'
|
||
|
|
STUDIES_DIR = Path('studies')
|
||
|
|
|
||
|
|
# Check nested path
|
||
|
|
for topic_dir in STUDIES_DIR.iterdir():
|
||
|
|
if topic_dir.is_dir():
|
||
|
|
study_dir = topic_dir / study_id
|
||
|
|
if study_dir.exists():
|
||
|
|
print(f"Found study at: {study_dir}")
|
||
|
|
print(f"Has 1_setup: {(study_dir / '1_setup').exists()}")
|
||
|
|
print(f"Has 2_results: {(study_dir / '2_results').exists()}")
|
||
|
|
|
||
|
|
# Check what insights are available
|
||
|
|
from optimization_engine.insights import list_available_insights, get_configured_insights, recommend_insights_for_study
|
||
|
|
|
||
|
|
print("\n--- Available insights (can_generate=True) ---")
|
||
|
|
available = list_available_insights(study_dir)
|
||
|
|
print(f"Count: {len(available)}")
|
||
|
|
for a in available:
|
||
|
|
print(f" - {a}")
|
||
|
|
|
||
|
|
print("\n--- Configured insights ---")
|
||
|
|
configured = get_configured_insights(study_dir)
|
||
|
|
print(f"Count: {len(configured)}")
|
||
|
|
for c in configured:
|
||
|
|
print(f" - {c.type}: {c.name}")
|
||
|
|
|
||
|
|
print("\n--- Recommendations ---")
|
||
|
|
recs = recommend_insights_for_study(study_dir)
|
||
|
|
print(f"Count: {len(recs)}")
|
||
|
|
for r in recs:
|
||
|
|
print(f" - {r['type']}: {r['name']}")
|
||
|
|
|
||
|
|
# Test individual insight can_generate
|
||
|
|
print("\n--- Testing each insight's can_generate ---")
|
||
|
|
from optimization_engine.insights import get_insight, list_insights
|
||
|
|
|
||
|
|
for info in list_insights():
|
||
|
|
insight = get_insight(info['type'], study_dir)
|
||
|
|
if insight:
|
||
|
|
can = insight.can_generate()
|
||
|
|
print(f" {info['type']:20} can_generate={can}")
|
||
|
|
|
||
|
|
break
|