Matti · Karriere 2022/23 → nu
Tracker-data
Tracker-koden og de levende data holdes adskilt, så fremtidige versioner kan skiftes uden at være afhængige af en gammel kode-backup.
/tracker-data/storageNår dashboard, Opdater Matti og kommende kampe er testet én gang, kan tracker-051-backup slettes sammen med øvrige gamle tracker-backups.
Tracker-opdatering
Fra næste version kan Tracker opdateres herfra uden Simply-mappecirkus. Live-data i /tracker-data/storage røres aldrig.
Tracker skal køre fra den kanoniske
/tracker-mappe, før updateren må skifte kode.Opdatér næste stævne
Systemet starter altid fra den aktuelle server-master. En godkendt opdatering bliver automatisk næste baseline.
Hvis der er officiel basis-reconciliation, bruges BadmintonPlayer som autoritativt grundlag fra stævnet og frem. Historiske kampresultater ændres ikke.
Teknisk JSON
—
Karrieredatabase
Én database for alle Mattis kampe fra 2022/23 og frem. Sæsontrackeren bliver fremover bare én visning af de samme data.
Sæsondækning
Hyppigste modstandere
Partnere
Head2Head
Karriere-DB teknisk status
—
Historikimport
Importmotor v1 til karrieren før den nuværende sæson. Den skriver direkte til karrieredatabasen og ændrer aldrig server-master/XLSX.
Kører det komplette read-only sæsonmanifest for de tre manglende afsluttede sæsoner én efter én. Ingen database-write. Hver sæson valideres separat, så én fejl ikke skjuler de andre.
Teknisk backfill-JSON
—
Parser Mattis egne BadmintonPlayer-registreringer direkte til stævner, discipliner og partnere. Ingen database-write.
Teknisk discovery-JSON
—
Bruger stævne-seeds til at kortlægge SeasonPlan og finde konkrete tournamentClassId/resultatkilder. Første version prober kun få repræsentative seeds for at undgå timeouts.
Teknisk resultatkilde-JSON
—
Scanner SearchRegistrations-HTML og BadmintonPlayers proxy for skjulte registration/class/event IDs, links og handlers. Ingen database-write.
Teknisk registration-metadata JSON
—
Scanner BadmintonPlayers proxy, inline JavaScript og eksterne scripts for prerequisite-kæden til seasonid, agegroupid, classid og regionids.
Teknisk SeasonPlan dependency JSON
—
Bruger BadmintonPlayers egen GetSeasonPlan-kæde direkte med Mattis player-ID og den valgte sæsons datointerval. Age/class-filtre holdes tomme som i BadmintonPlayers egen klientkode. Hvis class-ID'er findes, kampverificeres op til 6 af dem automatisk.
Teknisk Player SeasonPlan JSON
—
Bruger BadmintonPlayers gamle /SaesonPlanOld-side til at hente det rigtige callback-context, sæson-ID, regioner og SeasonPlan-konfiguration før GetSeasonPlan kaldes.
Teknisk Legacy SeasonPlan JSON
—
Tester den dokumenterbare BadmintonPlayer-konvention hvor sæson 2022/23 bruger season-ID 2022. Først køres ét sikkert kontrolkald på spillerprofil-kontrakten, derefter højst fire GetSeasonPlan-varianter.
Teknisk Season-ID evidence JSON
—
Matcher de 17 completed registrerings-seeds mod den nu fungerende SeasonPlan via dato + alder/niveau + arrangør og henter derefter Mattis kampe fra de fundne tournamentClassId'er. Ingen database-write.
Teknisk historisk kamp-JSON
—
0.3.32 viste, at tournamentClassId er korrekt for flere stævner, men event=0 giver ofte kun spillerfilteret. Denne probe kortlægger ClassInfo, event-ID'er og class-afhængige resultatmetoder på kun sikre name+date+age/level matches.
Teknisk tournament-event JSON
—
Finder den præcise U-alder/niveau-class fra SearchTournamentMatches(event=0).ClassInfo, læser derefter event-ID'er fra SearchTournamentResults og henter Mattis faktiske kamp-rækker pr. event. Ingen database-write.
Teknisk resolved-class kamp-JSON
—
Henter kun de discipliner Matti faktisk var registreret i, binder hvert event-ID til den rigtige overskrift og normaliserer score, W/L, partner og modstandere. Fortsat read-only.
Teknisk clean historical preview JSON
—
Går kun efter de 9 seeds, som 0.3.36 ikke kunne navnematche. En kandidat accepteres kun, hvis korrekt U-alder/niveau-class kan løses, og et relevant event returnerer en konkret kamp-række med Matti og score. Dato/alder alene er aldrig nok.
Teknisk missing-tournament recovery JSON
—
Tester den sidste interne BadmintonPlayer-hypotese: om de 9 manglende stævner er skjult af publicseasonplan=true eller af, at vi hidtil kun har læst page=0. Sammenligner public true/false og op til fire sider. Fortsat read-only.
Teknisk SeasonPlan mode JSON
—
Genåbner BadmintonPlayers direkte turneringssøgning med det nu dokumenterede seasonid=2022. Kalibrerer først mod Aakirkeby og søger derefter kun de 9 stævner, SeasonPlan ikke indeholder.
Teknisk Direct TournamentClass JSON
—
Læser BadmintonPlayers levende v2-app.js, udtrækker TournamentClassClient/TournamentClient-kontrakter og finder den baseUrl klienterne faktisk bruger. Kalibrering sker kun mod den kendte Aakirkeby U11 D-class 99248.
Teknisk Modern v2 API JSON
—
Finder hvem der sætter sessionStorage.webApiUrl på BadmintonPlayers egen Beta-resultatside. Scanner kun side-bootstrap og scripts, der faktisk er indlæst på Aakirkeby class 99248.
Teknisk Modern v2 bootstrap JSON
—
API-basen er nu bevist. Denne probe udleder request-kontrakten til TournamentClient.getList / POST /api/Tournament fra den levende bundle og OpenAPI, før de 9 manglende stævner søges.
Teknisk Modern Tournament contract JSON
—
Bruger nu den dokumenterede PATCH /api/Tournament-kontrakt. Kalibrerer først Aakirkeby og søger derefter alle 17 registrerings-seeds med dato + navn, uden writes eller fallback-gæt.
Teknisk Modern Tournament seeds JSON
—
Resolver turneringen, vælger eksakt class via ageGroupCode + classCode og spørger derefter TournamentEventMatch direkte efter Mattis playerId. De tre manglende seeds får kun en date-only fallback, hvis navnescoringen giver en entydig vinder.
Teknisk Exact class + matches JSON
—
Bruger Modern API som turneringsfinder og den allerede validerede legacy-resultatkæde til ClassInfo, events, SearchTournamentMatches og normalisering. Det moderne player-match endpoint bruges ikke som historisk autoritet.
Teknisk Hybrid historical matches JSON
—
Finder Mattis holdkampe direkte i BadmintonPlayer for den valgte sæson og viser kun verificerede scorede spillerlinjer. Ingen database-, master- eller XLSX-write.
Teknisk holdkamp-preview JSON
—
Samler alle verificerede turnerings- og holdkampe for den valgte historiske sæson. Holdkampe findes automatisk via sæson, Glostrup og Mattis playerId og valideres på de konkrete scorede holdsedler. Ingen DB-write.
Teknisk Complete season clean JSON
—
Genbygger det validerede samlede sæsonmanifest og sammenligner hver kamp med den eksisterende karriere-DB. Viser INSERT, MERGE/UPGRADE, ALLEREDE IMPORTERET eller KONFLIKT. DB åbnes uden migration, bootstrap eller retry, og der udføres ingen writes.
Teknisk importplan JSON
—
Denne handling skriver til karrieredatabasen. Serveren genbygger manifest + read-only plan umiddelbart før write, kræver samme manifest-hash/batch-key og ruller hele transaktionen tilbage, hvis pre-commit-kontrollen for den valgte sæson ikke består.
Kildediagnostik til automatisk sæson-discovery
Denne probe ændrer ingen data. Den kortlægger offentlige BadmintonPlayer-kontrakter, så næste trin kan finde Mattis gamle turneringer automatisk i stedet for via UUID.
—