Background
Part of the MAF epic (MongoDB memory, history, and vector search for Microsoft Agent Framework). The implementation lives in mongodb-developer/ms-agent-framework-mongodb. This ticket covers a review of the Python code only, not new development. The .NET code is out of scope.
Scope of review
- The Python package in the repo’s python/ directory:
- Vector search / RAG.
- Memory (ContextProvider, long-term memory).
- History (_history_provider, short-term memory and chat history).
- Python samples, tests, and packaging.
- Python CI and release workflows (quality, vulnerability scan, compatibility, release-python).
Review checklist
- Framework conformance: the providers integrate through public MAF Python contracts (ContextProvider and history provider APIs). The tested MAF compatibility range is documented.
- Correctness: messages and sessions are persisted and retrieved correctly, ordering is right, and sessions and users are isolated.
- MongoDB usage:
- Schema design (no unbounded arrays) and indexes.
- Atlas Vector Search index definitions and provisioning.
- Use of auto-embeddings and native re-ranking.
- Client creation, ownership, and cleanup (for example PyMongo async vs sync).
- Quality: error handling, async patterns, resource cleanup, type hints, and test coverage.
- Security: no hard-coded secrets, connection strings come from config or env, inputs are validated, and TLS and least-privilege guidance is documented.
- Samples and docs: each sample runs end to end from its README, Atlas setup is documented, and dependency versions are pinned.
- Packaging: pyproject metadata, dependency ranges, and the release process.
Deliverables
- Review code and any finding should be linked follow-up tickets.
Acceptance Criteria
- Every in-scope Python component has been reviewed against the checklist.
- Findings are documented and linked to follow-up tickets or PR comments.
- A publish recommendation is recorded on this ticket.
Out of scope
- .NET code and samples.
- TypeScript and Go.
- New feature development.