Skip to content

Latest commit

 

History

History
50 lines (44 loc) · 4.75 KB

File metadata and controls

50 lines (44 loc) · 4.75 KB

TODO

Current Baseline

  • MirrorNote can start and stop local capture from the Electron app through the native host.
  • Each session saves a local artifact bundle with note.md, recording.mp3, transcript.jsonl, and metadata.json.
  • Review stays transcript-first, and finished sessions can be revealed in Finder from the Electron recorder surface.
  • Installed local STT models can be selected and checked from Electron Settings.
  • Capture and transcription stay local to the app flow; there is no cloud meeting bot in the loop.
  • STT helper: Rust binary (native/stt-server-rust/) shelling out to whisper-cli via JSON frame protocol.
  • Summary generation supports built-in and custom templates, writing deterministic note.md output.

V1

  • Continue dogfooding progressive local STT on real meetings; compare Metal, dual-track, and chunked finalization timings across 10-30 minute sessions.
  • Migrate STT helper from Zig to Rust for improved stability (native/stt-server-rust/).
  • Measure resident memory ceilings for the long-lived bundled Rust STT helper across supported models, especially large multilingual ones, before trusting app-lifetime helper residency in daily use. Result: safe (1.5 MB idle, +144 KB per config, +208 KB over 5 sessions). Shell-out architecture means model memory is externalized to whisper-cli subprocess. See docs/benchmarks/stt-memory-2026-04-28.md.
  • Add custom summary template editing with template name, section titles, section instructions, validation, and default-template selection.
  • Harden bundled local STT runtime startup, timeout, and recovery behavior across repeated long sessions.
  • Dogfood note.md summary generation across OpenAI, Ollama, and LM Studio; tune prompt quality before adding linked meetings.
  • Create one manual source-backed context packet from a real MirrorNote meeting and compare no-context vs packet-context Codex/Claude Code output.
  • If the manual packet improves agent behavior, implement file-first context generation with canonical source-records.jsonl, memory-objects.jsonl, relations.jsonl, and evidence-map.json.
  • Revisit realtime transcription mode only after near-realtime backlog behavior is stable, and compare latency and quality tradeoffs against the near-realtime default.

V1.5

  • Prototype local speaker diarization in a separate mirrornote-diarization-mlx repo using a pyannote/speaker-diarization-3.1 oracle-first path: emit MirrorNote-native speaker-segments.jsonl and speaker-map.json, lock schema fixtures before MLX work, and defer submodule integration until quality/performance are measured.
  • Add derived agent-brief.md and project-context.md views generated from canonical packet files.
  • Validate meeting source references against transcript segment IDs, not timestamps alone.
  • Keep source references source-neutral so Slack message timestamps, GitHub PR/comment/file-line refs, and Linear issue/comment refs can share the same evidence layer.
  • Add golden fixtures for packet generation, invalid source refs, transcript truncation, low-confidence extraction, and prompt-injection attempts.
  • Link related meetings automatically based on entities, topics, and project context.
  • Show Linked meetings in the completed meeting view and in note.md.
  • Score project linkage from mixed signals instead of a single heuristic.

V2

  • Turn linked meetings into project memory that carries forward the right prior sessions, notes, and artifacts.
  • Aggregate source-level memory objects into project-level context without treating markdown as source of truth.
  • Explore document ingestion beyond meetings so project memory can grow from specs, docs, and notes as well as transcripts.
  • Surface project-memory retrieval inside the note view and post-meeting review flow.

V3

  • Build a lightweight knowledge graph over meetings, notes, and attached documents.
  • Add personal ontology primitives so concepts, people, companies, and projects become durable nodes.
  • Surface graph-driven follow-up prompts and retrieval once project memory is stable.

Longer Term

  • Add a distribution pipeline for signed Electron app bundles and GitHub Releases once the local app workflow is stable, then evaluate notarization and Homebrew cask support.
  • Explore team/shared memory use cases for handoff, onboarding, and role-specific context retention.
  • Add Linear, Slack, and GitHub adapters after the first meeting adapter proves the source-neutral context contract.
  • Treat connector-specific permission, privacy, and thread-noise problems as adapter concerns, not reasons to make the memory schema meeting-only.
  • Detect recurring pain points for a role or workflow from accumulated local knowledge.
  • Investigate how AI can use user-owned data to produce better domain-specific assistance without taking away data sovereignty.