docs(P01): phase 1 complete — v0.0.1 tagged, release pending

---ci---
phase: 1
milestone: v0.1
status: complete
escalation:
  resolution: auto
  type: release_pending
  reason: Gitea repo coreci/praxis does not exist (HTTP 404); tag+merge succeeded; release retries at milestone ship
---/ci---
This commit is contained in:
Praxis CI
2026-08-01 13:29:03 +00:00
parent b77536aa5e
commit 97f6cf17ba
2 changed files with 16 additions and 13 deletions
+4 -4
View File
@@ -1,10 +1,10 @@
{
"phase": 0,
"phase": 1,
"stage": "complete",
"milestone": "v0.1",
"phase_role": "pre_execution",
"phase_role": "execution",
"attempts": 0,
"updated_at": "2026-08-01T00:04:00Z",
"updated_at": "2026-08-01T00:05:00Z",
"release_status": "pending",
"release_reason": "Gitea repo coreci/praxis does not exist (HTTP 404). Tag+merge succeeded locally. Release will retry at milestone completion once remote repo is created."
"release_reason": "Gitea repo coreci/praxis does not exist (HTTP 404). Tag+merge succeeded locally. Release will retry at milestone ship."
}
+12 -9
View File
@@ -26,19 +26,22 @@ Pipeline stages: SPECIFY → CLARIFY → RESEARCH → PLAN → GRILL
- PERSONAS.md (persona roster + territory)
- Phase 1 plan (vertical slices with wave ordering)
### Phase 1 — Minimal Viable Voice Loop
### Phase 1 — Minimal Viable Voice Loop (complete)
**Branch:** `phase/01-minimal-voice-loop` (to be created at EXECUTE)
**Ship target:** patch release
**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.
**Vertical slices (to be refined by ci-planner):**
1. LLM foundation wiring — Ollama `gemma4:cloud` + `deepseek-v4-flash:cloud` callable, streaming first-token <200ms
2. ASR + TTS round-trip — streaming, interruptible, one voice persona
3. Scenario runtime — one branching Customer Service scenario (Canada context) with failure-injection hook
4. Learner state session log, single learner, local persistence
5. Client harness — minimal UI/harness exercising the full loop end-to-end
**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