---ci--- phase: 2 milestone: v0.1 status: complete requirements: covered: [REQ-VOICE-01, REQ-VOICE-02, REQ-VOICE-03, REQ-VOICE-04, REQ-SCEN-01, REQ-STATE-01, REQ-LLM-01, REQ-LLM-02, REQ-DEBRIEF-01, REQ-ORCH-01, REQ-ORCH-02, REQ-SCEN-FMT-01, REQ-NFR-LAT-01, REQ-NFR-SAFE-01, REQ-NFR-COST-01] partial: [] ---/ci---
4.3 KiB
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):
- SLICE-01 — Latency spike probes (R1-R4) + report
- SLICE-02 — Thin vertical voice loop (walking skeleton: Pipecat + Deepgram + Cartesia/Piper + Ollama Cloud + React/WebRTC)
- SLICE-03 — Branching scenario (YAML→Pydantic→Pipecat Flows) + guardrails + interruptibility
- SLICE-04 — SQLite learner state + per-session cost logging
- 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) |