Skip to content

Develop#27

Merged
AperturePlus merged 7 commits intomasterfrom
develop
Mar 21, 2026
Merged

Develop#27
AperturePlus merged 7 commits intomasterfrom
develop

Conversation

@AperturePlus
Copy link
Copy Markdown
Owner

fix #14
fix #19
fix #20

AperturePlus and others added 7 commits March 13, 2026 16:30
Why:
Relative directory-prefixed glob filters (e.g. apps/web/**/*.tsx) were matched directly against absolute stored file paths, causing silent zero-result searches.

What:
- Added resolve_file_filter_pattern utility to normalize relative prefixed filters to absolute patterns under the indexed root.
- Applied normalization in MCP, HTTP, and CLI search entrypoints before calling SearchService.
- Added unit tests covering wildcard-only, relative-prefixed, and absolute filter patterns.

Test:
- uv run ruff check src tests (pass)
- uv run pytest tests/unit/test_runtime_path_resolution.py -q -v --tb=short (pass)
- uv run pytest tests/ -v --tb=short -q --durations=10 (fails in existing unrelated tests)
- uv run mypy src --ignore-missing-imports --no-error-summary (fails with existing repository typing errors)
…lative-paths

fix(search): resolve relative file_filter patterns against indexed root
Why: Index/search/update resolved .aci/index.db from CWD, which breaks cross-directory CLI usage and causes 'Path has not been indexed' errors.

What: Added a project-scoped metadata DB path helper and wired index/search/update to initialize services with <repo>/.aci/index.db instead of a CWD-relative default. Added unit tests to verify the scoped path behavior in CLI flows.

Test: uv run ruff check src tests (pass)

Test: uv run pytest tests/unit/test_cli.py tests/unit/test_cli_metadata_db_path.py -q (pass)

Test: uv run pytest tests/ -v --tb=short -q --durations=10 (interrupted; suite showed pre-existing failures while running)

Test: uv run mypy src --ignore-missing-imports --no-error-summary (fails with many pre-existing typing issues)
…tion-path

fix(cli): scope metadata db path to target repository
…e tests

Why: Tests using TiktokenTokenizer fail when network is unavailable (tiktoken
downloads its vocabulary from openaipublic.blob.core.windows.net on first use).
This caused 14 unit test failures in sandboxed/offline environments. The
ACI_TOKENIZER env var was also undocumented, leaving Ollama users with no
guidance on how to resolve the BPE/WordPiece mismatch.

What:
- .env.example: add ACI_TOKENIZER with documentation for Ollama/BERT users
- test_chunker_core.py: use CharacterTokenizer fixture (network-free)
- test_chunker_splitter.py: use CharacterTokenizer fixture (network-free)
- test_incremental_update_scopes_to_root.py: pass CharacterTokenizer-based
  chunker to IndexingService to avoid tiktoken download at test time

Test: uv run pytest tests/unit/ -> 226 passed, 0 failed

Co-authored-by: AperturePlus <146049978+AperturePlus@users.noreply.github.com>
fix(tokenizer): document ACI_TOKENIZER and fix offline test failures caused by tiktoken network dependency
@AperturePlus AperturePlus merged commit ac2ecd5 into master Mar 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants