Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
6cd669f
fix: defer usearch import to avoid segfault on Python 3.13 + macOS ARM64
DxTa Jun 30, 2026
1f7ca00
feat: add dynamic git memory system with on-demand file history, blas…
DxTa Jun 30, 2026
27ffa14
feat: multi-repo fan-out indexing + embed daemon auto-start
DxTa Jun 30, 2026
0f95afa
fix: numpy shape mismatch in brute-force vector search + indexing speed
DxTa Jun 30, 2026
b7d43aa
fix: store multi-repo indexes under workspace .sia-code/repos/ + cras…
DxTa Jun 30, 2026
34d5f8b
fix: dynamic multi-repo timeouts + aggregate status
DxTa Jun 30, 2026
928f62a
perf: speed up heavy multi-repo indexing with chunk-aware policy
DxTa Jun 30, 2026
7fc74a9
perf: add bounded fan-out concurrency for multi-repo indexing
DxTa Jun 30, 2026
5c52813
perf: add CVAT-specific indexing policy and repo profiles
DxTa Jun 30, 2026
0658c36
perf: add profile-specific chunk sizing for heavy repos
DxTa Jun 30, 2026
bc00706
perf: accelerate heavy-repo indexing with selective semantic budget
DxTa Jun 30, 2026
254bc38
tune: raise heavy-profile semantic vector budgets
DxTa Jun 30, 2026
89534b4
fix: restore multi-repo search and research results
DxTa Jun 30, 2026
b1c1a0f
feat: improve budgeted semantic selection and research query rewrites
DxTa Jun 30, 2026
144c63f
perf: apply fast indexing baseline to all repos by default
DxTa Jun 30, 2026
ecef62f
fix: improve research rewrite flow and address PR feedback
DxTa Jul 1, 2026
45737dd
feat: repo-aware ranking for workspace search/research
DxTa Jul 1, 2026
e016bcd
fix: force Rich console output in non-TTY environments and fix table …
DxTa Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .pi/tasks/tasks-019f173a-fbb0-7341-9b39-2eb5ca609684.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"nextId": 18,
"tasks": []
}
65 changes: 65 additions & 0 deletions scripts/bench_heavy_repo_indexing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
from __future__ import annotations

import json
import shutil
import sys
import time
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))

from sia_code.cli import create_backend
from sia_code.config import Config
from sia_code.indexer.coordinator import IndexingCoordinator
from sia_code.storage.multi_repo import (
build_repo_config,
estimate_chunks,
estimate_indexable_files,
estimate_semantic_vectors,
recommend_repo_timeout_seconds,
)


def bench_repo(repo_name: str) -> dict:
repo = Path.home() / 'dev' / 'ai.platform' / repo_name
out = Path.home() / 'dev' / 'ai.platform' / '.sia-code' / 'bench' / repo_name
if out.exists():
shutil.rmtree(out)
out.mkdir(parents=True, exist_ok=True)

cfg = build_repo_config(Config(), repo.name)
cfg.save(out / 'config.json')
files = estimate_indexable_files(repo, cfg)
chunks = estimate_chunks(repo, cfg)
vectors = estimate_semantic_vectors(repo, cfg)
timeout = recommend_repo_timeout_seconds(files, vectors)

backend = create_backend(out, cfg, suppress_stdout_notices=True)
backend.create_index()
coord = IndexingCoordinator(cfg, backend)
t0 = time.time()
stats = coord.index_directory(repo)
elapsed = time.time() - t0
backend.close()
return {
'repo': repo_name,
'model': cfg.embedding.model,
'dims': cfg.embedding.dimensions,
'granularity': cfg.embedding.granularity,
'max_vectors_per_file': cfg.embedding.max_vectors_per_file,
'files': files,
'chunks': chunks,
'vectors': vectors,
'timeout': timeout,
'elapsed_s': round(elapsed, 2),
'stats': stats,
}


if __name__ == '__main__':
repos = sys.argv[1:] or [
'ai.platform.forks.ai-toolkit',
'ai.platform.annotation-suite.cvat',
]
for repo_name in repos:
print(json.dumps(bench_repo(repo_name)), flush=True)
Loading
Loading