This repository has been archived on 2026-09-12. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
praxis/.ciagent/ROADMAP.md
Praxis CI bcdb27e96c docs(milestone): merge phase/03 final-review-ship → milestone/v0.4-operator-tier
Final phase complete — v0.4 milestone review + audit:
- Multi-persona review: APPROVE_WITH_NOTES (6/6 PASS, 0 P0, 8 P1+ carry-forward)
- Audit: HEALTHY (reconstruction PASS, file/branch/commit discipline PASS, 8/8 REQ, 6/6 grill MUSTs)
- 4 stale-status drift fixes applied

---ci---
project: praxis
phase: 3
milestone: v0.4
status: complete
phase_role: final
requirements:
  covered: [REQ-MT-01, REQ-MT-02, REQ-AUTH-01, REQ-DASH-01, REQ-NFR-AUTH-01, REQ-NFR-MT-01, REQ-NFR-DASH-01, REQ-NFR-DASH-02]
  partial: []
---/ci---
2026-08-04 11:58:36 +00:00

9.4 KiB

Praxis — Roadmap

Milestone: v0.4 (Operator tier — cohort dashboard, auth, Postgres) — active Status: phase 3 — final review (active milestone); P0-P2 complete (v0.1.6/v0.1.7/v0.1.8 tagged) Previous milestone: v0.3 (Mastery scoring + competency rubrics + verifiable credentials) — complete, tagged v0.1.5, release #380, merged to main

Milestone Philosophy

v0.4 activates the operator tier deferred from v0.3 per the grill's binding verdict (GRILL-v0.3.md Axis 2 — the operator tier was originally v0.8 on this roadmap; pulling it into v0.3 created a 2-milestone program disguised as one). v0.4 layers the operator surface on top of the v0.3 mastery/VC/scenario work: a Postgres store in the existing LXC CT, operator auth (argon2id session cookies), a cohort aggregation pipeline (k-anonymity ≥ 10, 7-day windows), and a React cohort dashboard served by the same FastAPI server. The learner-facing surface carries forward unchanged (SQLite, voice loop, mastery gates, VC issuance). The VC issuer key store migrates from SQLite to operator-tier Postgres + secrets (D-042).

v0.4 Phases

Phase 0 — Pre-Execution (complete — tagged v0.1.6, release created)

