Golf - Juniortävlingar

Dokumentationsportal

CI Test Baseline – v20.66.9

CI ska skydda dagens stödda funktionalitet, inte pensionerade implementationer.

Principer

  • Live-motor, polling, scheduler och automatisk Min Golf-sync är pensionerade.
  • Min Golf/golf.se server-side fetch har endast negativa policytester.
  • Historiska resultat, ranking, manuella snapshots/anmälningsdata, spelar-/rankingmatchning, rekommendationer och klubb/venue/distance är aktiva.
  • Gamla release-meta-tester tas bort när de ersatts av aktuella funktionskontrakt.

Inventering

Testfil Beslut
test_ci_foundation.py KEEP
test_club_catalogue.py KEEP
test_club_distance_night_run.py KEEP
test_club_distances.py KEEP
test_club_venues.py KEEP
test_competition_recommendations.py KEEP
test_coordinate_enrichment.py KEEP
test_geocoding_fallbacks.py KEEP
test_golf_se_club_information.py KEEP
test_golf_se_har_schema.py KEEP
test_golf_se_results_parser.py KEEP
test_historical_results.py KEEP
test_historical_sync.py DELETE
test_importer_models.py KEEP
test_importer_pipeline.py KEEP
test_list_filters.py KEEP
test_live_dashboard.py DELETE
test_live_results.py DELETE
test_location_distance_integration.py KEEP
test_location_enrichment.py KEEP
test_mingolf_integration.py DELETE
test_mobile_first_design.py KEEP
test_mobile_search_filter_class_fix.py KEEP
test_performance_maintenance.py KEEP
test_player_autocomplete_ux.py KEEP
test_player_identity.py KEEP
test_player_identity_performance.py KEEP
test_player_search_performance.py KEEP
test_presentation_feature.py KEEP
test_python_warnings.py KEEP
test_ranking_import_resilience.py KEEP
test_ranking_points.py KEEP
test_report_registry.py KEEP
test_result_preview.py KEEP
test_sgf_club_registry.py KEEP
test_sync_policy.py DELETE
test_ux_telemetry.py KEEP
test_v20_53_1_ux_performance.py KEEP
test_v20_53_2_mobile_history.py KEEP
test_v20_53_3_entry_analysis.py KEEP
test_v20_53_4_analysis_progress.py KEEP
test_v20_53_5_analysis_state_navigation.py KEEP
test_v20_53_6_player_back_link_hotfix.py KEEP
test_v20_53_7_entry_player_link_visibility.py KEEP
test_v20_53_8_entry_player_links_rendering.py KEEP
test_v20_53_9_entry_identity_refresh.py KEEP
test_v20_55_0_focused_ux.py KEEP
test_v20_56_0_task_navigation.py KEEP
test_v20_56_1_unified_live_dashboard.py DELETE
test_v20_60_0_dashboard_foundation.py DELETE
test_v20_60_1_dashboard_layout_live_classes.py DELETE
test_v20_60_2_live_detail_discovery.py DELETE
test_v20_60_3_result_presentation_refactor.py KEEP
test_v20_60_4_application_boot_import_hotfix.py DELETE
test_v20_61_0_unified_dashboard_experience.py DELETE
test_v20_61_10_live_auto_repair.py DELETE
test_v20_61_11_live_auto_repair_test_contract.py DELETE
test_v20_61_1_dashboard_completeness_live_refresh.py DELETE
test_v20_61_2_live_score_parity_dashboard.py DELETE
test_v20_61_3_live_diagnostics_capture.py DELETE
test_v20_61_4_live_engine_trace.py DELETE
test_v20_61_5_live_source_bootstrap.py DELETE
test_v20_61_7_live_snapshot_repair.py DELETE
test_v20_61_8_live_visibility_trace_semantics.py DELETE
test_v20_61_9_live_parity_repair_runner.py DELETE
test_v20_62_0_live_engine_stable.py DELETE
test_v20_63_0_information_first_dashboard.py DELETE
test_v20_63_10_live_results_history_filter.py DELETE
test_v20_63_11_results_workspace_complete.py KEEP
test_v20_63_12_results_date_range_and_expand_fix.py KEEP
test_v20_63_13_results_club_alias_canonicalization.py KEEP
test_v20_63_14_ci_regression_contract_alignment.py DELETE
test_v20_63_15_results_club_filter_performance.py KEEP
test_v20_63_16_competition_planning_workspace.py KEEP
test_v20_63_1_information_first_dashboard_test_contract.py DELETE
test_v20_63_2_dashboard_ux_complete.py DELETE
test_v20_63_3_live_refresh.py DELETE
test_v20_63_4_live_score_parity_diagnostics.py DELETE
test_v20_63_5_live_stale_snapshot_refresh.py DELETE
test_v20_63_6_live_scheduler_decision_diagnostics.py DELETE
test_v20_63_7_live_scheduler_starvation_fix.py DELETE
test_v20_63_8_live_runtime_stability.py DELETE
test_v20_63_9_analysis_request_nonblocking.py DELETE
test_v20_64_1_competition_deadline_parsing.py KEEP
test_v20_64_2_competition_planning_column_sort.py KEEP
test_v20_64_3_dashboard_next_deadlines_ordering.py KEEP
test_v20_65_1_promotion_aware_recommendations.py KEEP
test_v20_65_2_integrated_entry_field_and_full_period.py KEEP
test_v20_65_3_recommendation_open_entry_filter.py KEEP
test_v20_65_4_live_import_retention.py DELETE
test_v20_65_5_sgf_remote_fetch_kill_switch.py KEEP
test_v20_65_6_offline_data_mode.py KEEP
test_v20_66_0_private_competition_analysis.py KEEP
test_v20_66_1_ci_contract_alignment.py KEEP
test_v20_66_2_ci_contract_finalization.py DELETE
test_v20_66_3_ci_contract_hardening.py DELETE
test_v20_66_4_manual_golfdata_ranking_sync.py KEEP
test_v20_66_5_manual_ranking_contract_ci_reporting.py DELETE
test_v20_66_6_release_and_reporting_contract.py DELETE
test_v20_66_7_ci_reporting_mounted_path.py DELETE
test_v20_66_8_ci_host_container_separation.py DELETE
test_visible_status.py KEEP

