diagnose(trajectory): add diagnostics to identify why trace_count is 0

main
Sven Geboers 1 month ago
parent 24796f97d3
commit 385a25853c
  1. 31
      explorer.py

@ -19,6 +19,7 @@ import logging
import os import os
import re import re
import traceback import traceback
from datetime import datetime
from typing import Dict, List, Optional, Tuple from typing import Dict, List, Optional, Tuple
try: try:
@ -2096,6 +2097,36 @@ def choose_trajectory_title(axis_def: dict, axis: str, threshold: float = 0.65)
except Exception: except Exception:
pass pass
debug_enabled = get_debug_trajectories_enabled() debug_enabled = get_debug_trajectories_enabled()
# Add detailed diagnostics to understand why trace_count is 0
if trace_count == 0:
_last_trajectories_diagnostics.update(
{
"stage": "zero_traces",
"positions_count": sum(len(pos) for pos in positions_by_window.values())
if positions_by_window
else 0,
"party_map_count": len(party_map) if party_map else 0,
"centroids_count": len(centroids) if centroids else 0,
"selected_parties_count": len(selected_parties)
if selected_parties
else 0,
"timestamp": datetime.now().isoformat(),
}
)
# Check if there are positions but no centroids (name mismatch)
if positions_by_window and party_map and not centroids:
# Sample some MP names from positions
sample_mps = []
for window, positions in list(positions_by_window.items())[:1]:
sample_mps = list(positions.keys())[:5]
break
# Check if these MPs are in party_map
matched = sum(1 for mp in sample_mps if mp in party_map)
_last_trajectories_diagnostics["name_match_check"] = {
"sample_mps": sample_mps,
"matched_in_party_map": matched,
"sample_size": len(sample_mps),
}
if trace_count == 0: if trace_count == 0:
try: try:
st.info( st.info(

Loading…
Cancel
Save