Branch: phase/00-pre-execution → merged to milestone/v0.4-operator-tier Ship target: v0.1.6 (patch release on v0.3's v0.1.x line — NFR/docs milestone type) Status: complete (v0.1.6 tagged, Gitea release created)

Pipeline stages: SPECIFY → CLARIFY → RESEARCH → PLAN → GRILL → SHIP

Goal: Produce all .ciagent/ planning artifacts for v0.4: activated requirements (REQ-MT-01/02, REQ-AUTH-01, REQ-DASH-01 + 4 NFRs), research-grounded Postgres-in-LXC + k-anonymity + argon2id + React-dashboard architecture, persona roster (frontend-engineer + data-engineer reactivated, security-engineer retained), vertical-slice plan for P1/P2.

Deliverables:

  • PROJECT.md (v0.4 scope validated; operator tier activated)
  • REQUIREMENTS.md (v0.4 active REQ-IDs = 8; v0.3 marked complete)
  • ARCHITECTURE.md (operator Postgres + auth + cohort dashboard + aggregation pipeline added to v0.3 topology)
  • PERSONAS.md (v0.4 roster — frontend-engineer + data-engineer reactivated for dashboard + Postgres; security-engineer retained for auth/crypto; devops-engineer for Postgres-in-LXC)
  • GRILL-v0.4.md (adversarial review — auth + PII surface warrants grill)
  • Phase 1 + Phase 2 plans (vertical slices with wave ordering)

Phase 1 — Operator Foundation (Postgres + Auth) (complete — tagged v0.1.7, release created)

Branch: phase/01-operator-foundation → merged to milestone/v0.4-operator-tier Ship target: v0.1.7 (patch release, feature milestone type) Status: complete (v0.1.7 tagged, Gitea release created; 272 pass, 33 skip, 0 fail; 5/5 REQ covered; APPROVE_WITH_NOTES, 4 P1+ flagged)

Goal: Operator-tier Postgres 16 running as a second Docker service in the existing LXC CT (internal network only), operator auth (argon2id session cookies, single operator role, login rate-limited), VC issuer key store migrated to Postgres + secrets. Foundation for the cohort dashboard in P2. No UI yet — API + DB + auth only.

Phase 2 — Cohort Dashboard + Aggregation (complete — tagged v0.1.8, release created)

Branch: phase/02-cohort-dashboard → merged to milestone/v0.4-operator-tier Ship target: v0.1.8 (patch release, feature milestone type) Status: complete (v0.1.8 tagged, Gitea release created; 317 pass, 36 skip, 0 fail; 4/4 REQ covered; APPROVE_WITH_NOTES, 4 P1+ flagged)

Goal: Cohort aggregation pipeline (on-session-end hook + nightly reconciliation, k-anonymity ≥ 10, 7-day windows) + React cohort dashboard under /operator/* (served by same FastAPI, reuses v0.2 StaticFiles) + /api/operator/* endpoints (auth-gated). Dashboard shows anonymized practice/mastery/failure-pattern views with cells < 10 learners suppressed.

Final Phase (P3) — Review + Ship (planned)

Branch: phase/03-final-review-ship → merged to milestone/v0.4-operator-tier → merged to main Ship target: final patch = v0.4 milestone release Status: planned

Goal: Multi-persona code review, project audit, milestone merge to main, milestone release.

v0.3 Milestone (complete — released as v0.1.5, reference)

Phase 0 — Pre-Execution (complete — tagged v0.1.3, release #378)

Branch: phase/00-pre-execution → merged to milestone/v0.3-mastery-scoring Ship target: v0.1.3 (patch release, NFR milestone type — docs/planning only) Status: complete (v0.1.3 tagged, Gitea release #378 created)

Pipeline stages: SPECIFY → CLARIFY → RESEARCH → PLAN → GRILL → SHIP

Goal: Produce all .ciagent/ planning artifacts for v0.3: activated requirements (REQ-MAST-01/02/03, REQ-SCEN-02/03/04, REQ-PATH-02 + 6 NFRs), research-grounded rubric/VC/IRT/architecture, persona roster, vertical-slice plan for P1. Operator tier (REQ-DASH-01, REQ-AUTH-01, REQ-MT-01/02 + 4 NFRs) deferred to v0.4 per grill.

Deliverables:

  • PROJECT.md (v0.3 scope validated, D-031..D-049 recorded; operator tier deferred)
  • REQUIREMENTS.md (v0.3 active REQ-IDs = 13; 8 deferred to v0.4)
  • ARCHITECTURE.md (mastery engine + VC issuer + IRT added to v0.2 topology; operator-tier Postgres deferred to v0.4)
  • PERSONAS.md (v0.3 roster — security-engineer added for VC crypto; frontend + devops deactivated)
  • GRILL-v0.3.md (4 MUST conditions resolved, 5 FIX tracked)
  • Phase 1 plan (9 slices, 5 waves, ~40 tasks, 13/13 REQ coverage)

Phase 1 — Mastery Core + VC Issuance (complete — tagged v0.1.4, release #379)

Branch: phase/01-mastery-core → merged to milestone/v0.3-mastery-scoring Ship target: v0.1.4 (patch release, feature milestone type) Status: complete (v0.1.4 tagged, Gitea release #379 created; 13/13 REQ covered, 4/4 grill MUSTs satisfied)

Goal: Competency rubric engine + Mastery Score computation + scenario library (≥6 CS scenarios) + dynamic difficulty (IRT) + Customer Service path (6 weeks) + verifiable-credential issuer (W3C VC 2.0, Ed25519, SQLite-backed, formative-tier, public verification). All learner-facing. 9 slices, 5 waves, ~40 tasks.

Final Phase (P2) — Review + Ship (complete — tagged v0.1.5, release #380, merged to main)

Branch: phase/02-final-review-ship → merged to milestone/v0.3-mastery-scoring → merged to main Ship target: final patch = v0.3 milestone release Status: complete (v0.1.5 tagged, Gitea release #380 created, merged to main; review APPROVE_WITH_NOTES, audit HEALTHY)

Goal: Multi-persona code review, project audit, milestone merge to main, milestone release.

v0.2 Milestone (complete — reference)

Phase 0 — Pre-Execution (complete — tagged v0.1.0, release #371)

Branch: phase/00-pre-execution → merged to milestone/v0.2-lxc-deploy Ship target: v0.1.0 (patch release, NFR milestone type — docs/planning only) Status: complete (v0.1.0 tagged, Gitea release #371 created)

Pipeline stages: SPECIFY → CLARIFY → RESEARCH → PLAN → GRILL

Goal: Produce all .ciagent/ planning artifacts for v0.2: validated requirements (REQ-DEPLOY-01..16), research-grounded Docker-in-LXC architecture, persona-assigned vertical-slice plans for Phase 1.

Deliverables:

  • PROJECT.md (v0.2 scope validated)
  • REQUIREMENTS.md (16 REQ-DEPLOY IDs + 4 NFR-DEPLOY IDs)
  • ARCHITECTURE.md (deployment topology: Docker-in-LXC, image distribution, secret injection)
  • PERSONAS.md (updated roster for deploy-heavy milestone)
  • Phase 1 plan (vertical slices with wave ordering)

Phase 1 — LXC Deploy Implementation (complete — tagged v0.1.1, release #374)

Branch: phase/01-lxc-deploy → merged to milestone/v0.2-lxc-deploy Ship target: v0.1.1 (patch release, feature milestone type) Status: complete (v0.1.1 tagged, Gitea release #374 created; 121 bats + 77 pytest passing; 18/20 REQ covered, 2 deferred live-E2E)

Goal: A working lxc-deploy.sh orchestrator that clones a Debian template from the Proxmox cluster, configures the CT with Docker + nesting, builds/loads the praxis Docker image on first boot, starts the service via systemd, and health-checks /health :8789 — all idempotent with rollback on failure.

Final Phase (P2) — Review + Ship (complete — tagged v0.1.2, release #377, merged to main)

Branch: phase/02-final-review-ship → merged to milestone/v0.2-lxc-deploy → merged to main Ship target: final patch = v0.2 milestone release Status: complete (v0.1.2 tagged, Gitea release #377 created, merged to main)

Goal: Multi-persona code review, project audit, milestone merge to main, milestone release.

v0.1 Milestone (complete — reference)

v0.1 was the foundation milestone — minimal viable voice loop (one persona, one scenario, ASR+TTS+LLM round-trip, single learner state). Shipped as v0.0.0 (phase 0) → v0.0.1 (phase 1) → v0.0.2 (final/milestone release).

Future Milestones (post-v0.4, indicative)

Milestone Scope (indicative)
v0.5 Live Assist on-the-job companion
v0.6 Low-bandwidth surfaces (WhatsApp, offline cache)
v0.7 Multi-language (French-Canadian, then PRD's 10-language list)
v0.8 Full operator-suite dashboard (REQ-DASH-02 — beyond v0.4's foundational cohort view)
v0.9 Credentialing (third-party verifiable, shareable)
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.