Skip to content

Milvus adapter end-to-end tire-kicking session (SPEC-81 verification) #1235

Closed

Description

@phernandez

Tracking issue for the manual end-to-end verification session of the Milvus vector-index
adapter (SPEC-81; PRs #1141, #1158, #1185). There is no automated end-to-end coverage —
every Milvus test uses fakes or bare Milvus Lite — so this session exercises the real
stack: Postgres + Milvus Lite through sync → manifest → search, adapter switches, reindex,
and failure drills, using a realistic 200+ note corpus.

Session checklist

  • Three-way baseline matrix: same corpus + embedding model through sqlite-vec /
    pgvector / Milvus Lite; compare top-5 membership, cosine scores, hybrid rankings,
    latency (~10 known-answer queries)
  • Fresh Milvus enablement via bm reindex --embeddings; collection naming verified
  • The silent-degraded window: config flipped to milvus before reindex → vector returns
    0, hybrid silently degrades to FTS (documented UX finding)
  • Manifest honesty: vector_index ownership flip; stale pgvector rows accounting
  • Switch-back fail-closed: SemanticVectorIndexExtensionError capture + recovery UX
  • Failure drills: missing extra, bad URI shapes, unreachable server (index vs query
    time, timeout/lock-hold), dimension mismatch refusal
  • Restart persistence (fix(core): load existing Milvus collections after restart #1185 in real flow)
  • Reranker + Milvus interplay (sanity + latency)
  • Redaction smoke (milvus_token/milvus_uri in config output)

Deliverables

  • Results recorded as a Basic Memory note with conclusions (dogfooding), linked here
  • Issues filed for any bugs/UX findings
  • Docs-gap follow-up list (local-Postgres quickstart, fresh-switch reindex step, .db
    URI requirements, Lite milvus_database caveat, degraded-window behavior)
  • SPEC-81 updated: draft → implemented-with-deviations (in-core extra, entry-point
    registry removed, namespace = DB-locator hash, collection identity excludes model/dims)

Activity

  1. claude commented on Aug 11, 2026

    @claude
    Contributor

    Claude finished @phernandez's task in 51s —— View job


    Triage

    Type: Enhancement — this is a tracking issue for a manual, human-driven verification session (not a code defect report), covering the Milvus vector-index adapter shipped in SPEC-81 (#1141, #1158, #1185).

    Component: Search/indexing (vector index adapters — sqlite-vec / pgvector / Milvus Lite, bm reindex, semantic search). Not Cloud-specific: the checklist runs local Postgres + Milvus Lite and doesn't touch Cloud-only surfaces, so no cloud label applied.

    Priority: Medium — there's no automated end-to-end coverage for the Milvus path today (tests use fakes or bare Milvus Lite), so this closes a real verification gap, but nothing is reported broken yet.

    Complexity: Complex — a full manual session across a 200+ note corpus: three-way baseline comparison (sqlite-vec/pgvector/Milvus), fresh-enablement and reindex flows, failure-mode drills (missing extra, bad URI, unreachable server, dimension mismatch), restart persistence, reranker interplay, and redaction checks, plus SPEC-81 status/doc follow-ups as deliverables.

    Duplicates: None found — no other open issue references Milvus, SPEC-81, or a similar verification session.

    No reproduction steps needed (this is a planned verification session, not a bug report). Labeled enhancement.

  2. phernandez commented on Aug 11, 2026

    @phernandez
    MemberAuthor

    Session complete — all checklist items executed. Headline: the adapter core is solid (identical vector rankings and 4-decimal score agreement across sqlite-vec / pgvector / Milvus Lite on a 222-entity corpus; all fail-closed paths fire correctly, dimension-mismatch message is exemplary). All findings are operator-surface: #1236 (silent degraded window when the configured index has no ready manifest rows), #1237 (reindex --embeddings exits 0 on 100% embed failure with the guard message log-only), #1238 (docs bundle: local-Postgres quickstart, fresh-switch reindex step, .db-is-a-directory, Lite milvus_database caveat, stale pgvector rows). Full log with per-test verdicts recorded in Basic Memory: dev/testing/'Milvus Adapter Tire-Kick Session 2026-08-11'. SPEC-81 updated to implemented-with-deviations with the resolved open questions.

  3. added this to the v0.23 milestone on Aug 11, 2026
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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions