{ "project": "AZA Medical AI Assistant", "phase": "Go-Live / Productization", "current_step": 17, "last_completed": 21, "next_step": 16, "last_update": "Step 17: Ready for real practice field test. Release-Pipeline validated, Installer built, Runtime Secret Provisioning validated, Opacity 1.0, Testpaket komplett. Blocker ist nicht mehr Build/Installer, sondern externer Feldtest auf Zielrechner.", "updated_at": "2026-03-11", "workspace": { "project_root": "C:\\Users\\surov\\documents\\aza", "current_working_folder": "C:\\Users\\surov\\documents\\aza\\backup 24.2.26", "note": "All commands and scripts should assume this root unless explicitly changed." }, "notes": [ "Browser-basiertes AZA ist Kern des Projekts und nicht optional.", "Step 22 wird verbindlich nach browser_aza_mvp_spec.md umgesetzt.", "Kongress/CSE Thema ist geparkt (Google CSE 403 / DDG volatil). Fokus jetzt: Release Readiness.", "Do-not-break: /license/status Format bleibt exakt. Keine Auth-Aenderungen ohne Auftrag. Keine Secrets loggen.", "Workspace root path fixed: C:\\Users\\surov\\documents\\aza" ], "auth_contract": { "api_token_env": "MEDWORK_API_TOKEN", "header_name": "X-API-Token", "important_endpoints": [ "/license/status", "/api/project/status", "/v1/transcribe" ], "notes": [ "Healthcheck und Dev Tools müssen MEDWORK_API_TOKEN verwenden.", "Token wird im Header X-API-Token gesendet.", "NICHT Authorization: Bearer verwenden.", "Keine Tokens loggen." ] }, "current_focus": { "title": "Step 17 - Desktop Installer & Auto-Update", "goal": "AZA Desktop-App als installierbare EXE bereitstellen, lokalen 1-Klick-Start absichern und Update-Mechanismus integrieren.", "in_progress_items": [ "Praxiscomputer-Feldtest durchfuehren und Rueckmeldung auswerten" ], "completed_items": [ "Desktop-App als EXE gebaut", "Lokales Backend startet automatisch mit der Desktop-App", "Lokaler Desktop-Smoke-Test ist gruen", "Installer/Packaging mit Inno Setup gebaut", "Desktop Runtime Secret Provisioning eingefuehrt", "Default Opacity auf 1.0 korrigiert", "Praxiscomputer-Testpaket erstellt (Installer, Anleitung, Checkliste, Rueckmeldebogen)", "Update-Check gegen release/version.json verdrahtet" ], "non_goals_right_now": [ "Browser-AZA Web-App", "Admin-Konsole", "Billing im Browser", "Website-Features" ] }, "step_22_deliverables": [ "browser_aza_mvp_spec.md", "Browser-Seite mit Upload-Bereich", "Fachrichtungsauswahl vor Upload", "Request-Flow an /v1/transcribe unter Beibehaltung von X-API-Token", "Ergebnisansicht fuer Transkript", "Copy-Button fuer Transkript", "Support/Privacy/Terms sichtbar" ], "step_22_acceptance_checks": [ "Seite laedt im Browser", "Fachrichtung kann ausgewaehlt werden", "Audio kann hochgeladen werden", "Backend /v1/transcribe antwortet erfolgreich", "Transkript wird sichtbar angezeigt", "Copy-Button funktioniert", "Keine Secrets/Tokens im UI oder Log" ], "phases": [ { "id": 1, "title": "Core Desktop + Backend", "items": [ { "title": "Step 13: Smoke Suite PASS", "status": "done" }, { "title": "Step 14: Docker/Compose Smoke PASS", "status": "done" } ] }, { "id": 2, "title": "Live Congress Search (PARKED)", "items": [ { "title": "CSE JSON API Zugriff stabil", "status": "paused" }, { "title": "Backend Live-Suche in Kongress-UI", "status": "paused" }, { "title": "Filter/UX News & Kongresse", "status": "paused" } ], "why_paused": [ "Google CSE: 403 not authorized / Access/Billing unklar", "DDG scraping volatil (Bot block / 0 results / Response-Laenge sehr kurz)" ] }, { "id": 3, "title": "Go-Live / Productization", "items": [ { "title": "Step 15: Caddy/HTTPS + Reverse Proxy Vorbereitung", "status": "in_progress" }, { "title": "Step 22: Browserbasiertes AZA (MVP) - zentral", "status": "in_progress" }, { "title": "Step 16: Go-Live Deployment (VPS/Buero-PC) + Webhook erreichbar + Billing OK", "status": "open" }, { "title": "Step 17: Auto-Update / Installer (Versionierung, Downloadbares Programm)", "status": "open" }, { "title": "Step 18: Website/Landing + Download-Page + Rechnungen/Belege (Billing/Invoice Flow)", "status": "done" }, { "title": "Step 19: Support/Telemetry minimal (ohne PHI), Crashlogs optional", "status": "done" }, { "title": "Step 20: Final Security pass (rate limit, request caps, audit)", "status": "done" } ] }, { "id": 4, "title": "Sell-Ready Pack", "items": [ { "title": "Step 21: Steps/Status/Roadmap/To-Dos konsolidiert", "status": "done" }, { "title": "Step 23: Billing & Legal sell-ready", "status": "open" }, { "title": "Step 24: Ops/Monitoring/Runbook final", "status": "open" }, { "title": "Step 25: Go-Live Cutover", "status": "open" } ] } ], "next_actions": [ "Praxiscomputer-Testpaket (dist/practice_test_bundle) auf Zielrechner kopieren", "Installer ausfuehren, OpenAI-Key einrichten, Diktat-Kurztest", "Rueckmeldung auswerten und ggf. Fixes einarbeiten", "Danach Step 16 (Deployment) oder Step 22 (Browser-AZA) je nach Verkaufsweg" ], "todos": [ { "id": "T-022", "priority": "HOCH", "status": "in Arbeit", "title": "Step 22 - Browser-AZA MVP", "description": "MVP Web-Shell, Fachrichtung, Upload zu /v1/transcribe, Transkript anzeigen/kopieren, HTTPS, Support/Privacy Links", "area": ["web", "frontend", "backend"], "step_hint": 22 }, { "id": "T-016", "priority": "HOCH", "status": "offen", "title": "Step 16 - Go-Live Runbook (VPS/Buero-PC)", "description": "Webhook erreichbar, Stripe Signatur ok, Billing Portal Return URL korrekt, Log Hygiene", "area": ["ops", "release"], "step_hint": 16 }, { "id": "T-017", "priority": "HOCH", "status": "offen", "title": "Step 17 - Auto-Update / Installer", "description": "Installer, Versionierung, Update-Check, signierte Downloads", "area": ["release", "desktop"], "step_hint": 17 }, { "id": "T-023", "priority": "HOCH", "status": "offen", "title": "Step 23 - Billing & Legal sell-ready", "description": "Invoice Pflichtfelder, Terms/Privacy, Support-Prozess, Stripe-Alignment", "area": ["billing", "legal"], "step_hint": 23 }, { "id": "T-024", "priority": "HOCH", "status": "offen", "title": "Step 24 - Ops/Monitoring/Runbook final", "description": "Backups, log rotation, incident playbook, uptime checks, token rotation", "area": ["ops"], "step_hint": 24 }, { "id": "T-025", "priority": "HOCH", "status": "offen", "title": "Step 25 - Go-Live Cutover", "description": "Final checklist, domain/DNS, HTTPS, release publish, rollback plan", "area": ["ops", "product"], "step_hint": 25 } ] }