Roadmap
Living plan for Trove development. Update this page when a feature lands.
Current focus
Milestone 4 — two-week live test. Milestones 1, 2, 2b, and 3 are complete. New users should start with Try in a day, then run the two-week live test with iOS Shortcuts and the live-test runbook (spec §11.4).
Milestone sequence
Build order from spec §11:
| Phase | Scope | Status |
|---|---|---|
| 1 | SQLite journal + module-loading core + HTTP ingest | Supported |
| 2 | MQTT source module | Supported |
| 2b | Blob store (filesystem + HTTP upload) | Supported |
| 3 | Minimal MCP query server | Supported |
| 4 | Two-week live test | Planned |
| 5 | HA tap, embeddings, remote modules | Later |
Feature matrix
| Feature | Status | Spec | Planning | Go package |
|---|---|---|---|---|
| Go CLI | Supported | — | — | cmd/trove |
| SQLite journal | Supported | §4 | journal | internal/journal |
| Generic HTTP ingest | Supported | §6, §11.1 | http-ingest | module + internal/modules |
| Module discovery (go-plugin) | Supported | §8 | module-runtime | internal/modules |
| MQTT source | Supported | §6, §11.2 | mqtt-source | modules/mqtt-source |
| MCP query (server + module) | Supported | §9, §11.3 | mcp-query | internal/query + modules/mcp-query |
| HTTP gateway | Supported | §8, §9 | http-gateway | internal/gateway |
| TOML config | Supported | §10 | config | internal/config |
| iOS Shortcuts capture recipes | Supported | §6 | iOS Shortcuts | examples/ios-shortcuts/ |
| Blob store (filesystem) | Supported | §5 | blobs | internal/blob |
| MCP tool registration | Supported | §8, §9 | mcp-tools | internal/modules + modules/mcp-query |
| Records layer (apply/delete) | Supported | §3, §4, §9 | records | internal/records |
| References / link / unlink | Supported | §3 | references | internal/records |
| Deferred capture / classify | Superseded | §3, §6 | records | — |
| Telegram source | Supported | §6 | telegram-source | modules/telegram-source |
| Network auth (HTTP ingest + MCP) | Supported | §13 | auth | internal/gateway + modules/http-gateway |
| Journal retention / pruning | Supported | §13 | journal | internal/journal |
| Type catalog | Supported | §3, §8 | type-catalog | internal/types |
| CLI command registration | Supported | §8 | cli-commands | internal/modules + cmd/trove |
| Type introspection (CLI + MCP) | Supported | §3, §8 | type-introspection | modules/type-catalog |
| HA WebSocket tap | Later | §6 | ha-source | external module |
| Remote modules (Tailscale) | Later | §8 | remote-modules | internal/modules |
| Semantic search (sqlite-vec) | Later | §4 | embeddings | internal/journal |
| Processors / sinks | Supported | §7 | processors-sinks | internal/modules |
| Alternative journal backends | Non-goal | §2, §12 | non-goals | — |
| Multi-journal sync | Non-goal | §12 | non-goals | — |
| WASM runtime | Non-goal | §12 | non-goals | — |
How to use this
Pick the first Planned row whose dependencies are Supported (or Scaffold where noted). Open its planning page, implement in the listed Go package, then update status here and check off acceptance criteria on the planning page in the same PR.
Status vocabulary
| Status | Meaning |
|---|---|
| Supported | Implemented and usable |
| Scaffold | Package/CLI exists; no real behaviour yet |
| Planned | In scope for v0 validation (§11) |
| Later | Deferred until after the two-week live test |
| Non-goal | Deliberately out of scope (§12) |
| Open | Needs a decision before implementation (§13) |