# Tasks: Add Embedded Backend Packaging ## 1. Backend Packaging Infrastructure - [x] 1.1 Create `backend/run_server.py` - Entry point that loads config and starts uvicorn - [x] 1.2 Create `backend/build.py` - PyInstaller build script with hidden imports - [x] 1.3 Modify `backend/app/config.py` - Support frozen executable path detection - [ ] 1.4 Test backend executable runs standalone on Windows ## 2. Electron Backend Sidecar Management - [x] 2.1 Add `backendProcess` and `backendReady` state variables in `main.js` - [x] 2.2 Implement `startBackendSidecar()` function - [x] 2.3 Implement `waitForBackendReady()` health check polling - [x] 2.4 Modify `app.whenReady()` to start backend before window - [x] 2.5 Modify window close handler to terminate backend process - [x] 2.6 Add `get-backend-status` IPC handler ## 3. Configuration Schema Extension - [x] 3.1 Extend `client/config.json` with `backend` section - [x] 3.2 Modify `client/src/preload.js` to expose backend status API - [x] 3.3 Add configuration loading in backend entry point - [ ] 3.4 Document configuration options in DEPLOYMENT.md ## 4. Build Script Integration - [x] 4.1 Modify `scripts/build-client.bat` to build backend sidecar - [ ] 4.2 Modify `scripts/build-all.ps1` to build backend sidecar - [x] 4.3 Update `client/package.json` extraResources for backend - [x] 4.4 Add `--embedded-backend` flag to build scripts ## 5. Model Download Progress Display - [x] 5.1 Modify `sidecar/transcriber.py` to emit download progress JSON - [x] 5.2 Add progress event forwarding in `main.js` - [x] 5.3 Expose `onModelDownloadProgress` in `preload.js` - [x] 5.4 Update `meeting-detail.html` to display download progress ## 6. Testing and Documentation - [ ] 6.1 Test embedded mode on clean Windows machine - [ ] 6.2 Test backward compatibility (embedded: false) - [ ] 6.3 Test model download progress display - [ ] 6.4 Update DEPLOYMENT.md with all-in-one deployment instructions