Преглед изворни кода

docs: regenerate Taiga audit report and PDF documentation after user-centric agile board reconciliation

Lange François пре 1 месец
родитељ
комит
ebacd0b43b

BIN
Retro Planning.pdf


BIN
docs/Backup_Procedure.pdf


BIN
docs/Data_Ingestion.pdf


BIN
docs/Final_Report.pdf


BIN
docs/Installation_Guide.pdf


BIN
docs/Operator_Installation_Guide.pdf


BIN
docs/Scrum_Artifacts.pdf


BIN
docs/Scrum_Daily.pdf


BIN
docs/Scrum_Plan.pdf


BIN
docs/Scrum_Retro.pdf


BIN
docs/Scrum_Review.pdf


BIN
docs/Scrum_Wiki.pdf


BIN
docs/Start_Stop_Procedures.pdf


BIN
docs/Test_Cases_Sprint8.pdf


BIN
docs/User_Description.pdf


BIN
docs/User_Guide.pdf


BIN
docs/WSL_Deployment.pdf


BIN
docs/Wiki_Home.pdf


BIN
docs/architecture.pdf


BIN
docs/disaster_recovery_plan.pdf


BIN
docs/distributed_deployment.pdf


BIN
docs/project_report.pdf


BIN
docs/retro_planning.pdf


+ 55 - 83
docs/taiga_audit_report.md

@@ -6,14 +6,14 @@
 > Automatically generated from the live Taiga API to verify project completeness against `Project.pdf`.
 
 ## Sprint & Velocity Overview
-- **Sprint 1**: 5.0/5.0 Points Completed
+- **Sprint 1**: None/None Points Completed
 - **Sprint 10**: None/None Points Completed
 - **Sprint 11**: None/None Points Completed
 - **Sprint 12**: None/None Points Completed
 - **Sprint 13**: None/None Points Completed
 - **Sprint 2**: None/None Points Completed
 - **Sprint 3**: None/None Points Completed
-- **Sprint 4**: 77.0/77.0 Points Completed
+- **Sprint 4**: 51.0/51.0 Points Completed
 - **Sprint 5**: None/None Points Completed
 - **Sprint 6**: 5.0/5.0 Points Completed
 - **Sprint 7**: None/None Points Completed
@@ -22,124 +22,96 @@
 - **Sprint 9**: None/None Points Completed
 
 ## User Stories & Task Completion
-### [US-1] Public Git Repo Setup (Status: Done)
+### [US-1] US-10: Public Git repository with easy cloning support (LocalFoodAI_lanfr144) (Status: Done)
   - `[x]` Task #129: Auto‑generated task (define details) (Closed)
-### [US-2] Easy Cloning Setup (Status: Done)
+  - `[x]` Task #150: Execute: Agile Scrum Rituals Wiki (Closed)
+  - `[x]` Task #160: Sync Git repository and update Taiga tracking (Closed)
   - `[x]` Task #204: Configure Easy Cloning and Repository Footprint (Closed)
-### [US-3] User Account Creation & Login (Status: Done)
+  - `[x]` Task #211: Create Comprehensive WSL2 Operator Runbook (Closed)
+  - `[x]` Task #212: Establish Scrum Rituals Static Documentation (Closed)
+### [US-3] US-1: Create an account and log in securely (Status: Done)
+  - `[x]` Task #193: Security: Remove hardcoded passwords and resolve DB login issues (Closed)
+  - `[x]` Task #196: Remove hardcoded passwords and use .env / login-path (Closed)
   - `[x]` Task #205: Implement Secure Local User Authentication & Login UI (Closed)
-### [US-4] 100% Local Data Privacy (Status: Done)
+### [US-4] US-9: 100% local data privacy (no user data leaves the server) (Status: Done)
+  - `[x]` Task #192: Execute rotate_passwords.py and update containers (Closed)
   - `[x]` Task #206: Establish Strict Offline Database Constraints & Boundary Limits (Closed)
