Skip to content

fix: confirm the Qdrant endpoint before writing wizard configuration - #1848

Open
DivyamTalwar wants to merge 1 commit into
MemMachine:mainfrom
DivyamTalwar:fix/qdrant-wizard-endpoint-1509
Open

DivyamTalwar wants to merge 1 commit into
MemMachine:mainfrom
DivyamTalwar:fix/qdrant-wizard-endpoint-1509

Conversation

@DivyamTalwar

Copy link
Copy Markdown

Purpose of the change

The configuration wizard selects Qdrant when available but currently writes its default external endpoint without showing or confirming the server. This makes the storage destination explicit while keeping configuration generation offline.

Description

  • Cache the effective QdrantConf and serialize the same host and REST port shown to the user.
  • In interactive mode, validate hostname/IP and port locally, display the endpoint and output path, and require an explicit yes to use an already-running external server. The prompt defaults to no.
  • Declining exits cleanly before creating or overwriting the configuration. The CLI reports cancellation without a traceback.
  • Noninteractive mode displays the default endpoint and destination without adding prompts; existing required-credential input is unchanged.
  • Preserve backend selection and HTTPS/gRPC/authentication/registry fields when changing host/port. Do not contact Qdrant, inspect collections, or echo API keys and rejected credential-bearing input.
  • Document the flow and the existing YAML settings for advanced transport/authentication.

Fixes/Closes

Fixes #1791. The separate capacity correction is intentionally outside this PR; this branch is independent of #1772.

Type of change

  • Bug fix
  • Documentation update

How Has This Been Tested?

Linux, Python 3.12, frozen dependencies:

  • Entire installation test directory: 69 passed; three existing testcontainers deprecation warnings.
  • Default/custom/IPv4/IPv6 persistence, port boundaries, invalid input, cache reuse, noninteractive input count, and transport/authentication preservation.
  • Default-no and explicit-no cancellation for both absent and existing configuration files; clean CLI exit.
  • Wizard tests block DNS and socket connections. Relevant cases also hide the optional Qdrant client module.
  • Repository-wide Ruff and formatting checks pass (538 files); all four changed Python files pass ty; whitespace checks pass.

Additional macOS documentation gate: Node 22 mint broken-links passed with no broken links. No live Qdrant service is needed or contacted for this offline workflow. Full repository pytest and the complete optional-dependency/OS matrix were not run locally.

Reproduce the focused suite with uv run --frozen pytest packages/server/server_tests/memmachine_server/installation -q.

  • Unit Test

Checklist

  • I have signed the commit(s) within this pull request
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code
  • I have made corresponding changes to the documentation
  • I have added unit tests that prove my fix is effective
  • New and existing unit tests pass locally with my changes (focused suite above)
  • I have checked my code and corrected any misspellings

Maintainer Checklist

  • Confirmed all checks passed
  • Contributor has signed the commit(s)
  • Reviewed the code
  • Run, Tested, and Verified the change(s) work as expected

Further comments

Implementation, code review, and validation were performed with OpenAI Codex under the contributor's authorization. Human self-review remains unchecked. The commit is signed off and has GitHub's verified signature. No human review or full CI result is claimed.

Refs MemMachine#1791

Implemented and reviewed with OpenAI Codex.

Signed-off-by: Divyam Talwar <divyamtalwar0@gmail.com>
@mintlify

mintlify Bot commented Oct 22, 2026

Copy link
Copy Markdown

Preview approval required

This pull request comes from a fork, so Mintlify won't build a preview until someone with write access approves commit 9c64af9.

Approve preview

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: memmachine-configure's Qdrant default silently attaches to any Qdrant on localhost:6333, including another deployment's

1 participant