# Multi-Image Upload & User Feedback Objective: Allow users to upload a second optional image, manually identify the plant species, see dynamic confidence updates, top-5 predictions, and provide post-diagnosis feedback (accuracy rating + storage consent). Status legend: [ ] todo, [~] in-progress, [x] done ## Tasks - [ ] 01 — Extend types and add feedback DB schema → `01-api-types-and-schema.md` - [ ] 02 — Multi-image ensemble & species-constrained inference → `02-multi-image-inference-pipeline.md` - [ ] 03 — Load trained Swin-Tiny model with species/disease routing → `03-hierarchical-model-loader.md` - [ ] 04 — Enhanced API route for multi-image, species-aware identification → `04-enhanced-identify-api-route.md` - [ ] 05 — Upload page with optional second image and species selector → `05-upload-page-second-image-species.md` - [ ] 06 — Results dashboard with dynamic confidence and top-5 display → `06-dynamic-results-dashboard.md` - [ ] 07 — Post-diagnosis feedback component (accuracy / unsure / store consent) → `07-post-evaluation-feedback-component.md` - [ ] 08 — Feedback API endpoint for accuracy ratings and storage consent → `08-feedback-api-endpoint.md` ## Dependencies ``` 01 ← 02 (types needed by inference) 01 ← 04 (types needed by API route) 01 ← 05 (types needed by upload page) 01 ← 06 (types needed by results dashboard) 01 ← 07 (types needed by feedback component) 01 ← 08 (schema needed by feedback API) 02 ← 04 (inference pipeline needed by API route) 03 ← 04 (model loader needed by API route) 05 ← 06 (upload outcomes fed into results) 06 ← 07 (results shown before post-eval) 04 ← 06 (API response needed by results dashboard) ``` ## Exit Criteria - User can optionally upload a second image and/or enter a species name - Confidence scores dynamically reflect the amount of information provided - Top-5 species/disease combo predictions are displayed - After diagnosis, user can rate accuracy (✓/✗/?) and opt in to image storage for training - Feedback is persisted to the database