-### [US-5] View Complete Nutritional Info (Status: Done)
-  - `[x]` Task #23: Why: Applying the global CSS architecture is the direct prerequisite to making the visual information actually look premium and readable when the user views the data. (Closed)
-### [US-6] Search for Nutrients (Status: Done)
-  - `[x]` Task #24: Why: Building the numerical filtering sliders logically completes the "Advanced Search" capabilities explicitly defined by this story. (Closed)
-### [US-7] Combined Nutritional Value Overview (Status: Done)
-  - `[x]` Task #26: Why: Generating the Pandas calculation logic that mathematically adds up the macros is what delivers the final "Combined Value Overview" to the user! (Closed)
-### [US-8] Store and Edit Food Combinations (Status: Done)
-  - `[x]` Task #27: Why: The core of this story is storing data, which is entirely solved by creating the explicit relational plates and plate_items MySQL database tables. (Closed)
-### [US-9] Lightweight Local AI Models (Status: Done)
-  - `[x]` Task #207: Configure Ollama Local Orchestration for Llama3.2 (Closed)
-### [US-10] Chat About Nutrition (Status: Done)
-  - `[x]` Task #208: Construct Interactive Clinical AI Chat Interface (Closed)
-### [US-11] AI Menu Proposals (Status: Done)
-  - `[x]` Task #209: Deploy Local RAG-Driven Meal Planner Engine (Closed)
-### [US-12] Anonymous Web Search Tool (Status: Done)
-  - `[x]` Task #210: Integrate Local SearXNG Private Search Fallback (Closed)
-### [US-13] Zero Confidential Data Leakage (Status: Done)
-  - `[x]` Task #130: Auto‑generated task (define details) (Closed)
-### [US-14] Database Schema Dynamic Rebuild & Background Loader (Status: Done)
+### [US-5] US-2: Get complete nutritional value information on any food (Status: Done)
   - `[x]` Task #15: Rebuild setup_db.py to allow dynamic Pandas table generation. (Closed)
   - `[x]` Task #16: Update ingest_csv.py with to_sql and post-load index generating. (Closed)
   - `[x]` Task #17: Create start_batch_ingest.sh wrapper for disconnected execution. (Closed)
   - `[x]` Task #18: Configure server .forward mail protocols for centralized admin support. (Closed)
-### [US-19] Deploy SearXNG Docker API (Status: Done)
-  - `[x]` Task #20: Create setup_searxng.sh to install Docker and bind anonymous SearXNG to localhost:8080. (Closed)
-  - `[x]` Task #21: Update deploy.sh to include requests connectivity dependency. (Closed)
-  - `[x]` Task #22: Rework app.py LLM inference loop to support native Mistral Tool/Function calling integrations. (Closed)
-### [US-28] Clinical Medical Profiler (Status: Done)
-  - `[x]` Task #29: Implement EAV Mapping Database Architecture (Closed)
+  - `[x]` Task #23: Why: Applying the global CSS architecture is the direct prerequisite to making the visual information actually look premium and readable when the user views the data. (Closed)
   - `[x]` Task #30: Fix Windows Encodings in Pandas Ingestion Engine (Closed)
-  - `[x]` Task #31: Build Dynamic 'Medical Profile' CRUD Interface (Closed)
-  - `[x]` Task #32: Deploy Clinical Health-Warning Alert Engine (Closed)
-  - `[x]` Task #33: Deploy Email Resets and Persistent Query Limits (Closed)
-### [US-34] Sprint 4: Operations & Migrations (Status: Done)
-  - `[x]` Task #35: Create unified PDF presentation for review (Closed)
+  - `[x]` Task #158: Update App and Ingest Dockerfiles to include SNMP telemetry packages (Closed)
+  - `[x]` Task #178: Execute: Self-Detaching NOHUP Ingestion Sync (Closed)
+  - `[x]` Task #182: Execute: Zabbix Database Ingestion Telemetry (Closed)
+### [US-6] US-4: Search for specific nutrient content and get a sortable list of all foods (Status: Done)
+  - `[x]` Task #24: Why: Building the numerical filtering sliders logically completes the "Advanced Search" capabilities explicitly defined by this story. (Closed)
+### [US-7] US-3: Get the full nutritional value overview for a given food combination (Status: Done)
+  - `[x]` Task #26: Why: Generating the Pandas calculation logic that mathematically adds up the macros is what delivers the final "Combined Value Overview" to the user! (Closed)
+  - `[x]` Task #176: Execute: Food Scale Conversion Expansion (Closed)
+### [US-8] US-5: Store food combinations in named and editable lists (Status: Done)
+  - `[x]` Task #27: Why: The core of this story is storing data, which is entirely solved by creating the explicit relational plates and plate_items MySQL database tables. (Closed)
+### [US-9] US-11: Local hardware boundary containment on Ubuntu 24.04 VM (Status: Done)
   - `[x]` Task #36: Execute Alembic Database Migration scripting (Closed)
   - `[x]` Task #37: Sanitize Ollama Mistral LLM endpoints on .170 (Closed)
   - `[x]` Task #38: Perform Green Recommendation Engine Demo (Closed)
-### [US-131] Zabbix Server Docker Setup (Status: Done)
+  - `[x]` Task #130: Auto‑generated task (define details) (Closed)
   - `[x]` Task #132: Execute: Zabbix Server Docker Setup (Closed)
-### [US-133] SNMPv3 Integration (Status: Done)
   - `[x]` Task #134: Execute: SNMPv3 Integration (Closed)
