| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Add normalized difficulty versus moving duration to analytics | Martin Kagamino Lehoux | 2026-08-23 |
| | | | | | | | | Extend analytics with a second scatter plotting Cotacol per 100 km against moving hours, keep speed versus Cotacol as first chart, render both canvases from shared points, open ride detail in a new tab on dot click, and keep all website copy in English. | ||
| * | Merge ride and rides packages into ride/store following mountain_pass structure | Martin Kagamino Lehoux | 2026-08-23 |
| | | | | | | | | | Consolidate persistence (Save, List, Backfill) into ride/store.go alongside ride.go/climb.go/moving_time.go, rename rides.Ride to ride.StoredRide to avoid collision with parsed ride.Ride, update all web/cli consumers and RideView to use named Ride field, adjust templates and regenerate templ files, and remove rides directory. | ||
| * | Require a 3.5% minimum slope on detected climbs, re-segmenting gentler stretches | Martin Kagamino Lehoux | 2026-08-21 |
| | | | | | | | | | | | | | | | A detected climb must now average at least 3.5% slope with re-segmentation: gentle drags are split into their qualifying steeper parts instead of being reported wholesale or dropped. Qualifying climbs keep their previous boundaries exactly; only regions whose classic best climb averages below the threshold get re-segmented (full-scan for the best qualifying sub-segment, found=false when none exists). QA: A/B across data/rides (362 rides) went from 137 to 133 climbs, 23 rides changed; the 7 fully-dropped rides were audited to contain zero qualifying sub-segments. Example-ride tests updated for the new behavior; the resolved "minimum slope" TODO was removed. | ||
| * | Add distance filter to analytics and go fix to the check gate | Martin Kagamino Lehoux | 2026-08-21 |
| | | |||
| * | Upgrade to Go 1.27 and apply go fix modernization | Martin Kagamino Lehoux | 2026-08-21 |
| | | |||
| * | docs: update TODO and ignore juggler local state | Martin Kagamino Lehoux | 2026-08-21 |
| | | |||
| * | Use OSM as the single source of mountain passes | Martin Kagamino Lehoux | 2026-08-21 |
| | | | | | | | | Replace the centcols CSV download/enrichment pipeline with OSM PBF extraction as the primary (only) source: merge osmpass into mountain_pass, drop the centcols table and model fields, filter to named passes with elevation, and remove the centcols CLI flags. | ||
| * | feat(ride): persist canonical moving time, preserve Strava reference | Martin Kagamino Lehoux | 2026-08-21 |
| | | |||
| * | feat(ride): compute moving time from GPX with backtest | Martin Kagamino Lehoux | 2026-08-20 |
| | | | | | | | | | Add ride.MovingTime, a speed-threshold algorithm over track timestamps. Add a -backtest CLI command comparing computed values against Strava's reference across all stored rides, with a percentile distribution summary. Baseline: mean err 3.9%, p50 1.6, p75 4.6, p90 8.4, p95 12.1, p99 44.9. | ||
| * | feat(web): add ride library filters | Martin Kagamino Lehoux | 2026-08-18 |
| | | |||
| * | fix: match official climbs outside detected bounds | Martin Kagamino Lehoux | 2026-08-18 |
| | | |||
| * | improved mise config | Martin Kagamino Lehoux | 2026-08-18 |
| | | |||
| * | update readme | Martin Kagamino Lehoux | 2026-08-17 |
| | | |||
| * | doc: update readme | Martin Kagamino Lehoux | 2026-08-17 |
| | | |||
| * | feat(web): improve ride detail climb profiles | Martin Kagamino Lehoux | 2026-08-16 |
| | | |||
| * | docs: clarify Cotacol step size | Martin Kagamino Lehoux | 2026-08-15 |
| | | |||
| * | chore: remove legacy chart rendering | Martin Kagamino Lehoux | 2026-08-11 |
| | | |||
| * | feat: Save Strava activities without routes | Martin Kagamino Lehoux | 2026-08-11 |
| | | |||
| * | feat: Add Strava import progress | Martin Kagamino Lehoux | 2026-08-11 |
| | | |||
| * | feat: Add ride detail map | Martin Kagamino Lehoux | 2026-08-11 |
| | | |||
| * | docs: Document ride backfill workflow | Martin Kagamino Lehoux | 2026-08-08 |
| | | |||
| * | refactor: Remove demo CLI | Martin Kagamino Lehoux | 2026-08-05 |
| | | |||
| * | refactor: Extract CLI and chart packages | Martin Kagamino Lehoux | 2026-08-05 |
| | | |||
| * | refactor: Remove obsolete Strava helpers and add mise tasks | Martin Kagamino Lehoux | 2026-08-05 |
| | | |||
| * | refactor: Replace env config with atomic YAML | Martin Kagamino Lehoux | 2026-08-05 |
| | | |||
| * | feat: Add web ride library with Strava sync | Martin Kagamino Lehoux | 2026-08-05 |
| | | |||
| * | feat: Detect mountain pass crossings, name climbs after passes, render ride ↵ | Martin Kagamino Lehoux | 2026-08-03 |
| | | | | | | | | | | | charts - osmpass: extract mountain_pass=yes nodes from an OSM PBF, enrich centcols passes with OSM coordinates, resumable -fetch-osm download - mountain_pass: DetectCrossings for a ride, MatchClimb to name a climb after the pass it tops - ride: expose Points(), add Climb.Top() and Climb.Name - chart: -chart renders elevation profile with climb bands and pass markers - commands: -fetch-osm, -extract-osm, -import-cached, -enrich | ||
| * | docs: Reformat README to project conventions | Martin Kagamino Lehoux | 2026-08-01 |
| | | |||
| * | feat: Add Cotacol difficulty score for rides | Martin Kagamino Lehoux | 2026-08-01 |
| | | |||
| * | feat: Download mountain passes from centcols into SQLite | Martin Kagamino Lehoux | 2026-08-01 |
| | | |||
| * | Update README.md | Martin Kagamino Lehoux | 2025-07-20 |
| | | |||
| * | Cleanup parsing | Martin Kagamino Lehoux | 2025-04-21 |
| | | |||
| * | Add more data in climb & point | Martin Kagamino Lehoux | 2025-04-21 |
| | | |||
| * | chore: Add more examples from Garmin | Martin Kagamino Lehoux | 2024-07-29 |
| | | |||
| * | fix: One more iteration to find the best climb | Martin Kagamino Lehoux | 2024-07-28 |
| | | |||
| * | test: Add failing test for climb inside long false flat | Martin Kagamino Lehoux | 2024-07-28 |
| | | |||
| * | test: Add some test to fix behavior | Martin Kagamino Lehoux | 2024-07-28 |
| | | |||
| * | refactor: Improve readability | Martin Kagamino Lehoux | 2024-07-28 |
| | | |||
| * | perf: Precompute distance | Martin Kagamino Lehoux | 2024-07-28 |
| | | |||
| * | feat: Simple working version (but slow) | Martin Kagamino Lehoux | 2024-07-26 |
| | | |||
| * | feat: init | Martin Kagamino Lehoux | 2024-07-26 |
