docs: fix drift in Health & Analytics - #270
Draft
jack-arturo wants to merge 1 commit into
Draft
Conversation
- /health always returns HTTP 200; the 503-when-degraded claim was false - status is also "degraded" on sync drift, not only Qdrant unavailability - /analyze response includes a top-level elapsed_ms field - AUTOMEM_LOG_LEVEL is an MCP client variable, not read by the service - repin source-note permalinks to automem@8ff266e Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EiTAbgmncBDToAzqj71wka
Deploying automem-website with
|
| Latest commit: |
24c53dc
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://008856f5.automem-website.pages.dev |
| Branch Preview URL: | https://docs-audit-reference-api-hea-a6bu.automem-website.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated docs-accuracy audit of
reference/api/health. Every fix below is anchored to current source inverygoodplugins/automem.health()ends in a barereturn jsonify(health_data)— Flask's default 200. There is no503anywhere inhealth.py./healthalways returns 200 and that monitors must read thestatusfield.503for Qdrant/FalkorDB failure; mermaid endedHTTP 200/503200; mermaid terminal message corrected; added a note that a non-200 means the service is unreachable, not degraded.statusfield: "degraded when Qdrant unavailable"statusis also"degraded"whensync_status == "drift_detected"(i.e.vector_count < memory_count), with both databases connected./analyzeresponse schema (noelapsed_ms){"status": ..., "analytics": ..., "elapsed_ms": 0}— a third top-level key, hardcoded to0.elapsed_msto the example plus a one-line note that it is not a real measurement.AUTOMEM_LOG_LEVELenvironment variable" with aAUTOMEM_LOG_LEVEL=DEBUGsnippetLOG_LEVEL/AUTOMEM_LOG_LEVELare read nowhere in the Python service.app.pycallsconfigure_logging(level=logging.INFO)with a hardcoded level.AUTOMEM_LOG_LEVELexists only in themcp-automemclient.Source-note permalinks for
health.pyandrecall.pywere also repinned from0720da2to8ff266e— both files changed content since that commit (health.pyswitched tocount_falkor_memories/count_qdrant_points). Theapp.pyandauth_helpers.pylinks were left as-is; those files are unchanged since0720da2.Verified against: automem@8ff266e62e65cb2e81719a765b05f64a2361a127
Verified against: mcp-automem@946f9e5ed1385b632efd2e5b250d064bcc4295e8
Questions
vector_dimensions.mismatchflag compares the Qdrant collection size againstVECTOR_SIZE(the configured value), not againsteffective— while being gated oneffectivehaving been set. The page documents the four sub-fields without stating which pair is compared. Intentional simplification, or worth spelling out?status: "degraded"as "FalkorDB or Qdrant unavailable". With drift now also producingdegraded, that alert will fire on drift too. Left unchanged because the right remediation is a product decision, not a docs fact.Unverified
automemcheckout; these read as recommended practice rather than shipped behavior, so the prose was left alone.recover_from_qdrant.pywas not located during this pass and its reference was left untouched.Follow-ups
MATCH (m:Memory) RETURN count(m). The real query now runs throughcount_falkor_memories(), which appends aWHEREclause excludingRECALL_EXCLUDED_TYPES(accounting.py#L28-L41). The field table already documents the exclusion, so the diagram is a simplification rather than an error — dropped for the 5-fix cap.Generated by Claude Code