mitai-jinkendo/backend
Lars 76b4b36617
All checks were successful
Deploy Development / deploy (push) Successful in 51s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 16s
feat: End Node template placeholders + clean output display
Three major improvements for workflow templates:

1. **Normalized Signal Placeholders:**
   - Signals now available as {{ node_4.signal_kalorienbilanz }}
   - Uses normalized_value (not raw decision_signals)
   - Enables structured decision-based outputs

2. **Question Text Placeholders:**
   - Question texts available as {{ node_4.question_kalorienbilanz }}
   - Extracted from workflow graph (question_augmentations)
   - Allows displaying questions alongside answers

3. **Clean End Node Output:**
   - End Node output no longer duplicated with "## node_4" headers
   - aggregate_results() detects End Nodes via graph.nodes
   - Only shows final template-rendered output
   - Backward compatible: Falls back to combined_analysis if no End Node

Backend workflow_executor.py:
- execute_end_node(): Added normalized signals to template context
- execute_end_node(): Added question texts to template context
- execute_workflow(): Added graph to context for End Node access
- aggregate_results(): Signature change to accept graph
- aggregate_results(): Detects End Nodes and uses only their output

Frontend WorkflowResultViewer.jsx:
- Now uses aggregated.analysis_core (primary output)
- Removed fallback to combined_analysis (was showing duplicates)

Example Template:
```jinja2
**Frage:** {{ node_4.question_kalorienbilanz }}
**Antwort:** {{ node_4.signal_kalorienbilanz }}

---
{{ node_4.analysis_core }}
```

Issue: Signal placeholders empty, question texts unavailable, duplicate output
Version: 0.9p (workflow module)
Part 3: End Node Template Engine - Complete

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 20:45:08 +02:00
..
calculations fix: Convert goal values to float before progress calculation 2026-03-28 12:39:26 +01:00
data_layer feat: Update reference values and introduce pilot visualization module 2026-04-07 10:15:13 +02:00
migrations feat: Implement widget-feature assignment management in admin dashboard 2026-04-08 12:26:28 +02:00
placeholder_registrations feat: Activity Cluster Placeholder Registry - Complete Implementation (17 Placeholders) 2026-04-03 08:20:25 +02:00
routers fix: FastAPI routing conflict for /placeholders endpoint 2026-04-09 16:19:46 +02:00
tests feat: Implement widget-feature assignment management in admin dashboard 2026-04-08 12:26:28 +02: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
caliper_composition.py feat: Integrate caliper data enrichment and weight loading in API responses 2026-04-06 06:08:37 +02:00
check_features.py fix: pipeline typo and add features diagnostic script 2026-03-20 22:32:09 +01:00
check_migration_024.py debug: diagnostic script for Migration 024 state 2026-03-27 07:39:18 +01:00
dashboard_layout_schema.py feat: Introduce admin dashboard product standard management 2026-04-08 10:32:18 +02:00
dashboard_widget_config.py feat: Add new widgets and enhance configuration validation 2026-04-07 20:58:44 +02:00
dashboard_widget_entitlements.py feat: Implement widget-feature assignment management in admin dashboard 2026-04-08 12:26:28 +02: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
fix_seed_goal_types.py fix: make Migration 024 idempotent + add seed data fix script 2026-03-27 07:40:42 +01:00
focus_area_usage_helpers.py feat: Implement focus area usage types management in API and UI 2026-04-06 07:28:19 +02:00
generate_complete_metadata_v2.py feat: Placeholder Metadata V2 - Normative Implementation + ZIP Export Fix 2026-03-29 21:23:37 +02:00
generate_complete_metadata.py feat: Complete Placeholder Metadata System (Normative Standard v1.0.0) 2026-03-29 20:32:37 +02:00
generate_placeholder_catalog.py feat: Complete Placeholder Metadata System (Normative Standard v1.0.0) 2026-03-29 20:32:37 +02:00
goal_utils.py fix: add start_date and created_at to get_active_goals query 2026-03-28 17:18:53 +01:00
join_evaluator.py feat: Phase 4 - Join Nodes and Path Consolidation 2026-04-04 12:27:31 +02:00
logic_evaluator.py feat: Phase 3 - Logic Nodes + Conditional Branching 2026-04-04 08:02:22 +02:00
main_old.py refactor: modular backend architecture with 14 router modules 2026-03-19 11:15:35 +01:00
main.py feat: Integrate Dashboard-Lab layout and enhance settings navigation 2026-04-07 11:38:35 +02: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: Enhance profile update functionality with email validation and improved error handling 2026-04-05 11:14:01 +02:00
normalization_engine.py fix: Use dict keys for all RealDictCursor row access in Phase 2 code 2026-04-03 21:36:44 +02:00
placeholder_metadata_complete.py feat: Complete Placeholder Metadata System (Normative Standard v1.0.0) 2026-03-29 20:32:37 +02:00
placeholder_metadata_enhanced.py feat: Placeholder Metadata V2 - Normative Implementation + ZIP Export Fix 2026-03-29 21:23:37 +02:00
placeholder_metadata_extractor.py feat: Add Placeholder Metadata Export to Admin Panel 2026-03-29 20:37:52 +02:00
placeholder_metadata.py feat: Placeholder Metadata V2 - Normative Implementation + ZIP Export Fix 2026-03-29 21:23:37 +02:00
placeholder_registry_export.py feat: Placeholder Registry Framework + Part A Nutrition Metrics 2026-04-02 11:46:16 +02:00
placeholder_registry.py feat: Placeholder Registry Framework + Part A Nutrition Metrics 2026-04-02 11:46:16 +02:00
placeholder_resolver.py fix: Workflow placeholder resolution + complete catalog display 2026-04-09 18:10:04 +02: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 feat: Phase 5 - Visual Workflow Editor (Option B) 2026-04-04 17:56:00 +02:00
quality_filter.py feat: global quality filter setting (Issue #31) 2026-03-23 22:29:49 +01:00
question_augmenter.py feat: Phase 1 - Fragenergänzung + Strukturierter Container 2026-04-03 18:02:25 +02:00
reference_value_validation.py feat: Implement reference value types reordering and confidence level sorting 2026-04-06 21:40:55 +02:00
requirements.txt fix: add python-dateutil dependency for vitals CSV import 2026-03-23 15:41:30 +01:00
result_container_parser.py feat: Phase 1 - Fragenergänzung + Strukturierter Container 2026-04-03 18:02:25 +02:00
rule_engine.py feat: Training Type Profiles - Phase 1.1 Foundation (#15) 2026-03-23 10:49:26 +01:00
run_migration_024.py feat: manual migration 024 runner script 2026-03-27 07:28:43 +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
system_dashboard_product_default.py feat: Introduce admin dashboard product standard management 2026-04-08 10:32:18 +02:00
version.py feat: Part 3 - End Node Template Editor 2026-04-09 15:52:19 +02:00
widget_catalog.py feat: Enhance dashboard layout and widget configuration 2026-04-08 07:41:16 +02:00
widget_feature_requirements_db.py feat: Implement widget-feature assignment management in admin dashboard 2026-04-08 12:26:28 +02:00
workflow_engine.py fix: Edge format normalization and nullable workflow_id 2026-04-05 07:22:32 +02:00
workflow_executor.py feat: End Node template placeholders + clean output display 2026-04-09 20:45:08 +02:00
workflow_models.py feat: Phase 4 - End Node Template Engine (v0.9n) 2026-04-05 07:07:49 +02:00