4ce2df0a2b
CI / backend (push) Successful in 52s
CI / frontend (push) Successful in 14s
Deploy Staging / deploy (push) Successful in 18s
CI / backend (pull_request) Successful in 52s
CI / frontend (pull_request) Successful in 15s
Security / secrets (push) Successful in 4s
Security / dependencies (push) Successful in 55s
Security / secrets (pull_request) Successful in 4s
Security / dependencies (pull_request) Successful in 54s
38 lines
3.7 KiB
Markdown
38 lines
3.7 KiB
Markdown
# 11 — Risk Assessment & Future Opportunities
|
||
|
||
## Risk assessment
|
||
Likelihood (L) / Impact (I): H/M/L.
|
||
|
||
| # | Risk | L | I | Mitigation |
|
||
|---|------|---|---|------------|
|
||
| R1 | **Full UI redesign destabilises a working app** | M | H | Strangler migration behind `ui.v2` flag, screen-by-screen; API untouched; ship via the proven `develop→staging` pipeline; keep old screens until parity verified |
|
||
| R2 | **VRAM (10 GB) can't hold desired models concurrently** | M | M | 7–8B sweet-spot (not 14B); embeddings hot + LLM warm + vision on-demand; VRAM guard serialises heavy jobs; small models for high-volume paths |
|
||
| R3 | **Local AI quality/latency disappoints** | M | M | Traditional-first (AI only where it clearly wins); AI advisory + optional; stream responses; cache; model routing lets us swap models without code change |
|
||
| R4 | **Prompt injection via email content** | M | H | Treat all model output as advisory; **AI never triggers actions**; human/rule confirms; sanitise; SSRF/egress guards; local-only by default |
|
||
| R5 | **Gmail API quota / sync scale at 100k+ mailboxes** | M | M | Batching + Polly backoff (exists); incremental sync; background enrichment queue with backpressure; keyset pagination |
|
||
| R6 | **Semantic infra (pgvector/embeddings) ops complexity** | M | M | Introduce once (v1.2), backfill worker VRAM-aware + resumable; HNSW tuning; feature hides if unavailable |
|
||
| R7 | **Search relevance regressions vs today** | L | M | Lexical hits never lose to fuzzy noise (weighting); benchmark suite as a release gate; keep date-sort as a user option |
|
||
| R8 | **Scope creep — trying to beat everyone at once** | H | M | Roadmap value/effort discipline; MVP is deterministic + small AI; platform features deferred to v3 |
|
||
| R9 | **Solo-dev bandwidth / single-machine staging** | H | M | Small shippable features; CI/CD automation already reduces toil; staging owned by automation (don't hand-run it — see memory note) |
|
||
| R10 | **Mainstream-vs-power tension dilutes the UX** | M | M | Progressive disclosure: simple default, power revealed on demand; pointer-first with keyboard as accelerator |
|
||
| R11 | **Privacy promise broken by a cloud provider option** | L | H | Local default; cloud is explicit per-feature opt-in with egress logging + consent; never silent |
|
||
| R12 | **pgvector image / Ollama container adds deploy friction** | L | L | Optional Compose profiles (`ai`); AI-off deployments omit them entirely |
|
||
|
||
## Future opportunities (beyond v3.0)
|
||
- **Additional mail backends** — IMAP/JMAP, Outlook/Graph — become a true multi-provider client.
|
||
- **On-device personalisation** — light fine-tuning / user-preference adapters for priority & tone.
|
||
- **Calendar & tasks integration** — close the loop from extraction to action.
|
||
- **Voice** — dictate replies, "ask your inbox" by voice (local Whisper).
|
||
- **Plugin marketplace** — third-party analyzers/widgets on the analyzer + command-palette APIs.
|
||
- **Team knowledge base** — shared, permissioned knowledge graph across a team inbox.
|
||
- **Native desktop shell** (Tauri) for OS integration, global hotkey, tray, true multi-window.
|
||
- **Smart compose surfaces** — templates that learn, snippet library, per-recipient tone memory.
|
||
- **Local model upgrades** — swap in newer/quantised models as they ship (router makes it a config change).
|
||
|
||
## Recommendation
|
||
The foundation is strong and the wedge is real. **Proceed with v1.0.0 (redesign +
|
||
deterministic search + AI foundation)** — it's high-value, low-risk, and independent of AI
|
||
being enabled — then layer local AI in value order. The biggest watch-items are **R1
|
||
(migration discipline)** and **R8 (scope)**; both are controlled by the strangler approach
|
||
and the value/effort-sequenced roadmap.
|