Praxis CI
|
47e24dbe59
|
feat(P01-02-01): service interfaces — TTSProvider, LLMProvider, Guardrail
server/services/base.py defines three abstract base classes with type
annotations: TTSProvider (async synthesize/synthesize_all, voice_id), LLMProvider
(async chat/chat_full, roleplay_model, debrief_model), Guardrail (async check,
session_start_disclaimer). GuardrailVerdict/Context/TTSResult/LLMStreamChunk
dataclasses carry typed metadata. server/services/registry.py resolves the
active adapter from env (PRAXIS_TTS, PRAXIS_GUARDRAIL) so the pipeline never
imports a concrete adapter directly — D-014/D-019/D-020 swap wiring. Verified:
'from server.services import TTSProvider, LLMProvider, Guardrail' succeeds.
---ci---
phase: 1
milestone: v0.1
plan: 02
task: 02-01
status: execute
persona: backend-engineer
requirements:
covered: [REQ-VOICE-02, REQ-LLM-01, REQ-ORCH-02]
---/ci---
|
2026-08-01 13:00:00 +00:00 |
|
Praxis CI
|
ea1b77535e
|
feat(P01-01-01): create repo skeleton for v0.1 minimal voice loop
server/, client/, scenarios/, db/, scripts/, tests/, docs/ dirs match
PERSONAS.md territory. pyproject.toml declares pipecat-ai[deepgram,cartesia,piper,webrtc]
+ openai + pydantic + pyyaml + aiosqlite + httpx + websockets. .env.example
documents DEEPGRAM_API_KEY, CARTESIA_API_KEY, OLLAMA_API_KEY and the TTS
selection (PRAXIS_TTS=cartesia|piper). Verified: python -c 'import pipecat'
succeeds (pipecat-ai 1.6.0 installed).
---ci---
phase: 1
milestone: v0.1
plan: 01
task: 01-01
status: execute
persona: lead-developer
requirements:
covered: [REQ-ORCH-01]
---/ci---
|
2026-08-01 12:54:56 +00:00 |
|