- Speed up
mm statuswith bounded index compatibility validation while keeping full integrity and FTS consistency checks inmm doctorandmm db status. - Require release tags to point to the current
mastercommit, rejecting older commits even when their files are identical.
- Restore bounded validation on indexed read paths so
mm sand other reads do not run full snapshot integrity checks on every invocation. - Add automatic migration of legacy v0.7
state.sqlitedata into the current state schema while preserving source bindings, tags, meeting-tag assignments, and compatible settings. - Handle incompatible state databases as normal CLI errors instead of exposing a PyInstaller traceback during
mm init. - Harden the release workflow with current-master tag validation, release smoke checks for both macOS architectures, and correct smoke artifact paths.
- Remove MCP and the context/topic command families from the installed runtime while retaining periodic background refresh through the supported autosync commands.
- Require stable source-aware meeting references for generated open commands and tag mutations; generation-local numeric IDs are no longer accepted by those interfaces.
- Keep lexical search, neighboring-chunk expansion, date filters, manual tags, and the hidden advanced Obsidian integration on the current incremental index architecture.
- Remove injectable retrieval strategies and semantic result markers from the installed runtime;
keep the reproducible evaluation framework as developer-only tooling under
scripts/. - Drop write-only raw payloads and fingerprints from the disposable index, advance its schema epoch, and remove retired source-claim repository APIs while preserving the supported verified rebind.
- Store only canonical source bindings in
state.sqlite, use column-scoped transactional settings updates, and remove the obsoletesettings.jsonpath and lock protocol. - Collapse runtime retrieval into one meeting search service and remove Obsidian v1 note migration after the one-user transition window.
- Make meeting and evidence identity source-aware, canonicalize source paths, and rebuild disposable indexes safely when adopting the new source UUID and materialized evidence formats.
- Make search, context, topic, graph, status, and doctor use bounded read-only snapshots without creating databases, migrating schemas, or mutating user state.
- Persist manual topic aliases and source/task/tag ownership in
state.sqliteso explicit user intent survives index deletion, incompatible rebuilds, interruptions, and concurrent retries. - Publish incremental refreshes atomically, keep readers on the previous completed snapshot until commit, and report settings or Obsidian failures separately from a successful index update.
- Give generated Obsidian notes stable typed identities, collision-resistant filenames, exact managed markers, and safe preflight reconciliation across duplicate and Unicode titles.
- Add an exact-archive release smoke for both macOS architectures that proves version, SQLite/FTS,
init, source-backed search, and read-only diagnostics before checksums or GitHub upload.
- Collapse Core search to one typed meeting-level contract and add consistent
--since,--from, and--todate filters across CLI and MCP search. - Serialize refresh writers, record honest scan-run failures, and reconcile meetings deleted from the read-only Meetily source so stale search results disappear.
- Remove unreachable and unproven CLI surfaces, including local LLM answering and product semantic commands; keep semantic retrieval isolated as optional offline research tooling.
- Narrow experimental MCP to local stdio
search_meetingsandget_meetingtools backed by the same search contract asmm s. - Keep Obsidian settings in the selected global or workspace scope and reconcile deleted or renamed managed notes without touching unmarked user files.
- Focus the public workflow on meeting search, opening original records, and explicit meeting tags.
- Add persistent tags in
state.sqlite, including add, remove, list, and non-mutating suggestions based on existing tags. - Return one ranked result per meeting from
mm s, combining exact tag matches, lexical evidence, and token-level tag matches with bounded source context. - Add the opt-in Core v3 meeting-result contract while preserving the existing Core v1 and v2 payloads for API and MCP consumers.
- Extend retrieval evaluation with meeting-level and tag-only tasks, reproducible fingerprints, and strict semantic-index coverage checks.
- Keep hybrid lexical/semantic retrieval experimental: it remains disabled until its promotion gate demonstrates improvements on semantic and paraphrase tasks without regressions.
- Prevent commands using an explicit temporary
--indexfrom replacing the selected source in the default user settings. - Make
mm autosync startinstall and activate the launchd or systemd scheduler instead of only storing an enabled flag. - Make
mm init --autosync,mm autosync stop, and both status commands manage and report the real scheduler lifecycle. - Pin background refreshes to their index and data directory, keep the executable path stable across Homebrew upgrades, and write dedicated autosync stdout/stderr logs.
- Report
autosync: misconfiguredwhen saved configuration, scheduler files, and runtime state disagree.
- Add
mm config source NEW_PATHfor selecting a validated Meetily database and--rebindfor explicitly preserving source identity after a verified move or restore. - Persist source identity and task status in dedicated user state so index migrations and rebuilds do not discard user-owned state.
- Add stable, versioned evidence and context contracts for retrieval consumers, with an explicit opt-in Core v2 path for MCP clients.
- Keep
mm clexical and source-ranked by default while allowing bounded neighboring excerpts through explicit--context N. - Add reproducible retrieval evaluation datasets, manifests, comparison gates, and reports so experimental strategies can be measured without changing the stable search path.
- Tighten heuristic task extraction and document the measured product gates before task workflows can be promoted beyond experimental status.
- Add
mm s --context/-Cto expand search hits with neighboring chunks. - Rework
mm tas a source-backed topic dossier with supporting excerpts even when structured signals are empty. - Make topic sections use cautious "possible" labels for heuristic decisions, tasks, risks, and questions.
- Add stable CLI UI language configuration via
mm config language en|ru|auto. - Keep topic alias expansion data-driven through stored aliases instead of built-in term dictionaries.
- Update README and command docs around the search-first stable contract and experimental topic/Obsidian/LLM/MCP surfaces.
- Replace the public topic command with the shorter
mm twhile keeping the oldmm topicpath hidden for compatibility. - Demote experimental LLM answering from the everyday README/help path and keep
mm cas the recommended LLM context handoff. - Make topic output clearer as a source-backed "what we know" dossier with heuristic signal labels and meeting-language-aware headings.
- Improve Cyrillic topic matching for simple inflected forms such as
миграция/миграции. - Refresh test fixtures and examples to use Dobrynya consistently.
- Narrow the public CLI around init, update, status, search, context, topic memory, semantic search, ask, Obsidian sync, autosync, doctor, and advanced diagnostics.
- Split the 1500+ line CLI and overloaded index repository into focused command, repository, memory, and database modules.
- Keep the graph as an internal knowledge layer for topic memory, ask, Obsidian, and MCP instead of a public command surface.
- Replace export-style Obsidian behavior with managed sync notes for meetings, topics, people, tasks, decisions, risks, and questions.
- Add
mm semantic initandmm llm initas the consistent setup entry points. - Move MCP dependencies behind the
mcpoptional extra for pip installs. - Remove Spotlight and broad export leftovers from the focused core API.
- Add Spotlight-friendly Markdown export and clean commands.
Initial public release of Meetily Memory.
- Add local-first Meetily SQLite scanner and incremental index.
- Add SQLite FTS5 search with
mm s. - Add context builder with
mm c. - Add meeting structure extraction for decisions, action items, risks, and open questions.
- Add actionable CLI output with meeting ids, chunk ids, and
mm openhints. - Add best-effort person lookup with Cyrillic-safe FTS matching.
- Add macOS binary release workflow and Homebrew tap formula support.