Skip to content

Phase 4: memory_update, typed relations and hybrid RRF search (MCP-06, MCP-07, STORE-05, SEARCH-04, SEARCH-05) #5

Closed

Description

@hermanngeorge15

Tracking issue for milestone v1.1 (product v0.1.0), Phase 4 — Memory Update, Relations & Hybrid Search.

Scope

  • MCP-06 memory_update (MCP + PATCH /api/memories/{id}): patch content/tags/scope/TTL; content edits re-mirror FTS and re-embed in the same writer transaction.
  • MCP-07 memory_link / memory_unlink with flat typed relations, cascade on forget and TTL sweep, and 1-hop expand_links on search and list.
  • STORE-05 migration 0003 with hygiene: frozen 0001/0002 SQL, pre-migration backup, friendly error when a newer DB meets an older binary.
  • SEARCH-04 / SEARCH-05 decay-aware hybrid RRF search; degrades to keyword exactly as v1.0 when Ollama is unreachable.

Gap closure after first verification (13/15)

  • Forgiving keyword leg: raw FTS5 first, one sanitized retry; punctuation like sqlite-vec / auth: tokens no longer 500s; search errors never leak SQLite text.
  • Sweep backfill never overwrites an edited or forgotten row (CR-03).
  • relates_to is one symmetric relation; memory_update refuses unknown fields; REST path/query errors get the JSON body; race-safe pre-migration backup.
  • WR-04: memory_list with expand_links and no limit is rejected (400 / invalid_params).

Re-verification: passed 28/28.

Activity

  1. hermanngeorge15 commented on Oct 24, 2026

    @hermanngeorge15
    ContributorAuthor

    Launch-plan note (#7, 2026-10-24): verified on the branch tip 0f1a9fd — cargo test --workspace 217 passed / 0 failed / 2 ignored, clippy -D warnings and cargo fmt --check clean. The plan recommends merging PR #6 and cutting v0.1.0 from this branch (issue #8) rather than waiting for Phase 5 (export/import) and Phase 6 (musl/Windows), which would move to v0.2.0; ROADMAP.md lines 6 and 31-32 would need the corresponding re-scope. Two things to carry into the release: the README's "Behavioral changes in v0.1.0" section already written here becomes the CHANGELOG headline, and the first hosted-runner darwin zigbuild has not run yet (release.yml comment block) — the v0.1.0 tag run is that proof.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions