Open Questions and Risks¶
Questions¶
- Which model/browser/device combinations are officially supported?
- What are the measured first-load and warm-cache latencies?
- How often do large model downloads fail or exceed available memory?
- Are model CDN assets pinned, integrity-checked, or mirrored?
- Should conversation export or persistence be added?
- Which tools are safe enough to enable by default?
Risks¶
| Risk | Impact | Mitigation |
|---|---|---|
| WebGPU or memory failure | User cannot load a model | Smaller presets, capability checks, remote fallback |
| Worker/audio race | Lost transcript or stuck status | Integration tests and explicit lifecycle state |
| Dependency/model compromise | Browser privacy boundary weakened | CSP, auditing, pinning, trusted mirrors |
| Cache eviction | Repeated multi-GB downloads | Cache diagnostics and user-visible storage guidance |
| Tool prompt injection | Incorrect local action | Strict schemas, allowlists, confirmations |
Practical next steps¶
- Add Playwright coverage using mocked STT/LLM/TTS boundaries.
- Add a model-loading compatibility matrix to the README.
- Reduce production console payloads and add privacy-safe diagnostics.
- Document cache clearing and recovery after failed model loads.
Verification checklist¶
- Test every default preset on supported Chrome/Edge desktop hardware.
- Test iOS fallback with STT and TTS disabled/enabled combinations.
- Verify no old worker/model emits after reset or model switch.
- Measure first-token and first-audio latency for each engine family.
- Verify CDN failures produce actionable retry/reset UI.
- Add privacy-safe CSP and dependency/model integrity policy.
- Decide whether local conversation export is a product requirement.
- Confirm experimental tool behavior before enabling it by default.