Skip to content

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

Proposed runtime inversion, graph resume and RL relocation diagrams live in their FEPs,
linked from runtime change status.