fbd6602814
---ci--- phase: 0 milestone: v0.1 status: complete ---/ci---
90 lines
4.3 KiB
Markdown
90 lines
4.3 KiB
Markdown
# 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) | |