feat: LogosDB 1.0.0 — smart chunking, UTF-8 hardening & security audit#112
Merged
Conversation
…ded tests - Smart chunker (auto/line/section/legacy modes) — resolves #98 - UTF-8 NFC normalization + bidi/invisible-char rejection — resolves #109 - Path traversal hardening in MCP security and vibe.py — resolves #108 #111 - 251 unit tests (chunker + security + manifest + smoke) — resolves #110 - Incremental manifest fingerprints chunkMode for cache invalidation - Bump mcp package to 1.0.0
- pyproject.toml: version 0.12.0 → 1.0.0, classifier Alpha → Production/Stable - CMakeLists.txt: project VERSION 0.9.0 → 1.0.0
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.
Summary
Production-ready 1.0.0 release. Delivers intelligent text chunking, Unicode hardening, path-traversal protections, a comprehensive security audit of the Python adapters, and 251 passing tests including a live smoke test.
Closes #98, #108, #109, #110, #111
Changes
auto/line/section/legacy) —autodetects strategy from file extension: line-window for code, section-aware for Markdown/RST, paragraph-fallback for everything elsesecurity.tschunkMode— changing the chunking strategy on an existing namespace forces a clean re-index automaticallysecurity.ts) and Python adapter (vibe.py):os.walk(followlinks=False)+ per-entry confinement checksplitLongTexthelper in chunker to correctly sub-split single paragraphs larger thantargetCharssanitizeEntryfix in manifest:chunkModeis omitted (not set toundefined) when absent, preserving round-tripdeepStrictEqualand backward compatibilitylogosdb-mcp-serverto1.0.0Type of Change
Testing
New test files:
mcp/src/chunker.test.ts(97 tests), extendedmcp/src/security.test.ts(59 tests).Edge cases covered:
targetChars=1,overlapChars=0, CRLF, all Unicode bidi/invisible ranges, null-byte paths, double symlink escapes, allSKIP_DIRS, ATX + Setext headings, large-section sub-splitting.Checklist
npm test— 251/251, smoke clean)feat:,fix:,docs:, etc.)Additional Notes
Migration for existing incremental namespaces: the default mode is
auto. Old manifest entries (nochunkModefield) compare equal toauto, so files are not force-re-indexed on upgrade. To switch an existing namespace to the new smart chunker, runlogosdb_index_fileonce withincremental: false.LOGOSDB_CHUNK_MODEenv var sets the global default; override per call via thechunkingparameter oflogosdb_index_file.Made with Cursor