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/config.json
T
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

114 lines
3.0 KiB
JSON

{
"projects": [
{
"slug": "praxis",
"name": "Praxis",
"milestone": "v0.4",
"status": "active"
}
],
"active_project": "praxis",
"active_projects": ["praxis"],
"autonomy": {
"level": "full",
"escalation_hooks": ["deploy", "delete_data", "merge_to_main"],
"clarify_budget": 10,
"decision_confidence_threshold": 0.6,
"max_revision_iterations": 3,
"max_verification_retries": 2,
"escalation_timeout_ms": 300000
},
"model_profile": "quality",
"parallelization": {
"enabled": true,
"max_concurrent_agents": 5,
"min_plans_for_parallel": 2,
"max_concurrent_projects": 3
},
"verification": {
"automated_only": true,
"escalate_visual": true,
"escalate_external_integration": true,
"test_first": false
},
"security": {
"auto_accept_low_severity": true,
"auto_mitigate_medium_severity": true,
"escalate_high_severity": true
},
"git": {
"branching_strategy": "phase",
"auto_commit": true,
"auto_push": false
},
"sessions": {
"max_concurrent_sessions": 3,
"session_timeout_ms": 3600000,
"session_isolation": "branch"
},
"personas": {
"enabled": true,
"territory_enforcement": "warn",
"personas": [
{
"name": "lead-developer",
"domain": "coordination",
"frameworks": [],
"constraints": ["pragmatic", "battle-tested defaults"],
"territory": []
},
{
"name": "backend-engineer",
"domain": "backend",
"frameworks": [],
"constraints": ["api-first", "type-safe", "latency-budget-aware"],
"territory": ["**/server/**", "**/api/**", "**/services/**"]
},
{
"name": "frontend-engineer",
"domain": "frontend",
"frameworks": [],
"constraints": ["component-first", "voice-first-ui"],
"territory": ["**/client/**", "**/ui/**", "**/components/**"]
},
{
"name": "data-engineer",
"domain": "data",
"frameworks": [],
"constraints": ["schema-first", "type-safe", "migration-driven"],
"territory": ["**/migrations/**", "**/schema/**", "**/models/**", "**/db/**"]
}
]
},
"release": {
"forge": "gitea",
"base_url": "https://git.cloudinit.dev",
"owner": "coreci",
"repo": "praxis"
},
"secrets": {
"scopes": [
{
"name": "release",
"env_vars": ["GITEA_TOKEN"]
},
{
"name": "proxmox",
"env_vars": ["PROXMOX_API_URL", "PROXMOX_API_TOKEN", "PROXMOX_NODE", "PROXMOX_STORAGE", "PROXMOX_TEMPLATE_VOLID", "PROXMOX_TLS_SKIP_VERIFY"]
},
{
"name": "voice",
"env_vars": ["DEEPGRAM_API_KEY", "CARTESIA_API_KEY", "OLLAMA_API_KEY"]
},
{
"name": "operator",
"env_vars": ["PRAXIS_PG_PASSWORD", "PRAXIS_COOKIE_SECRET", "PRAXIS_BOOTSTRAP_OPERATOR_USER", "PRAXIS_BOOTSTRAP_OPERATOR_PASS", "PRAXIS_VC_ISSUER_KEY"]
}
]
},
"ship": {
"per_phase": true,
"allow_skip": false,
"max_release_retries": 3
}
}