-### [US-135] Application Component Traps (Status: Done)
   - `[x]` Task #136: Execute: Application Component Traps (Closed)
-### [US-137] Clinical Explorer Verification Testing (Status: Done)
   - `[x]` Task #138: Execute: Clinical Explorer Verification Testing (Closed)
-### [US-139] Zabbix Application Monitoring Checks (Status: Done)
   - `[x]` Task #140: Execute: Zabbix Application Monitoring Checks (Closed)
-### [US-141] Zabbix Email Integration (Status: Done)
   - `[x]` Task #142: Execute: Zabbix Email Integration (Closed)
-### [US-143] Zabbix Live Alert Testing (Status: Done)
   - `[x]` Task #144: Execute: Zabbix Live Alert Testing (Closed)
-### [US-145] Server Backup Procedures (Status: Done)
   - `[x]` Task #146: Execute: Server Backup Procedures (Closed)
-### [US-147] WSL Deployment Playbook (Status: Done)
   - `[x]` Task #148: Execute: WSL Deployment Playbook (Closed)
-  - `[x]` Task #211: Create Comprehensive WSL2 Operator Runbook (Closed)
-### [US-149] Agile Scrum Rituals Wiki (Status: Done)
-  - `[x]` Task #150: Execute: Agile Scrum Rituals Wiki (Closed)
-  - `[x]` Task #212: Establish Scrum Rituals Static Documentation (Closed)
-### [US-151] Sprint 8 Final Bug Fixes & Polish (Status: Done)
   - `[x]` Task #152: Execute Bug Fixes (Closed)
-  - `[x]` Task #213: Apply Codebase Linter Refactoring and SQL Cleanup (Closed)
-### [US-153] Deep System Overhaul Phase 3 (Status: Done)
   - `[x]` Task #154: Execute Phase 3 Overhaul (Closed)
-  - `[x]` Task #214: Implement Resilient Subquery Optimizations & Layout UI (Closed)
-### [US-155] Deep Containerization and Zabbix Telemetry Overhaul (Status: Done)
   - `[x]` Task #156: Centralize docker-compose.yml with individual component services (Closed)
   - `[x]` Task #157: Integrate NVIDIA GPU support for Ollama container (Closed)
-  - `[x]` Task #158: Update App and Ingest Dockerfiles to include SNMP telemetry packages (Closed)
   - `[x]` Task #159: Write Zabbix API script to create App -> MySQL trigger dependencies (Closed)
-  - `[x]` Task #160: Sync Git repository and update Taiga tracking (Closed)
-  - `[x]` Task #215: Deploy SNMPv3 Encrypted Traps and Zabbix Templates (Closed)
-### [US-161] Fix Llama3 Tool Compatibility (Status: Done)
   - `[x]` Task #162: Execute: Fix Llama3 Tool Compatibility (Closed)
-### [US-163] Resolve MySQL Cartesian Product Explosion (Status: Done)
   - `[x]` Task #164: Execute: Resolve MySQL Cartesian Product Explosion (Closed)
-### [US-165] Implement Subquery First Optimization Strategy (Status: Done)
   - `[x]` Task #166: Execute: Implement Subquery First Optimization Strategy (Closed)
-### [US-167] UI Execution Timers (Status: Done)
   - `[x]` Task #168: Execute: UI Execution Timers (Closed)
-### [US-169] Zabbix Microsoft Teams Alert Integration (Status: Done)
   - `[x]` Task #170: Execute: Zabbix Microsoft Teams Alert Integration (Closed)
-### [US-171] Pre-Emptive Database Cleaning via Upsert (Status: Done)
   - `[x]` Task #172: Execute: Pre-Emptive Database Cleaning via Upsert (Closed)
-### [US-173] Cascaded Search Logic & Nutrient Selectors (Status: Done)
   - `[x]` Task #174: Execute: Cascaded Search Logic & Nutrient Selectors (Closed)
-### [US-175] Food Scale Conversion Expansion (Status: Done)
-  - `[x]` Task #176: Execute: Food Scale Conversion Expansion (Closed)
-### [US-177] Self-Detaching NOHUP Ingestion Sync (Status: Done)
-  - `[x]` Task #178: Execute: Self-Detaching NOHUP Ingestion Sync (Closed)
-### [US-179] AI Dietary Restriction SQL Enforcement (Status: Done)
   - `[x]` Task #180: Execute: AI Dietary Restriction SQL Enforcement (Closed)
