v0.0.6

moorcheh-ai/memantov0.0.6Apr 30, 2026by het0814

AI Summary

Hardens Moorcheh API key verification and introduces configurable summary models while masking the API key in the UI.

Key Highlights

  • API key verification across CLI first-run, server health check, and request auth
  • Configurable summary model via SUMMARY_MODEL setting
  • UI no longer exposes raw API key

New Features

  • First-run verification uses documents.get against a sentinel namespace
  • Server health check uses documents-based ping
  • Configurable SUMMARY_MODEL (default anthropic.claude-sonnet-4-6) for daily summary and conflict report
  • UI config endpoint returns masked preview instead of raw key

Full Release Notes

# Release Notes for v0.0.6
                                                                                                                                                                                  
  This release hardens **Moorcheh API key verification** across the CLI first-run, server health check, and request auth, makes the **summary model configurable from 
  `~/.memanto/config.yaml`**, and **stops exposing the raw API key in the UI**.                                                                                                      
  ## Improvements                                                                                                                                                                 
  
  - **API key verification**
    - First-run `memanto` setup now actively verifies the key against Moorcheh before saving — invalid keys are rejected, and transient network issues surface as a warning rather
   than blocking setup.
    - Switched the verification call from `client.namespaces.list()` to `client.documents.get(...)` against a sentinel namespace — a lighter, more deterministic auth ping.       
    - `NamespaceNotFound` is treated as success (the key authenticated, the sentinel namespace just doesn't exist), removing false negatives.
  - **Server**
    - `/health` uses the same documents-based ping, so health reflects real auth state.
    - Auth dependency returns **401** only on true `AuthenticationError`, and **500** on unexpected errors — clearer separation between bad key and infra failure.
  - **Configurable summary model**
    - New **`SUMMARY_MODEL`** setting (default `anthropic.claude-sonnet-4-6`) used for the daily summary and conflict report.
    - `~/.memanto/config.yaml` now supports `memanto.summary.model` (and `memanto.answer.model` / `temperature` / `answer_limit`) — loaded at startup so you can swap models      
  without code changes.
  - **UI**
    - `/api/ui/config` and the API-key update endpoint now return a **masked preview** (`••••••••<last6>`) instead of the raw key. The plaintext key is no longer sent to the     
  browser.

  ## Tests

  - Test suite passes locally: **`54 passed`**.

  ## Behavioral changes

  - **`memanto` first run** now blocks setup on an invalid Moorcheh API key instead of saving it and failing later.
  - **`/health`** and **request auth** no longer call `namespaces.list()`; they ping `documents.get` against a sentinel namespace.
  - **Daily summary & conflict report** pick their model from `SUMMARY_MODEL` / `memanto.summary.model` rather than `ANSWER_MODEL`.
  - **UI config endpoint** no longer returns the raw API key — only a masked preview. Any client reading `api_key` expecting plaintext must adapt.

  ## Full Changelog

  Full Changelog: https://github.com/moorcheh-ai/memanto/compare/v0.0.5...v0.0.6