Victor Tech Stack¶
Canonical reference for technology choices. System ownership and import rules live in
Architecture; work status lives in the Roadmap.
Version: 0.14.0 | Last reviewed: 2026-09-17
Technology stack¶
Dependency ranges below come from the root pyproject.toml; they are install requirements,
not a claim that these are the newest upstream releases. Optional extras remain optional.
| Concern | Technology / declared dependency | Implementation |
|---|---|---|
| Runtime | Python 3.12+, asyncio | victor/ |
| Contracts | victor-contracts>=0.9.2,<1.0; separately released SDK |
victor-contracts/ |
| Models and settings | Pydantic and pydantic-settings >=2.0 | victor/config/ |
| Typed provider transport | sandhi-gateway==0.13.0 |
victor/providers/ |
| Python HTTP interfaces | httpx>=0.27, aiohttp>=3.14.3 |
Provider and integration adapters |
| CLI | typer>=0.15,<0.28, rich>=13.7, prompt-toolkit |
victor/ui/cli.py, victor/ui/ |
| Interactive TUI | textual>=0.89 |
victor/ui/tui/ |
| Token counting | tiktoken>=0.7, optional native BpeTokenizer |
victor/processing/, rust/ |
| YAML and Git | pyyaml>=6.0, system Git executable |
Workflow loading and subprocess-based Git operations |
| Code analysis | tree-sitter>=0.23, optional language grammars |
victor-codegraph/, victor/core/ |
| Numeric support | numpy>=1.24,<2.5 |
Processing and retrieval helpers |
| Semantic index | Optional lancedb>=0.6.0 |
victor/storage/ |
| ProximaDB integration | Optional proximadb>=0.3,<0.4 |
victor/storage/graph/, victor/storage/vector_stores/ |
Providers and surfaces¶
The provider registry and provider comparison describe
capabilities; provider support tiers describe support
commitments. The transport boundary is Sandhi for admitted providers, with Victor-specific
adapters for other execution models. Installed Anthropic/OpenAI SDK dependencies do not imply
that every adapter directly owns HTTP transport.
| Surface | Technology | Location |
|---|---|---|
| CLI and REPL | Typer, Rich, prompt-toolkit | victor/ui/ |
| Live TUI | Textual | victor/ui/tui/ |
| HTTP API | Optional FastAPI / Uvicorn | victor/integrations/api/fastapi_server.py |
| MCP | FastMCP integration | victor/integrations/mcp/ |
| Editor extension | TypeScript | vscode-victor/ |
Native extensions¶
The Rust workspace contains victor-protocol, victor-state, victor-tools,
victor-edge, and the victor_native Python bindings. Native processing paths provide
Python fallbacks; the required native-parity job checks matching behavior with the built extension.
Use the canonical native build instructions.
The architecture native section describes ownership.
Language and verification tools¶
| Concern | Tool / policy |
|---|---|
| Formatting | Black, 100-character Python line length |
| Linting | Ruff; repository configuration is in pyproject.toml |
| Type checking | Mypy with an advisory broad job and required strict checks for selected scopes |
| Tests | pytest, pytest-asyncio, respx for HTTP mocks |
| CI | ci-fast.yml aggregate on development PRs; main-targeting promotion tests use 3 Python versions × 12 shards |
| Docs | MkDocs Material, mkdocstrings, Mermaid diagrams |
| Native build | maturin / Cargo |
| Task entry points | Make and pre-commit |
Commands and environment setup belong in Development Setup,
including the documentation build.
See PR Workflow for the authoritative gate and branch policy.
Dependency map¶
The canonical layer architecture and
layer rules describe dependencies and guard coverage.
Vertical definition files use victor_contracts; runtime extension allowances and outstanding
boundary-audit work are described by the SDK boundary.
Infrastructure¶
Database scope, paths, and storage ownership are documented once in
Database Architecture. SQLite stores global and
project state; undo history has its own database to avoid indexer write-lock contention.
LanceDB and the optional ProximaDB backends serve different retrieval configurations.
The ProximaDB backend design distinguishes
implemented opt-in capabilities from remaining default-graduation work.
Technical debt register¶
The complete register, including TD namespaces, current statuses and historical planning
notes, moved to the canonical roadmap register.
Existing links to this section continue to resolve.
Resolved debt¶
See resolved debt in the same register. Historical resolutions
remain visible alongside reopened items; they are not duplicated here.
Architectural constraints¶
See architecture layer rules and the linked guard tests.
The canonical gate descriptions live in PR Workflow.
Build verification¶
Follow Development Setup and the
testing guide for checks appropriate to the affected component.
Architecture and delivery diagrams¶
- System layering and guards
- Unified streaming loop
- Single workflow engine
- SQLite worker and workflow persistence
- Release trains
- CI gates
Proposed runtime inversion, graph resume and RL relocation diagrams live in their FEPs,
linked from runtime change status.