Repository navigation
Releases: lorismascio17/droste-memory
Release list
Droste 1.3.0 - Progressive space, bounded tokens
Droste 1.3.0 adds progressive code exploration: search a local graph, navigate by node ID, and zoom from map to structure to source within a measured token window.
- New CLI
droste exploreand MCPdroste_explore. - Real
o200k_base/cl100k_basebudgets on the complete compact response, including JSON, source locations, receipts and newline. - One MCP text block, with automatic duplicate structured output disabled.
- Reuse exact unchanged representations only when the client explicitly acknowledges it still retains them. Clear receipts after compaction.
- Verify source hashes and refuse stale or unverifiable snapshots. Show omitted candidates, truncated links and each item's actual detail level.
- Keep the legacy character-budget context API and original galaxy viewer.
Try the recorded interactive demo ? Workflow and limitations
On pinned Requests source, the complete source response for HTTPAdapter.send was 2,500 tokens; a retained revisit returned 827 tokens. Its acknowledgement arguments add 254 tokens (the original arguments add 16). These are selected payload-size observations, not model task success, provider billing or competitor-performance results. Natural-language discovery and dynamic call resolution remain limited.
Validation: 105 regression cases on Linux Python 3.10/3.11/3.12 and Windows Python 3.12; distribution checks; installed-wheel CLI/receipt/HTTP and actual calls to all ten MCP tools, including checking the exact counted single text block. All three public Requests investigations were also checked through the installed wheel. The recorded demo was exercised at desktop and mobile sizes.
python -m pip install --upgrade droste-memory
droste index .
droste explore --tokens 1000The first tokenizer use downloads a small vocabulary; run droste explore --prepare-tokenizers once for later offline use. Token counts cover the returned text under the chosen reference encoding, excluding tool-call arguments, provider wrappers and other session messages. File-size reductions do not establish task quality or lower bills.
Published on GitHub, PyPI and the MCP Registry.
Droste 1.2.1 - Context navigation fixes from practical use
Practical use on the full pinned Requests repository exposed navigation defects and retrieval limits. This patch fixes the defects and records the failures as well as the useful cases.
- Prioritize unique explicit symbol IDs and qualified symbol mentions over semantic lookalikes.
- Preserve complete source locations in compact context instead of slicing paths or signatures.
- Describe syntax dependencies as references, including inheritance, without inventing constructor-call syntax.
- Add a reproducible CLI investigation and three regressions (72 total).
The timeout investigation now returns the full HTTPAdapter.send body when asked for HTTPAdapter.send timeout. Symbol lookup and source-evidenced references helped investigate redirect authentication and proxy handling. Open-ended English queries still often focus on tests or exception classes, the Italian query missed the implementation, and a dynamic request trace remained incomplete. No speed, token-saving or competing-product superiority claim is made.
Validation: Linux Python 3.10/3.11/3.12 and Windows Python 3.12 CI, package checks, installed-wheel CLI/HTTP smoke and actual calls to all nine MCP tools. A separate local real-fastembed run reproduced the practical investigation through the installed 1.2.1 wheel.
Install:
python -m pip install --upgrade droste-memoryPractical review and exact observations ? CI ? Limits
Published on GitHub, PyPI and the MCP Registry.
Droste 1.2.0 — Verifiable code exploration
Droste 1.2.0 makes code investigation verifiable: find a symbol, inspect its static callers/callees with source evidence, and check whether the index still matches the project.
- Resolve Python calls through scopes, imports, aliases/re-exports and explicit self/cls members. Skip unknown or ambiguous targets instead of picking an arbitrary matching name.
- Add
droste find,droste references,droste check, and three corresponding MCP tools. - Batch-refresh supported files after additions, edits, renames and deletions; rebuild incoming references when definitions move.
- Respect nested
.gitignoreand project.drosteignore, preserve distinct identical modules and keep other roots/concepts duringindex --reset. - Actually collect Java, C#, Ruby, PHP and Python stub files; prefer Python implementations over stubs when resolving imports.
- Separate embedding caches by model; re-index on a backend switch. Expose stale/partial coverage warnings.
- Enforce context budgets in characters (minimum 500), including separators, with explicit source stubs for bodies that do not fit.
Validation: 69 regression cases on Linux Python 3.10/3.11/3.12 and Windows Python 3.12, installed-wheel CLI/HTTP checks and calls to all nine packaged MCP tools. A separate local check used real fastembed and verified a hash-to-model switch. A real index of Droste's own source was checked for freshness, caller provenance and bounded context.
The pinned Requests/CPython source corpus passes 19/20 manually labelled edge assertions: 15/16 positive edges found and 0/4 forbidden edges emitted. The unresolved requests.api.request -> Session.request receiver is documented. This is a small structural validation, not an agent-task or competing-product benchmark.
Install:
python -m pip install --upgrade droste-memory
droste index .
droste check
droste find calculate
droste references calculate --direction bothRe-index existing projects after upgrading. Dynamic receiver types and inherited member lookup remain limited; non-Python and cross-language links remain heuristic. Use one writer per database. The viewer is a snapshot.
Distribution status: PyPI 1.2.0 and MCP Registry 1.2.0 are live. The PyPI wheel has the same package files as the attached CI artifact.
Droste v1.1.7 ? installation and graph reliability
This maintenance release fixes fresh-install failures and database isolation issues found after the project's inactivity period.
- Pin the compatible MCP 1.x SDK: MCP 2 removed the FastMCP API used by Droste.
- Restore syntax edges with both current and legacy tree-sitter bindings.
- Fix
droste --db ... view, writable installed-package storage and temporary viewer snapshots. - Isolate shards, registries and embedding caches for databases in the same directory; preserve legacy shards during migration.
- Add explicit offline hash embeddings, Windows CI, package checks and a real installed CLI/HTTP/MCP smoke test.
- Restore the demo homepage and update the competitive landscape and documented limitations.
Validation: 41 tests passed on Linux Python 3.10/3.11/3.12 and Windows Python 3.12. The attached wheel and source archive are CI-built artifacts from commit 3945890. Wheel metadata and private-data exclusions passed. A dependency audit found no known vulnerabilities in the installed third-party environment at the time of the check.
Install the current release from PyPI:
python -m pip install --upgrade droste-memory
Distribution status: PyPI 1.1.7 and MCP Registry 1.1.7 are live. The attached GitHub wheel contains the same package files as the PyPI wheel.
Database updates are not multi-file transactions: use one writer per DB and back up metadata plus .droste together. Re-index after an interrupted write.
Droste v1.1.1 - Packaging and discovery hardening
Droste v1.1.1 is a small but important public-release hardening pass.
Highlights:
- PyPI package metadata now includes keywords, classifiers, project URLs, and MIT license metadata.
- README now shows PyPI, Python version, CI, and license badges.
- Generated visualizer JSON files are excluded from source distributions, preventing local project graph data from being packaged accidentally.
- The public self-demo graph remains included as visualizer/demo_graph.json.
Install or upgrade:
python -m pip install --upgrade droste-memory
MCP server:
droste mcp
This builds on v1.1.0, which added project-root isolation for MCP context, Windows UTF-8 output safety, and query-aware ranking for runtime/test/doc retrieval.