# Praxis — Roadmap **Milestone:** v0.1 (foundation) **Status:** complete ## Milestone Philosophy v0.1 is the **foundation milestone** — it establishes the minimal viable voice loop (one persona, one scenario, ASR+TTS+LLM round-trip, single learner state). v1.0 is reserved for a working, tested product and is a future milestone. ## v0.1 Phases (2 phases) ### Phase 0 — Pre-Execution (complete) **Branch:** `phase/00-pre-execution` → merged to `milestone/v0.1-praxis` **Ship target:** `v0.0.0` (patch release, NFR milestone type — docs-only) **Status:** ✓ complete (tagged v0.0.0; release pending — Gitea repo not yet created) Pipeline stages: SPECIFY → CLARIFY → RESEARCH → PLAN → GRILL **Goal:** Produce all `.ciagent/` planning artifacts, validated requirements, research-grounded architecture, and persona-assigned vertical-slice plans for Phase 1. **Deliverables:** - PROJECT.md (validated) - REQUIREMENTS.md (formal REQ-IDs) - ARCHITECTURE.md (research-refined) - PERSONAS.md (persona roster + territory) - Phase 1 plan (vertical slices with wave ordering) ### Phase 1 — Minimal Viable Voice Loop (complete) **Branch:** `phase/01-minimal-voice-loop` → merged to `milestone/v0.1-praxis` **Ship target:** `v0.0.1` (patch release, feature milestone type) **Status:** ✓ complete (tagged v0.0.1; release pending — Gitea repo not yet created) **Goal:** A single learner can open the client, speak to an AI tutor playing a Customer Service role-play scenario, hear the tutor respond with <600ms round-trip latency, and have the session logged to learner state. **Implemented (5 slices, 3 waves, 26 tasks, 22 commits):** 1. SLICE-01 — Latency spike probes (R1-R4) + report 2. SLICE-02 — Thin vertical voice loop (walking skeleton: Pipecat + Deepgram + Cartesia/Piper + Ollama Cloud + React/WebRTC) 3. SLICE-03 — Branching scenario (YAML→Pydantic→Pipecat Flows) + guardrails + interruptibility 4. SLICE-04 — SQLite learner state + per-session cost logging 5. SLICE-05 — Coaching debrief (deepseek-v4-flash no-think) + full React client UX + e2e smoke **Verification:** 73 tests pass, 9 skipped (pending live API keys), 0 failed. 15/15 P1 REQ-IDs covered. 2 P0 fixes applied. 6 P1+ flagged for post-hoc review. ### Final Phase (P2) — Review + Ship (complete) **Branch:** `phase/02-final-review-ship` → merged to `milestone/v0.1-praxis` → merged to `main` **Ship target:** final patch = v0.1 milestone release **Status:** ✓ complete (review APPROVE_WITH_NOTES, audit HEALTHY) **Goal:** Multi-persona code review, project audit, milestone merge to main, milestone release. **Outcome:** 0 P0 issues (2 from VERIFY confirmed in place), 9 P1+ flagged for post-hoc review, 0 escalations. Audit HEALTHY (0 critical, 3 cosmetic warnings fixed). 15/15 REQ-IDs verified. ## Future Milestones (post-v0.1, indicative) | Milestone | Scope (indicative) | |-----------|-------------------| | v0.2 | Mastery scoring + competency rubrics for the Customer Service path | | v0.3 | Second scenario + second persona; Drill Mode | | v0.4 | Live Assist on-the-job companion | | v0.5 | Low-bandwidth surfaces (WhatsApp, offline cache) | | v0.6 | Multi-language (French-Canadian, then PRD's 10-language list) | | v0.7 | Employer / program dashboard | | v0.8 | Credentialing (verifiable, shareable) | | v0.9 | USSD fallback, feature-phone support | | v1.0 | Working, tested product — multiple paths, multi-market, production-ready | These are indicative and will be refined by ci-roadmapper at the start of each milestone. ## Requirement Coverage (v0.1 final — verified) | REQ-ID | Phase | Status | |--------|-------|--------| | REQ-VOICE-01 | P1 | ✓ covered | | REQ-VOICE-02 | P1 | ✓ covered | | REQ-VOICE-03 | P1 | ✓ covered (probe built; live number pending keys) | | REQ-VOICE-04 | P1 | ✓ covered | | REQ-SCEN-01 | P1 | ✓ covered | | REQ-STATE-01 | P1 | ✓ covered | | REQ-LLM-01 | P1 | ✓ covered (live call pending keys) | | REQ-LLM-02 | P1 | ✓ covered (live call pending keys) | | REQ-DEBRIEF-01 | P1 | ✓ covered | | REQ-ORCH-01 | P1 | ✓ covered | | REQ-ORCH-02 | P1 | ✓ covered | | REQ-SCEN-FMT-01 | P1 | ✓ covered | | REQ-NFR-LAT-01 | P1 | ✓ covered (probe built; live number pending keys) | | REQ-NFR-COST-01 | P1 | ✓ covered (logging) | | REQ-NFR-SAFE-01 | P1 | ✓ covered (baseline) |