This commit fixes the template interpolation issues where variables like
{{supplier_name}}, {{product_names_joined}}, {{current_stock}}, etc. were
showing as literal strings instead of being replaced with actual values.
Changes made:
1. **Dashboard Service (Orchestrator):**
- Added missing `current_stock` parameter to default reasoning_data for
production batches
- This ensures all required template variables are present when batches
don't have proper reasoning_data from the database
2. **Production Service:**
- Updated batch creation to properly populate `product_name` field
- Improved product name resolution to check forecast data and stock_info
before falling back to placeholder
- Added missing `product_id` field to batch_data
- Added required `planned_duration_minutes` field to batch_data
- Ensures reasoning_data has all required parameters (product_name,
predicted_demand, current_stock, confidence_score)
The root cause was that the default reasoning_data used by the dashboard
service when database records lacked proper reasoning_data was missing
required parameters. This resulted in i18n template variables being
displayed as literal {{variable}} strings instead of interpolated values.
Fixes dashboard display issues for:
- Purchase order cards showing {{supplier_name}}, {{product_names_joined}},
{{days_until_stockout}}
- Production plan items showing {{product_name}}, {{predicted_demand}},
{{current_stock}}, {{confidence_score}}