Praxis CI
|
f2a12f9fed
|
docs(milestone): complete v0.4-operator-tier — v0.1.9 tagged, milestone release, merged to main
v0.4 (Operator Tier — Cohort Dashboard + Auth + Postgres) milestone complete.
Phases:
✓ P0 pre-execution (planning) → v0.1.6
✓ P1 operator foundation (Postgres+auth+VC migration) → v0.1.7
✓ P2 cohort dashboard + aggregation → v0.1.8
✓ P3 final review + ship → v0.1.9 (= v0.4 milestone release)
Requirements covered (8/8):
REQ-MT-01 (Postgres store), REQ-MT-02 (aggregation pipeline),
REQ-AUTH-01 (operator auth), REQ-DASH-01 (cohort dashboard),
REQ-NFR-AUTH-01 (auth NFRs), REQ-NFR-MT-01 (Postgres-in-LXC),
REQ-NFR-DASH-01 (k-anonymity ≥10), REQ-NFR-DASH-02 (freshness ≤24h)
Grill MUSTs honored (6/6): G-008, G-011, G-027, G-031, G-038, G-041
Tests: 317 pytest pass, 36 skip (Postgres-requiring), 0 fail; 17/17 vitest pass
Review: APPROVE_WITH_NOTES (6/6 personas, 0 P0, 8 P1+ carry-forward)
Audit: HEALTHY (reconstruction PASS, 8/8 REQ, 6/6 grill)
---ci---
project: praxis
phase: 3
milestone: v0.4
status: complete
phase_role: final
milestone_complete: true
milestone_merged_to_main: true
tag: v0.1.9
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:44 +00:00 |
|
Praxis CI
|
93d33ecb0c
|
feat(P01): SLICE-08+09+10 — secret wiring, bats tests (121), e2e verification
SLICE-08 (devops-engineer): .env.example updated with Proxmox deployment
vars (documented, sourced from ~/coreci/.env.secrets per D-026),
PRAXIS_CLIENT_DIST for StaticFiles, PRAXIS_SCENARIO. config.json
secrets.scopes already extended in SPECIFY (proxmox + voice scopes).
SLICE-09 (devops-engineer): 10 bats test files (G-106 fix: 10 not 9)
covering all proxmox scripts — 121 tests, 114 pass + 7 skipped (e2e).
Mocked curl/pct/ssh; no live cluster needed for unit tests.
SLICE-10 (devops-engineer): e2e-deploy.sh — sources secrets from both
coreci + praxis .env.secrets, runs full deploy, verifies /health +
client HTML serving. REQ-DEPLOY-15 covered.
All 6 grill binding decisions addressed:
G-101 MUST: GITEA_TOKEN baked into snippet (stage-snippet.sh)
G-102 MUST: PRAXIS_DB_PATH env read (db/store.py + db/migrate.py)
G-103 FIX: all 16 env vars in injection list (install-service.sh)
G-104 FIX: health-check timeout 600s (health-check.sh)
G-105 FIX: Dockerfile copy ordering (pyproject before source)
G-106 FIX: bats test count = 10
REQ-DEPLOY-12, 14, 15 covered. All 20 REQ-IDs now implemented.
---ci---
project: praxis
phase: 1
milestone: v0.2
status: execute
slice: 08-10
wave: 4
---/ci---
|
2026-08-03 18:17:40 +00:00 |
|
Praxis CI
|
0df1ec391a
|
docs(P00): create phase 1 plan — 10 slices, 4 waves, 34 tasks, 20/20 REQ coverage
PLAN.md: 998 lines (vertical-slice plan with wave ordering)
.gitignore: fix .env.example being ignored by .env.* pattern (D-038)
Wave 1: Dockerfile + docker-compose.yml + .dockerignore | FastAPI StaticFiles mount
Wave 2: PVE API layer (8 scripts) | health-check.sh
Wave 3: firstboot-hook.sh | install-service.sh + praxis.service | lxc-deploy.sh
Wave 4: secret wiring + .env.example | bats tests (11 files) | E2E verification
Persona load: devops-engineer 15 tasks, lead-developer 4, backend 4, data 2, frontend 0 (deactivated)
---ci---
project: praxis
phase: 0
milestone: v0.2
status: plan
---/ci---
|
2026-08-01 14:01:46 +00:00 |
|