Nya baseline-tester

  • test_current_architecture.py
  • test_ci_reporting.py

Målarkitektur

Funktion Status
Manuell GolfData-ranking ACTIVE
Manuell tävlingssnapshot/anmälningsdata ACTIVE
Historiska resultat ACTIVE
Spelaridentitet/rankingmatchning ACTIVE
Klubb/venue/distance ACTIVE
Min Golf/golf.se server-side fetch BLOCKED
Live-resultat/polling/scheduler RETIRED
## v20.67.0
Aktiv baseline omfattar nu manuell GolfData-historik och filbaserad anmälningssnapshot. CI ska verifiera parser, avgränsad manuell körning och att startsidan inte exponerar teknisk databasstatistik.
## Regressionregel v20.67.1
Befintliga funktionsregressioner är blockerande. Ett legacy-test får endast ändras när dess krav avsiktligt ändrats. Dashboard-/startsidesändringar får exempelvis inte påverka resultathistorikens helper-funktioner.
## v20.67.4
Regression täcker entydigt route-ägarskap, separat historisk resultatroute, GolfData-historikens placering/loggning och personlig branding.
## v20.67.5
Regression täcker alla lagrade tävlingsklasser och dynamiskt klassfilter.

Versionsoberoende regressionstester och release gate

Regressionstester får inte patch-låsas när de skyddar funktionalitet som ska leva vidare. Före varje release kör ci_check.sh den obligatoriska scripts/check_version_contracts.py. Gaten stoppar oannoterade exakta patchkontrakt. Använd semver eller relevant releasefamilj. Exakt version får endast användas när versionsnumret självt är det beteende som verifieras och raden måste märkas # version-contract: exact-ok.

Releaseordning: versionskontrakt → riktade regressioner → full CI → paketering.

Analysproveniens

Analytiska resultat får inte presenteras utan känt underlag. Tävlingsanalys ska kunna redovisa anmälningssnapshot/källa och tid samt rankingimport, källdatum och importtid. Canonical player ID är primär identitet; namn+klubb är endast kontrollerad fallback. Herr/Dam i källdata normaliseras till Pojkar/Flickor i analysdomänen. Saknat underlag får aldrig ge en fabricerad placering.