0766 - Padel player statistics, level rating and profile
Increment 0766-padel-player-stats · completed · report generated 2026-10-03 06:00 from ledger.jsonl
5/5
tasks done
8/8
acceptance criteria met
2
handoffs
0
pickups
anton, claude-thread
tools
1
recorded sessions
Timeline
| When (UTC) | Who | What | Task | Evidence or note |
|---|---|---|---|---|
| 2026-09-26 03:49 | anton | started a session | session 7cfcb6e2-40ef-4304-ba02-c6daadfe7394 | |
| 2026-09-26 03:49 | anton | claimed | T-005 | |
| 2026-09-26 03:49 | anton | finished | T-005 | curl -s https://easychamp.com/ec-standings-api/champs/30540192-00ec-4d53-aab0-fdba96da23a7/padel-ranking | python3 -c "import json,sys;r=json.load(sys.stdin)['rows'];assert len(r)==18 and all(x['matches']>0 for x in r);print(len(r),'players ranked; top',r[0]['name'],r[0]['level'])" → exit 0 log: .specweave/increments/0766-padel-player-stats/reports/task-T-005.log 18 players ranked; top Mateo Ruiz 3.29 … |
| 2026-09-26 04:46 | anton | handed off | handoff test | |
| 2026-10-03 05:53 | claude-thread | left a note | T-002 re-proved live in prod by a second agent: python3 .specweave/increments/0766-padel-player-stats/scripts/verify_padel_profile.py -> exit 0. 18 players: profile == ranking, folds add up from match lists, levels 0..7, deterministic. Log: .specweave/increments/0766-padel-player-stats/reports/reproof-T-002-2026-10-03.log (HEAD 0120aff3d). The CLI keeps the tasks.md completion; this note carries the fresh evidence. | |
| 2026-10-03 05:55 | claude-thread | left a note | T-004 re-proved live in prod by a second agent: python3 .specweave/increments/0766-padel-player-stats/scripts/verify_padel_pages.py -> exit 0. Stats tab ranks all 18 players; 18 player pages show the padel record with live levels. Log: .specweave/increments/0766-padel-player-stats/reports/reproof-T-004-2026-10-03.log (HEAD 0120aff3d). The CLI keeps the tasks.md completion; this note carries the fresh evidence. | |
| 2026-10-03 05:58 | claude-thread | handed off | handoff test: second agent re-proved T-002 and T-004 live, switching back · next: specweave complete 0766-padel-player-stats (status already completed in metadata) |
Tasks
| Task | Title | State | By |
|---|---|---|---|
| T-001 | padel-2v2 court formation (kit json + API generated catalog) | done | tasks.md |
| T-002 | Padel profile + ranking fold and endpoints | done | tasks.md |
| T-003 | Console pair picker in padel score dialog | done | tasks.md |
| T-004 | Padel profile sections + arena wiring (arena components; no kit change needed) | done | tasks.md |
| T-005 | Demo data + prod verification | done | anton |
Acceptance criteria
- AC-US1-01 A padel fixture lineup takes a `padel-2v2` court formation with Right (drive) and Left (reves) slots.
- AC-US1-02 The console score dialog for a padel fixture lets the organizer pick the two players and their sides for each team before or after entering sets, prefilled from the team's last pair.
- AC-US2-01 GET /player/{id}/padel-profile returns matches, W/L, win %, sets and games W/L, tie-breaks, deciding sets, comebacks, current and best streak, last-5 form, side split, partner records, level with reliability and history, and recent matches with set lines and level change.
- AC-US2-02 GET /champs/{id}/padel-ranking returns every player of the competition ranked by level with W/L, win %, games difference and streak.
- AC-US2-03 Only finished, non-draft fixtures of published competitions with the padel sets profile and a recorded pair count; the level is deterministic (same fixtures, same numbers).
- AC-US3-01 The Watch player page shows the padel profile (level card with chart, stat tiles, form strip, partners, side split, match list) for padel players.
- AC-US3-02 The padel competition page shows the level ranking; the match page shows each pair with sides.
- AC-US4-01 Every demo padel team has three players, every played match has a pair with sides, and the profile and ranking pages render real numbers in prod.