docs: add ADR-0011 (KubeRay), ADR-0012 (uv), update architecture docs

This commit is contained in:
2026-02-02 07:10:47 -05:00
parent b6f7605fab
commit 598875c5a9
6 changed files with 438 additions and 35 deletions

View File

@@ -36,13 +36,19 @@ handler-base/ # Shared library for all handlers
│ ├── health.py # K8s probes
│ ├── telemetry.py # OpenTelemetry
│ └── clients/ # Service clients
├── tests/
└── pyproject.toml
chat-handler/ # Text chat service
voice-assistant/ # Voice pipeline service
├── {name}.py # Standalone version
├── {name}_v2.py # Handler-base version (preferred)
── Dockerfile.v2
pipeline-bridge/ # Workflow engine bridge
├── {name}.py # Handler implementation (uses handler-base)
── pyproject.toml # PEP 621 project metadata (see ADR-0012)
├── uv.lock # Deterministic lock file
├── tests/
│ ├── conftest.py
│ └── test_{name}.py
└── Dockerfile
argo/ # Argo WorkflowTemplates
├── {workflow-name}.yaml
@@ -59,6 +65,29 @@ kuberay-images/ # GPU worker images
## Python Conventions
### Package Management (ADR-0012)
Use **uv** for local development and **pip** in Docker for reproducibility:
```bash
# Install uv (one-time)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and install
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
# Or use uv sync with lock file
uv sync
# Update lock file after changing pyproject.toml
uv lock
# Run tests
uv run pytest
```
### Project Structure
```python