Commit Graph

27 Commits

Author SHA1 Message Date
clawd ee0678614e pm-autonomy: Cycle 09:53 UTC - monitoring, day 50 awaiting DevOps Lead auth 2026-04-27 11:55:23 +02:00
clawd 2a4e78ac6f checkpoint: autonomy check 09:50 CEST — repo clean, phase 10-09 still READY_FOR_LAUNCH (day 50) 2026-04-27 09:52:30 +02:00
clawd 1f2a892391 feat(frontend): Kinetic Precision design system — new lime theme, glassmorphism, redesigned pages
- New design system: Stitch (kinetic-precision.css) with lime (#cafd00) accent
- New Google Fonts: Lexend, Plus Jakarta Sans, Space Grotesk
- New page: BenchmarksPage with strength/endurance/body tracking
- Redesigned: Dashboard, ProgressPage, WorkoutPage, LoginPage + LoginPage.css
- Add shared glassmorphism nav, kinetic buttons, intensity indicators
- Build: 265KB JS / 88KB CSS / 2.54s (clean)
2026-04-27 08:49:23 +02:00
clawd b6c39574c2 Phase 10-08: Update checkpoint - all critical blockers RESOLVED
Status: CRITICAL_BLOCKERS_RESOLVED
-  cert-manager operational (ClusterIssuers Ready)
-  sealed-secrets running (controller 1/1)
-  DNS egress NetworkPolicy implemented (gravl-staging)
-  Load test baseline passed (p95=6.98ms, error_rate=0%)

Next phase: 10-09 (Production Go-Live) - READY FOR LAUNCH
2026-03-08 07:00:23 +01:00
clawd ca83efe828 Phase 10-08: Implement DNS egress NetworkPolicy for staging environment
- Add comprehensive network policies to k8s/staging/network-policy.yaml
- Implements default-deny ingress pattern with explicit allow rules
- Critical: Add DNS egress rule for CoreDNS resolution (port 53 UDP/TCP)
- Policies cover: ingress-nginx→backend, backend→postgres, monitoring scrape
- External API egress for backend (HTTP/HTTPS)
- CDN egress for frontend (HTTP/HTTPS)
- Status: Applied to gravl-staging namespace, verified operational
2026-03-08 07:00:07 +01:00
clawd afcb9913aa Task 10-07-04: Monitoring & Logging Validation COMPLETE
-  Prometheus: 8 targets, metrics scraping active
-  Grafana: 3 dashboards deployed and connected to Prometheus
-  AlertManager: Routing rules configured, ready for alerts
-  Backup Jobs: Daily (02:00 UTC) + Weekly validation CronJobs deployed
- ⚠️ Loki/Promtail: Storage blocker (K3d local-path incompatibility)
  - Workaround: kubectl logs available
  - Production: Will use external logging solution

Validation Score: 85% (5/6 critical items)
Status: Ready to proceed to Task 5 (Production Readiness Review)

Updated:
- docs/MONITORING_VALIDATION.md - Comprehensive validation report
- .pm-checkpoint.json - Task completion status
2026-03-07 02:37:31 +01:00
clawd d81e403f01 Phase 06 Tier 1: Complete Backend Implementation - Recovery Tracking & Swap System
COMPLETED TASKS:
 06-01: Workout Swap System
   - Added swapped_from_id to workout_logs
   - Created workout_swaps table for history
   - POST /api/workouts/:id/swap endpoint
   - GET /api/workouts/available endpoint
   - Reversible swaps with audit trail

 06-02: Muscle Group Recovery Tracking
   - Created muscle_group_recovery table
   - Implemented calculateRecoveryScore() function
   - GET /api/recovery/muscle-groups endpoint
   - GET /api/recovery/most-recovered endpoint
   - Auto-tracking on workout log completion

 06-03: Smart Workout Recommendations
   - GET /api/recommendations/smart-workout endpoint
   - 7-day workout analysis algorithm
   - Recovery-based filtering (>30% threshold)
   - Top 3 recommendations with context
   - Context-aware reasoning messages

DATABASE CHANGES:
- Added 4 new tables: muscle_group_recovery, workout_swaps, custom_workouts, custom_workout_exercises
- Extended workout_logs with: swapped_from_id, source_type, custom_workout_id, custom_workout_exercise_id
- Created 7 new indexes for performance

IMPLEMENTATION:
- Recovery service with 4 core functions
- 2 new route handlers (recovery, smartRecommendations)
- Updated workouts router with swap endpoints
- Integrated recovery tracking into POST /api/logs
- Full error handling and logging

TESTING:
- Test file created: /backend/test/phase-06-tests.js
- Ready for E2E and staging validation

STATUS: Ready for frontend integration and production review
Branch: feature/06-phase-06
2026-03-06 20:54:03 +01:00
clawd e133635a4a chore: checkpoint - Phase 06-01 testing complete, ready for merge 2026-03-06 16:08:44 +01:00
clawd b87c099289 chore(phase-06): Initialize PM checkpoint for Task 06-01 2026-03-06 12:35:40 +01:00
clawd 9f4362ac66 chore(08-01): Update checkpoint - Health monitoring complete 2026-03-03 21:28:57 +01:00
clawd e09017d2e0 feat(08-01): Health monitoring & logging infrastructure
- Set up Winston structured logging with console and file outputs
- Create GET /api/health endpoint with uptime, database status, response times
- Add request logging middleware (method, path, statusCode, duration)
- Create health monitoring module with database connectivity checks
- Log all HTTP requests with timing information
- Log auth events (login, register) and data modifications
- Replace console.log/error with structured logger calls
- Update backend README with logging configuration documentation
- Add tests for health endpoint and logging middleware
- Logs directory: logs/combined.log and logs/error.log

Deliverables met:
✓ Structured logging (Winston) integrated
✓ Enhanced health endpoint with uptime & database info
✓ Request logging middleware attached to all routes
✓ Comprehensive logging documentation in README.md
✓ Tests passing for health and logging functionality
✓ All critical operations logged with context
2026-03-03 21:28:46 +01:00
clawd 355919e07d checkpoint: PHASE 06 COMPLETE - E2E testing infrastructure + 20 test suite ready 2026-03-03 14:10:18 +01:00
clawd 0ff29a5d3b feat(06-04): Playwright E2E test suite execution 2026-03-03 09:05:46 +01:00
clawd 99ff53250d checkpoint: PHASE 06-03 - E2E testing infrastructure validated 2026-03-03 04:57:12 +01:00
clawd fbba2d894d feat(06-01): Exercise recommendations API endpoint + frontend components (coach-assisted suggestions) 2026-03-03 03:54:12 +01:00
clawd 0c37d6ea91 config: add OpenCode API fallback for Gemini quota
- Configured OpenCode as fallback when Gemini quota exceeded
- Created gemini-fallback.js utility (tries Gemini → OpenCode)
- API keys stored in .env (excluded from git)
- PM unblocked: can resume 05-03 with fallback system

Flow: Gemini (primary) → OpenCode (fallback) → fail gracefully
2026-03-02 19:38:25 +01:00
clawd f7c654325f checkpoint: 05-03 completed 2026-03-02 19:23:04 +01:00
clawd 5a9ea9c9a8 checkpoint: phase 05 (exercise encyclopedia) ready to start
Phase 04 (workout modification) complete:
- 14 commits rebased onto main
- All features verified and staged
- Ready for merge

Phase 05 structure defined:
- 05-01: Exercise DB schema & CRUD API
- 05-02: AI research integration (exa-search)
- 05-03: Demo video generation (Veo)
- 05-04: Search & Add UI
- 05-05: Exercise detail view
- 05-06: User ratings & feedback

Next: PM starts 05-01 (backend foundation)
2026-03-02 09:26:32 +01:00
clawd cf85e9e314 04-05: Reset to Original feature - custom workouts can be reverted to program versions
- Added reset button (refresh icon) to custom workout cards
- Implemented confirmation dialog to prevent accidental resets
- Integrated with DELETE /api/custom-workouts/:id endpoint
- Added CSS styling: reset button, success message, modal dialog
- Added refresh icon to SVG library
- Frontend build successful

Changes:
- frontend/src/pages/WorkoutSelectPage.jsx (reset flow logic)
- frontend/src/App.css (170 new lines for reset/modal styling)
- frontend/src/components/Icons.jsx (refresh icon)
- Checkpoint updated with task completion metadata
2026-03-02 09:25:10 +01:00
clawd b5c9250a10 feat(04-04-visual-distinction): Add custom vs program workout badges on WorkoutSelectPage
- Fetch custom workouts for authenticated user
- Display 'Anpassad' (custom) or 'Program' badge on each workout card
- Add badge component with orange accent for custom, muted color for program
- Badge positioned bottom-right of workout icon
- Responsive styling consistent with Gravl dark theme
- All build checks pass
2026-03-02 09:25:10 +01:00
clawd a24199e56c feat(04-03-partial): ExercisePicker and WorkoutEditPage components - swap/add/remove exercises with sets/reps editing 2026-03-02 09:25:10 +01:00
clawd 5fd21719d0 test(e2e): add Playwright with browser tests for login, logo, dashboard 2026-03-02 09:25:10 +01:00
clawd 4bd2c9607d feat(phase-4): Backend API for custom workouts
- Add custom_workouts and custom_workout_exercises tables (schema)
- New endpoints:
  - GET /api/exercises - List all exercises for picker
  - POST /api/custom-workouts - Fork program workout
  - GET /api/custom-workouts - List user's custom workouts
  - GET /api/custom-workouts/:id - Get workout with exercises
  - PUT /api/custom-workouts/:id - Update workout exercises
  - DELETE /api/custom-workouts/:id - Delete custom workout
- Updated endpoints for source_type support:
  - GET /api/logs - Filter by source_type and custom_workout_id
  - POST /api/logs - Save with source_type and custom_workout_id
  - DELETE /api/logs - Support custom workout log deletion
- Adds Phase 4 planning overview

Completes: 04-01-schema-migration, 04-02-backend-api
Next: 04-03-frontend-workout-edit
2026-03-02 09:25:10 +01:00
clawd 362f4eed49 checkpoint: mark phase 3 complete (03-01, 03-02, 03-03) 2026-03-01 00:03:48 +01:00
clawd 6d1da03fec 03-03: Workout Experience Polish - enhanced exercise cards, progress badges, rest timer, KLART button, warmup styling 2026-02-28 23:47:36 +01:00
clawd 0cd6cd0269 checkpoint: mark 03-01-login-onboarding-polish as completed 2026-02-28 22:58:24 +01:00
clawd e40b486ae5 feat(onboarding): add conversational ChatOnboarding component 2026-02-28 22:06:15 +01:00