mitai-jinkendo/backend
Lars 65ee5f898f
All checks were successful
Deploy Development / deploy (push) Successful in 43s
Build Test / lint-backend (push) Successful in 1s
Build Test / build-frontend (push) Successful in 13s
feat: Phase 1.5 - Flexible Goal System (DB-Registry) Part 1/2
KRITISCHE ARCHITEKTUR-ÄNDERUNG vor Phase 0b:
Ermöglicht dynamische Goal Types ohne Code-Änderungen.

Backend:
- Migration 024: goal_type_definitions Tabelle
  → 8 existierende Typen als Seed-Data migriert
  → Flexible Schema: source_table, aggregation_method, calculation_formula
  → System vs. Custom Types (is_system flag)
- goal_utils.py: Universal Value Fetcher
  → get_current_value_for_goal() ersetzt hardcoded if/elif chain
  → Unterstützt: latest, avg_7d, avg_30d, sum_30d, count_7d, etc.
  → Komplexe Formeln (lean_mass) via calculation_formula JSON
- goals.py: CRUD API für Goal Type Definitions
  → GET /goals/goal-types (public)
  → POST/PUT/DELETE /goals/goal-types (admin-only)
  → Schutz für System-Types (nicht löschbar)
- goals.py: _get_current_value_for_goal_type() delegiert zu Universal Fetcher

Frontend:
- api.js: 4 neue Funktionen (listGoalTypeDefinitions, create, update, delete)

Dokumentation:
- TODO_GOAL_SYSTEM.md: Phase 1.5 hinzugefügt, Roadmap aktualisiert

Part 2/2 (nächster Commit):
- Frontend: Dynamic Goal Types Dropdown
- Admin UI: Goal Type Management Page
- Testing

Warum JETZT (vor Phase 0b)?
- Phase 0b Platzhalter (120+) nutzen Goals für Score-Berechnungen
- Flexible Goals → automatisch in Platzhaltern verfügbar
- Später umbauen = Doppelarbeit (alle Platzhalter anpassen)

Zukünftige Custom Goals möglich:
- 🧘 Meditation (min/Tag)
- 📅 Trainingshäufigkeit (x/Woche)
- 📊 Planabweichung (%)
- 🎯 Ritual-Adherence (%)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 06:45:05 +01:00
..
migrations feat: Phase 1.5 - Flexible Goal System (DB-Registry) Part 1/2 2026-03-27 06:45:05 +01:00
routers feat: Phase 1.5 - Flexible Goal System (DB-Registry) Part 1/2 2026-03-27 06:45:05 +01:00
apply_v9c_migration.py feat: v9c Phase 1 - Feature consolidation & cleanup migration 2026-03-20 18:57:39 +01:00
auth.py fix: correct indentation in auth.py _check_impl function 2026-03-21 07:06:53 +01:00
check_features.py fix: pipeline typo and add features diagnostic script 2026-03-20 22:32:09 +01:00
db_init.py fix: only process numbered migrations (XXX_*.sql pattern) 2026-03-21 10:08:56 +01:00
db.py refactor: move init_db() to db.py 2026-03-19 09:49:46 +01:00
Dockerfile fix: replace psql with Python for DB checks (no apt-get needed!) 2026-03-18 10:01:19 +01:00
evaluation_helper.py fix: convert Decimal to float for JSON serialization in evaluation 2026-03-23 13:28:07 +01:00
feature_logger.py feat: add structured JSON logging for all feature usage (Phase 2) 2026-03-20 22:18:12 +01:00
goal_utils.py feat: Phase 1.5 - Flexible Goal System (DB-Registry) Part 1/2 2026-03-27 06:45:05 +01:00
main_old.py refactor: modular backend architecture with 14 router modules 2026-03-19 11:15:35 +01:00
main.py feat: Phase 0a - Minimal Goal System (Strategic + Tactical) 2026-03-26 16:20:35 +01:00
migrate_to_postgres.py fix: Migration-Fehler - meas_id Spalte in ai_insights 2026-03-19 08:39:36 +01:00
models.py feat: unified prompt system migration schema (Issue #28 Phase 1) 2026-03-25 10:43:10 +01:00
placeholder_resolver.py feat: circ_summary with best-of-each strategy and age annotations 2026-03-26 13:09:38 +01:00
profile_evaluator.py feat: Training Type Profiles - Phase 1.1 Foundation (#15) 2026-03-23 10:49:26 +01:00
profile_templates.py feat: Training Type Profiles Phase 2.1 - Backend Profile Management (#15) 2026-03-23 11:50:40 +01:00
prompt_executor.py fix: include stage outputs in debug info for value table 2026-03-26 14:33:00 +01:00
quality_filter.py feat: global quality filter setting (Issue #31) 2026-03-23 22:29:49 +01:00
requirements.txt fix: add python-dateutil dependency for vitals CSV import 2026-03-23 15:41:30 +01:00
rule_engine.py feat: Training Type Profiles - Phase 1.1 Foundation (#15) 2026-03-23 10:49:26 +01:00
schema.sql fix: add missing meas_id column to photos table 2026-03-18 12:23:13 +01:00
startup.sh fix: replace psql with Python for DB checks (no apt-get needed!) 2026-03-18 10:01:19 +01:00