-### [US-181] Zabbix Database Ingestion Telemetry (Status: Done)
-  - `[x]` Task #182: Execute: Zabbix Database Ingestion Telemetry (Closed)
-### [US-183] AI Meal Plan PDF Generation (Status: Done)
-  - `[x]` Task #184: Execute: AI Meal Plan PDF Generation (Closed)
-### [US-185] Health Profile Input Constraints (Status: Done)
   - `[x]` Task #186: Execute: Health Profile Input Constraints (Closed)
-### [US-187] Deploy Local SearXNG Web Search Tool (Status: Done)
-  - `[x]` Task #188: Inject SearXNG container into docker-compose.yml (Closed)
-  - `[x]` Task #189: Implement Web Search Heuristic fallback in AI Chat (Closed)
-  - `[x]` Task #190: Integrate SearXNG API payload parsing with Ollama (Closed)
-### [US-191] Automated Security Password Rotation (Status: Done)
-  - `[x]` Task #192: Execute rotate_passwords.py and update containers (Closed)
-### [US-199] Distribute Deployment Architecture (WSL, Hyper-V, VirtualBox) (Status: Done)
+  - `[x]` Task #194: Configure Zabbix Alerting (Discord & Email) for Downtime & Slow Performance (Closed)
+  - `[x]` Task #195: Configure Zabbix Alerting (Discord & Email) for Downtime & Slow Performance (Closed)
+  - `[x]` Task #197: Fix LIMIT bugs in app.py (Closed)
+  - `[x]` Task #198: Automate data pipeline and Zabbix telemetry (Closed)
   - `[x]` Task #200: Create setup_deploy.py for Docker orchestration (Closed)
-### [US-201] Migrate to Apache Airflow Supervisor & Zabbix Telemetry (Status: Done)
   - `[x]` Task #202: Replace data_sync.sh cron with Python DAG and configure Zabbix API health checks. (Closed)
-### [US-203] System Optimization, Log Rotation, and DR Testing (Status: Done)
+  - `[x]` Task #207: Configure Ollama Local Orchestration for Llama3.2 (Closed)
+  - `[x]` Task #213: Apply Codebase Linter Refactoring and SQL Cleanup (Closed)
+  - `[x]` Task #214: Implement Resilient Subquery Optimizations & Layout UI (Closed)
+  - `[x]` Task #215: Deploy SNMPv3 Encrypted Traps and Zabbix Templates (Closed)
   - `[x]` Task #216: Configure Docker Log Rotation Limits (Closed)
   - `[x]` Task #217: Develop Automated Disaster Recovery Validation Script (Closed)
   - `[x]` Task #218: Tune MySQL Database Buffer Pools and Performance Parameters (Closed)
+  - `[x]` Task #220: Task 1: Update local LLM to Qwen2.5 (7B) (Closed)
+  - `[x]` Task #221: Task 2: Refactor backend prompts to utilize <scratchpad> CoT structure (Closed)
+  - `[x]` Task #222: Task 3: Implement Python parsing function to strip <scratchpad> block (Closed)
+### [US-10] US-7: Freely chat about anything related to nutrition and get competent answers (Status: Done)
+  - `[x]` Task #189: Implement Web Search Heuristic fallback in AI Chat (Closed)
+  - `[x]` Task #208: Construct Interactive Clinical AI Chat Interface (Closed)
+### [US-11] US-6: Get menu proposals based on nutritional value and health constraints (Status: Done)
+  - `[x]` Task #29: Implement EAV Mapping Database Architecture (Closed)
+  - `[x]` Task #31: Build Dynamic 'Medical Profile' CRUD Interface (Closed)
+  - `[x]` Task #32: Deploy Clinical Health-Warning Alert Engine (Closed)
+  - `[x]` Task #33: Deploy Email Resets and Persistent Query Limits (Closed)
+  - `[x]` Task #35: Create unified PDF presentation for review (Closed)
+  - `[x]` Task #184: Execute: AI Meal Plan PDF Generation (Closed)
+  - `[x]` Task #209: Deploy Local RAG-Driven Meal Planner Engine (Closed)
+### [US-12] US-8: Anonymous private web search tool (SearXNG) integration (Status: Done)
+  - `[x]` Task #20: Create setup_searxng.sh to install Docker and bind anonymous SearXNG to localhost:8080. (Closed)
+  - `[x]` Task #21: Update deploy.sh to include requests connectivity dependency. (Closed)
+  - `[x]` Task #22: Rework app.py LLM inference loop to support native Mistral Tool/Function calling integrations. (Closed)
+  - `[x]` Task #188: Inject SearXNG container into docker-compose.yml (Closed)
+  - `[x]` Task #190: Integrate SearXNG API payload parsing with Ollama (Closed)
+  - `[x]` Task #210: Integrate Local SearXNG Private Search Fallback (Closed)

BIN
docs/taiga_audit_report.pdf


BIN
docs/zabbix_monitoring.pdf