-
Notifications
You must be signed in to change notification settings - Fork 4
Roadmap
Where Longhand is headed, what's actively being worked on, and where contributors can help.
v0.13.0 (2026-07-11) — the hardening release that opens the v1.0 deprecation window. Hooks can no longer crash a session (failures become breadcrumbs + doctor rows), timestamps are tz-aware UTC with recall windows anchored to your local calendar day, error counts stop counting grep output as failures, upstream transcript-format drift is surfaced instead of silently accumulating, and the CLI + MCP surfaces consolidated (status as the single resume command; MCP 19 → 13 tools). Full details in the CHANGELOG and the v0.13.0 release.
v1.0 is deliberately boring — mostly subtraction plus written promises:
-
Removals — the deprecated CLI commands (
recap,continue,patterns,reanalyze) and the six retired MCP tool listings go away. The retired MCP names keep answering forever (with a migration note), so saved instructions never hard-fail. -
COMPATIBILITY.md— the five 1.0 promises, each with a named enforcement artifact: stable CLI+MCP surface through 1.x · forward data compatibility (a newer-schema database refuses loudly instead of operating blind) · hook guarantees (never raise, never touch the network, never block the prompt — already CI-gated) · upstream drift is never silent · honest metrics. - Migration authoring policy — automatic, one-time, never renumbered; anything beyond O(1) is chunked or opt-in; nothing destroys data without opt-in.
- 1.0 gates — an old-schema fixture database that must keep opening, zero self-deprecation warnings, and a surface-consistency check so the docs can't drift from the registered tools again.
The reconcile default also flips at 1.0: implicit calls become dry-run; pass fix explicitly.
- Single-writer daemon — replace the lockfile protocol with one writer process; internal change, no surface impact.
-
ChromaDB replacement spike — sqlite-vec or an FTS5 hybrid, measured with
scripts/recall_diff.pybefore/after. Would drop the ~80MB ONNX download and the heaviest dependency. -
raw_json deduplication — an
entriestable keyed by entry hash; the design exists, execution is 1.x. -
Local-model extraction experiments — opt-in, local-only, on top of the deterministic core (the heuristic extractors have hit their ceiling;
recallis honest about that as of 0.13). - Streaming ingest for >500MB transcripts; many-to-many session↔project attribution.
-
Windows support tier — a non-blocking
windows-latestCI leg has been running since v0.13.0 (green from its first run); ~3 weeks of evidence decides the README claim.
Areas where outside contributions would land well:
- Documentation — filling in the remaining
<!-- TODO -->sections on this wiki - Language-specific error pattern matchers in
longhand/extractors/errors.py(now with per-command suppression context — see the v0.13 changelog) - New transcript entry-type shapes for the drift-canary fixture corpus (
tests/fixtures/transcript_shapes/—scripts/harvest_entry_shapes.pymakes this a 5-minute contribution)
- Cloud-hosted version — would violate the local-only design principle. Everything stays on your machine.
- An LLM in the ingest path — analysis stays deterministic and free; any future model-assisted extraction will be opt-in, local, and layered on top.
Open an issue at github.com/Wynelson94/longhand/issues with the problem you're trying to solve, not the feature you think solves it. Feature-first proposals get closed; problem-first proposals start a real conversation.