https://github.com/waledosunmu/worldcup-predictor
· scanned 2026-06-16 00:54 UTC (2 months, 1 week ago)
21 raw signals (0 security + 21 graph)
Last scanned 2 months, 1 week ago · v1 · 17 actionable findings from 1 signal source. 4 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 372 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_write_results_csv_preserves_format_when_unchanged |
software | healthy | tests/test_live.py:22 |
test_write_results_csv_renders_filled_score_as_int |
software | healthy | tests/test_live.py:32 |
test_merge_results_fills_na_orientation_robust |
software | healthy | tests/test_live.py:44 |
test_imports_worktree_src |
software | healthy | tests/conftest.py:15 |
test_implied_probs_sum_to_one |
software | healthy | tests/test_odds.py:11 |
test_fair_odds_recover_true_probs |
software | healthy | tests/test_odds.py:16 |
test_overround_removed_preserves_ordering |
software | healthy | tests/test_odds.py:25 |
test_shorter_odds_more_probable |
software | healthy | tests/test_odds.py:32 |
test_consensus_identical_rows_returns_that_row |
software | healthy | tests/test_odds.py:39 |
test_consensus_sums_to_one |
software | healthy | tests/test_odds.py:45 |
test_consensus_geometric_mean_hand_value |
software | healthy | tests/test_odds.py:50 |
test_consensus_between_inputs |
software | healthy | tests/test_odds.py:59 |
_event |
software | healthy | tests/test_odds.py:70 |
test_event_h2h_consensus_basic |
software | healthy | tests/test_odds.py:82 |
test_event_h2h_consensus_counts_multiple_books |
software | healthy | tests/test_odds.py:92 |
test_event_h2h_consensus_none_when_market_incomplete |
software | healthy | tests/test_odds.py:101 |
test_event_h2h_consensus_ignores_non_h2h_markets |
software | healthy | tests/test_odds.py:107 |
test_outright_consensus_restricts_to_universe_and_normalizes |
software | healthy | tests/test_odds.py:119 |
test_outright_consensus_skips_books_missing_universe_team |
software | healthy | tests/test_odds.py:134 |
_results |
software | healthy | tests/test_explain.py:9 |
test_h2h_record_counts_from_a_perspective |
software | healthy | tests/test_explain.py:26 |
test_h2h_record_respects_before_cutoff |
software | healthy | tests/test_explain.py:35 |
test_h2h_record_never_met |
software | healthy | tests/test_explain.py:42 |
test_recent_form_string_and_goals |
software | healthy | tests/test_explain.py:50 |
test_recent_form_respects_n_limit |
software | healthy | tests/test_explain.py:60 |
_fx |
software | healthy | tests/test_explain.py:68 |
test_fixture_explanation_renders_and_references_fields |
software | healthy | tests/test_explain.py:76 |
test_fixture_explanation_market_divergence_note |
software | healthy | tests/test_explain.py:88 |
test_fixture_explanation_never_met_branch |
software | healthy | tests/test_explain.py:99 |
test_team_blurb_renders_simulation_fields |
software | healthy | tests/test_explain.py:109 |
test_team_blurb_market_divergence_note |
software | healthy | tests/test_explain.py:117 |
test_pick_from_returns_modal_side |
software | healthy | tests/test_result_review.py:8 |
test_review_model_hit_with_score_and_winner |
software | healthy | tests/test_result_review.py:14 |
test_review_model_miss_reports_actual_prob |
software | healthy | tests/test_result_review.py:20 |
test_review_includes_market_agreement_and_disagreement |
software | healthy | tests/test_result_review.py:26 |
test_review_draw_has_no_winner_clause |
software | healthy | tests/test_result_review.py:33 |
test_log_loss_perfect_prediction_is_zero |
software | healthy | tests/test_metrics.py:13 |
test_log_loss_hand_value |
software | healthy | tests/test_metrics.py:18 |
test_log_loss_zero_prob_uses_eps_no_inf |
software | healthy | tests/test_metrics.py:25 |
test_brier_perfect_is_zero |
software | healthy | tests/test_metrics.py:34 |
test_brier_hand_value |
software | healthy | tests/test_metrics.py:38 |
test_rps_perfect_is_zero |
software | healthy | tests/test_metrics.py:47 |
test_rps_worst_case_is_one |
software | healthy | tests/test_metrics.py:51 |
test_rps_respects_ordering |
software | healthy | tests/test_metrics.py:57 |
test_rps_hand_value |
software | healthy | tests/test_metrics.py:66 |
test_equal_strength_gives_equal_expected_goals |
software | healthy | tests/test_goals.py:17 |
test_expected_goals_monotonic_in_dr |
software | healthy | tests/test_goals.py:23 |
test_expected_goals_symmetry |
software | healthy | tests/test_goals.py:31 |
test_expected_goals_positive |
software | healthy | tests/test_goals.py:39 |
test_outcome_probs_sum_to_one |
software | healthy | tests/test_goals.py:46 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
ROADMAP.md |
software | healthy | ROADMAP.md |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
test_live.py |
software | healthy | tests/test_live.py |
conftest.py |
software | healthy | tests/conftest.py |
test_odds.py |
software | healthy | tests/test_odds.py |
test_explain.py |
software | healthy | tests/test_explain.py |
test_result_review.py |
software | healthy | tests/test_result_review.py |
test_metrics.py |
software | healthy | tests/test_metrics.py |
test_goals.py |
software | healthy | tests/test_goals.py |
test_calibration.py |
software | healthy | tests/test_calibration.py |
test_snapshot_gate.py |
software | healthy | tests/test_snapshot_gate.py |
test_simulate.py |
software | healthy | tests/test_simulate.py |
test_history.py |
software | healthy | tests/test_history.py |
test_elo.py |
software | healthy | tests/test_elo.py |
test_odds_movement.py |
software | healthy | tests/test_odds_movement.py |
methodology.html |
software | healthy | docs/methodology.html |
bracket.html |
software | healthy | docs/bracket.html |
data.json |
software | healthy | docs/data.json |
groups.html |
software | healthy | docs/groups.html |
index.html |
software | healthy | docs/index.html |
app.js |
software | healthy | docs/app.js |
trends.html |
software | healthy | docs/trends.html |
style.css |
software | healthy | docs/style.css |
analyze_odds_movement.py |
software | healthy | scripts/analyze_odds_movement.py |
run_tournament_backtest.py |
software | healthy | scripts/run_tournament_backtest.py |
update_all.sh |
software | healthy | scripts/update_all.sh |
snapshot_odds.py |
software | healthy | scripts/snapshot_odds.py |
build_site.py |
software | healthy | scripts/build_site.py |
run_backtest.py |
software | healthy | scripts/run_backtest.py |
append_history.py |
software | healthy | scripts/append_history.py |
run_consensus.py |
software | healthy | scripts/run_consensus.py |
run_model_comparison.py |
software | healthy | scripts/run_model_comparison.py |
run_opening_forecast.py |
software | healthy | scripts/run_opening_forecast.py |
fetch_results.py |
software | healthy | scripts/fetch_results.py |
run_forecast.py |
software | healthy | scripts/run_forecast.py |
tournament_backtest_2006_2022.json |
software | healthy | output/tournament_backtest_2006_2022.json |
odds_movement.json |
software | healthy | output/odds_movement.json |
odds_movement.md |
software | healthy | output/odds_movement.md |
model_comparison.md |
software | healthy | output/model_comparison.md |
forecast_opening.md |
software | healthy | output/forecast_opening.md |
consensus.json |
software | healthy | output/consensus.json |
backtest_2006_2022.json |
software | healthy | output/backtest_2006_2022.json |
tournament_backtest_2006_2022.md |
software | healthy | output/tournament_backtest_2006_2022.md |
forecast_opening.json |
software | healthy | output/forecast_opening.json |
forecast_latest.json |
software | healthy | output/forecast_latest.json |
model_comparison.json |
software | healthy | output/model_comparison.json |
backtest_2006_2022.md |
software | healthy | output/backtest_2006_2022.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
output |
software | healthy | output |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
wcpred |
software | healthy | src/wcpred |
| Label | Layer | Status | Path |
|---|---|---|---|
_Zero |
software | healthy | tests/test_calibration.py:68 |
LegacySimulator |
software | healthy | scripts/run_tournament_backtest.py:210 |
Simulator |
software | healthy | src/wcpred/simulate.py:38 |
| Label | Layer | Status | Path |
|---|---|---|---|
ODDS_API_KEY |
cicd | healthy | — |
FOOTBALL_DATA_API_KEY |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-nttoyarm |
software | healthy | /tmp/repobility-clone-nttoyarm |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::daily-update |
cicd | healthy | .github/workflows/daily-update.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
update |
cicd | healthy | .github/workflows/daily-update.yml |
This page is publicly accessible at:
https://repobility.com/scan/df827d25-790b-430d-bf42-4ae8d5cbcbec/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/df827d25-790b-430d-bf42-4ae8d5cbcbec/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.