https://github.com/sebrl758/atp-schedule-optimizer
· scanned 2026-06-16 00:06 UTC (2 months, 2 weeks ago)
11 raw signals (0 security + 11 graph)
Last scanned 2 months, 2 weeks ago · v1 · 9 actionable findings from 1 signal source. 2 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 260 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 |
|---|---|---|---|
make_config |
software | healthy | tests/test_validation.py:19 |
_match_row |
software | healthy | tests/test_validation.py:52 |
test_backtest_rejects_train_year_at_or_after_test_year |
software | healthy | tests/test_validation.py:75 |
test_actual_points_excludes_non_ranking_events |
software | healthy | tests/test_validation.py:89 |
test_aggregate_metrics_bias_and_mae |
software | healthy | tests/test_validation.py:106 |
test_backtest_player_year_produces_predictions |
software | healthy | tests/test_validation.py:122 |
test_optimal_vs_actual_id_join_is_clean |
software | healthy | tests/test_validation.py:159 |
test_optimal_selection_beats_actual_in_expected_net |
software | healthy | tests/test_validation.py:182 |
test_optimal_vs_actual_is_deterministic |
software | healthy | tests/test_validation.py:192 |
test_grand_slam_winner_points |
software | healthy | tests/test_points.py:4 |
test_deepest_round_loser_qf |
software | healthy | tests/test_points.py:8 |
test_season_timeline_returns_figure |
software | healthy | tests/test_app.py:29 |
test_epts_donut_returns_figure |
software | healthy | tests/test_app.py:50 |
test_predicted_vs_actual_scatter_returns_figure |
software | healthy | tests/test_app.py:67 |
test_tier_bias_bars_returns_figure |
software | healthy | tests/test_app.py:85 |
test_win_rate_heatmap_returns_figure |
software | healthy | tests/test_app.py:100 |
test_expected_points_bars_returns_figure |
software | healthy | tests/test_app.py:115 |
test_opponent_mix_bars_returns_figure |
software | healthy | tests/test_app.py:131 |
test_selectable_players_includes_known_names |
software | healthy | tests/test_app.py:148 |
test_home_page_runs |
software | healthy | tests/test_app.py:159 |
test_planner_page_runs_and_solves |
software | healthy | tests/test_app.py:165 |
test_optimal_vs_actual_page_runs |
software | healthy | tests/test_app.py:174 |
test_validation_page_runs |
software | healthy | tests/test_app.py:186 |
test_expected_points_page_runs |
software | healthy | tests/test_app.py:195 |
test_experiments_page_runs |
software | healthy | tests/test_app.py:203 |
const_matrix |
software | healthy | tests/test_expected_points.py:28 |
closed_form_expected |
software | healthy | tests/test_expected_points.py:37 |
test_entry_round_grand_slam_seed_vs_unseeded |
software | healthy | tests/test_expected_points.py:52 |
test_entry_round_500_always_r32 |
software | healthy | tests/test_expected_points.py:57 |
test_path_truncated_at_entry_round |
software | healthy | tests/test_expected_points.py:62 |
test_unseeded_path_starts_at_r128 |
software | healthy | tests/test_expected_points.py:71 |
test_certain_winner_earns_title_points |
software | healthy | tests/test_expected_points.py:78 |
test_certain_loser_earns_only_entry_round_points |
software | healthy | tests/test_expected_points.py:84 |
test_certain_loser_zero_when_first_round_scores_nothing |
software | healthy | tests/test_expected_points.py:90 |
test_matches_closed_form |
software | healthy | tests/test_expected_points.py:100 |
test_monotonic_in_win_rate |
software | healthy | tests/test_expected_points.py:108 |
test_expected_points_bounded_by_title |
software | healthy | tests/test_expected_points.py:114 |
test_tier_from_calendar_value_known |
software | healthy | tests/test_expected_points.py:122 |
test_tier_from_calendar_value_unknown_raises |
software | healthy | tests/test_expected_points.py:128 |
_mini_config |
software | healthy | tests/test_expected_points.py:135 |
test_opponent_mix_blends_between_pure_tiers |
software | healthy | tests/test_expected_points.py:154 |
ep |
software | healthy | tests/test_expected_points.py:162 |
test_profile_override_is_per_tier |
software | healthy | tests/test_expected_points.py:172 |
test_build_opponent_profiles_only_small_tiers_and_uses_draws |
software | healthy | tests/test_expected_points.py:181 |
_write_year_csv |
software | healthy | tests/test_data.py:20 |
test_load_year_matches_missing_file_raises |
software | healthy | tests/test_data.py:25 |
test_load_player_matches_derives_won_and_opponent_rank |
software | healthy | tests/test_data.py:30 |
test_load_player_matches_concats_years_and_tags_season |
software | healthy | tests/test_data.py:50 |
test_load_player_matches_excludes_other_players |
software | healthy | tests/test_data.py:60 |
test_date_to_week_index |
software | healthy | tests/test_data.py:76 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
config.yaml |
software | healthy | config.yaml |
README.md |
software | healthy | README.md |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
requirements.txt |
software | healthy | requirements.txt |
test_validation.py |
software | healthy | tests/test_validation.py |
test_points.py |
software | healthy | tests/test_points.py |
test_app.py |
software | healthy | tests/test_app.py |
test_expected_points.py |
software | healthy | tests/test_expected_points.py |
test_data.py |
software | healthy | tests/test_data.py |
test_engine.py |
software | healthy | tests/test_engine.py |
test_win_probability.py |
software | healthy | tests/test_win_probability.py |
test_optimizer.py |
software | healthy | tests/test_optimizer.py |
VALIDATION_FINDINGS.md |
software | healthy | docs/VALIDATION_FINDINGS.md |
generate_portfolio_charts.py |
software | healthy | scripts/generate_portfolio_charts.py |
show_ip.py |
software | healthy | scripts/show_ip.py |
factcheck_2025.py |
software | healthy | scripts/factcheck_2025.py |
build_player_artifacts.py |
software | healthy | scripts/build_player_artifacts.py |
download_data.py |
software | healthy | scripts/download_data.py |
run_validation.py |
software | healthy | scripts/run_validation.py |
run_experiment_1.py |
software | healthy | scripts/run_experiment_1.py |
run_experiment_2.py |
software | healthy | scripts/run_experiment_2.py |
run_experiment_3.py |
software | healthy | scripts/run_experiment_3.py |
check_setup.py |
software | healthy | scripts/check_setup.py |
run_optimizer.py |
software | healthy | scripts/run_optimizer.py |
build_expected_points.py |
software | healthy | scripts/build_expected_points.py |
validate_calendar.py |
software | healthy | scripts/validate_calendar.py |
run_decomposition.py |
software | healthy | scripts/run_decomposition.py |
components.py |
software | healthy | app/components.py |
README.md |
software | healthy | app/README.md |
app.py |
software | healthy | app/app.py |
theme.py |
software | healthy | app/theme.py |
data_access.py |
software | healthy | app/data_access.py |
ui.py |
software | healthy | app/ui.py |
3_Validation.py |
software | healthy | app/pages/3_Validation.py |
5_Experiments.py |
software | healthy | app/pages/5_Experiments.py |
1_Schedule_Planner.py |
software | healthy | app/pages/1_Schedule_Planner.py |
4_Expected_Points.py |
software | healthy | app/pages/4_Expected_Points.py |
2_Optimal_vs_Actual.py |
software | healthy | app/pages/2_Optimal_vs_Actual.py |
__init__.py |
software | healthy | src/atp_optimizer/__init__.py |
config.py |
software | healthy | src/atp_optimizer/config.py |
points.py |
software | healthy | src/atp_optimizer/points.py |
engine.py |
software | healthy | src/atp_optimizer/engine.py |
__init__.py |
software | healthy | src/atp_optimizer/models/__init__.py |
win_probability.py |
software | healthy | src/atp_optimizer/models/win_probability.py |
defending.py |
software | healthy | src/atp_optimizer/models/defending.py |
expected_points.py |
software | healthy | src/atp_optimizer/models/expected_points.py |
__init__.py |
software | healthy | src/atp_optimizer/validation/__init__.py |
backtest.py |
software | healthy | src/atp_optimizer/validation/backtest.py |
__init__.py |
software | healthy | src/atp_optimizer/optimizer/__init__.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
RankTier |
software | healthy | src/atp_optimizer/config.py:12 |
ValidationPlayer |
software | healthy | src/atp_optimizer/config.py:25 |
ProjectConfig |
software | healthy | src/atp_optimizer/config.py:31 |
Tier |
software | healthy | src/atp_optimizer/points.py:8 |
PlanResult |
software | healthy | src/atp_optimizer/engine.py:171 |
WinRateMatrix |
software | healthy | src/atp_optimizer/models/win_probability.py:12 |
RoundProfile |
software | healthy | src/atp_optimizer/models/expected_points.py:24 |
BacktestMetrics |
software | healthy | src/atp_optimizer/validation/backtest.py:168 |
ActualVsOptimal |
software | healthy | src/atp_optimizer/validation/backtest.py:207 |
TournamentSlot |
software | healthy | src/atp_optimizer/optimizer/schedule.py:12 |
ScheduleOptimizer |
software | healthy | src/atp_optimizer/optimizer/schedule.py:39 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
docs |
software | healthy | docs |
scripts |
software | healthy | scripts |
app |
software | healthy | app |
pages |
software | healthy | app/pages |
src |
software | healthy | src |
atp_optimizer |
software | healthy | src/atp_optimizer |
models |
software | healthy | src/atp_optimizer/models |
validation |
software | healthy | src/atp_optimizer/validation |
optimizer |
software | healthy | src/atp_optimizer/optimizer |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-arglklv3 |
software | healthy | /tmp/repobility-clone-arglklv3 |
This page is publicly accessible at:
https://repobility.com/scan/efd657ab-fa3e-4c0b-8633-7a499bd87373/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/efd657ab-fa3e-4c0b-8633-7a499bd87373/
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.