This repository has been archived on 2026-09-12 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
93d33ecb0c03eb3a10a7380e51ed871a918caa9e
SLICE-08 (devops-engineer): .env.example updated with Proxmox deployment vars (documented, sourced from ~/coreci/.env.secrets per D-026), PRAXIS_CLIENT_DIST for StaticFiles, PRAXIS_SCENARIO. config.json secrets.scopes already extended in SPECIFY (proxmox + voice scopes). SLICE-09 (devops-engineer): 10 bats test files (G-106 fix: 10 not 9) covering all proxmox scripts — 121 tests, 114 pass + 7 skipped (e2e). Mocked curl/pct/ssh; no live cluster needed for unit tests. SLICE-10 (devops-engineer): e2e-deploy.sh — sources secrets from both coreci + praxis .env.secrets, runs full deploy, verifies /health + client HTML serving. REQ-DEPLOY-15 covered. All 6 grill binding decisions addressed: G-101 MUST: GITEA_TOKEN baked into snippet (stage-snippet.sh) G-102 MUST: PRAXIS_DB_PATH env read (db/store.py + db/migrate.py) G-103 FIX: all 16 env vars in injection list (install-service.sh) G-104 FIX: health-check timeout 600s (health-check.sh) G-105 FIX: Dockerfile copy ordering (pyproject before source) G-106 FIX: bats test count = 10 REQ-DEPLOY-12, 14, 15 covered. All 20 REQ-IDs now implemented. ---ci--- project: praxis phase: 1 milestone: v0.2 status: execute slice: 08-10 wave: 4 ---/ci---
Praxis — v0.1 Foundation
Voice-first AI apprenticeship platform. v0.1 is a tech-validation harness (per G-008) for the minimal viable voice loop: a single learner speaks to an AI tutor playing a Customer Service role-play scenario, hears a <600ms-latency response, receives an end-of-session coaching debrief, and has the session logged to SQLite.
Status
Phase 1 (minimal viable voice loop) — code-complete, pending live API keys for runtime verification.
Stack
- Orchestration: Pipecat (D-017) with Silero VAD + interruptibility
- ASR: Deepgram Nova-3 streaming (D-013)
- LLM: Ollama Cloud direct API (D-020) —
gemma4:cloud(role-play) +deepseek-v4-flash:cloudno-think (debrief) - TTS: Cartesia Sonic (primary, D-014) / Piper (self-hosted, R4 mitigation) — behind an interface
- Client: React + Vite + WebRTC (Pipecat client SDK, D-015)
- State: SQLite
praxis.db(D-007, single hardcoded learner, no auth)
Layout
server/ Pipecat pipeline, services (TTS/LLM/Guardrail interfaces), scenario runtime, adapters
client/ React + Vite + WebRTC learner surface
scenarios/ YAML scenario definitions (D-018)
db/ SQLite schema, migrations, async store
scripts/ Latency probes (R1-R4), e2e smoke
tests/ Unit + e2e
docs/ Latency report, debrief templates
Quickstart
- Copy
.env.example→.env, fill inDEEPGRAM_API_KEY,CARTESIA_API_KEY,OLLAMA_API_KEY. - Install server deps:
pip install -e ".[dev]" - Install client deps:
cd client && npm install - Run probes:
python scripts/probe_deepgram.py(etc.) - Run server:
python -m server - Run client:
cd client && npm run dev
See docs/latency-report.md for the R1-R4 spike status and TTS decision.
Description
Praxis v0.1 — voice-first AI apprenticeship platform: AI tutor role-play with sub-600ms latency, coaching debriefs, SQLite logging.
Releases
15
Languages
Python
81.4%
Shell
13.8%
TypeScript
4.3%
CSS
0.3%
Dockerfile
0.2%