Files
nova-platform/.ciagent/config.json
CIAgent 2443909362 docs(milestone): complete v1.0-nova-platform (release v0.1.6)
---ci---
project: nova-platform
milestone: v1.0
status: complete
requirements:
  covered: [REQ-01,REQ-02,REQ-03,REQ-04,REQ-05,REQ-06,REQ-07,REQ-08,REQ-09,REQ-10,REQ-11,REQ-12,REQ-13,REQ-14,REQ-15,REQ-16,REQ-17,REQ-18,REQ-19,REQ-20,REQ-21,REQ-22,REQ-23,REQ-24,REQ-25,REQ-26,REQ-27,REQ-28,REQ-29,REQ-30,REQ-31,REQ-32,REQ-33,REQ-34,REQ-35,REQ-36,REQ-37,REQ-38]
  partial: []
---/ci---

v1.0 milestone complete: simplified infrastructure-delivery platform
derived from Nova (acdl). 6 phases (P0-P5 + P6 final). 38 REQ-IDs.
38 decisions (D-001..D-038). 76 tests pass. Engine boundary holds.
Happy paths green (check-only + CI). 13 L1 + 2 L2 modules. 5 terraform
roots. Shell reproducibility. Zero OOS files.

Tags: v0.1.0 (P0) → v0.1.1..v0.1.5 (P1..P5) → v0.1.6 (P6 = milestone
release on v0.1 patch line).
2026-08-25 02:18:35 +00:00

308 lines
6.6 KiB
JSON

{
"active_project": "nova-platform",
"active_milestone": "v1.0",
"autonomy": {
"level": "supervised",
"escalation_hooks": [
"deploy",
"delete_data",
"merge_to_main",
"verification_failure",
"ship"
],
"clarify_budget": 10,
"decision_confidence_threshold": 0.75,
"max_revision_iterations": 2,
"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,
"bash_allowlist": {
"allowed_commands": [
"git",
"ls",
"cat",
"head",
"tail",
"wc",
"echo",
"mkdir",
"cp",
"mv",
"rm",
"touch",
"pwd",
"which",
"env",
"printenv",
"python3",
"pytest",
"pip",
"terraform",
"curl",
"wget",
"docker",
"docker-compose"
],
"max_output_bytes": 1048576,
"timeout_ms": 30000,
"blocked_env_vars": [
"HOME",
"PATH",
"USER",
"SHELL",
"AWS_*",
"*_TOKEN",
"*_KEY",
"*_SECRET",
"*_PASSWORD",
"*_CREDENTIAL",
"GITHUB_TOKEN",
"GITHUB_API_KEY",
"OPENAI_API_KEY",
"ANTHROPIC_API_KEY",
"OLLAMA_CLOUD_API_KEY",
"NOVA_FORGE_TOKEN"
]
}
},
"git": {
"branching_strategy": "phase",
"auto_commit": true,
"auto_push": true
},
"secrets": {
"sources": [
".env",
".env.secrets",
".env.*"
],
"disallow": [
"shell_env",
"netrc",
"keychain",
"rc_files",
"global_config"
],
"scopes": {
"forge": "NOVA_FORGE_TOKEN",
"gitea": "NOVA_FORGE_TOKEN",
"github": "GITHUB_TOKEN",
"gitlab": "GITLAB_TOKEN",
"openai": "OPENAI_API_KEY",
"anthropic": "ANTHROPIC_API_KEY",
"ollama_cloud": "OLLAMA_CLOUD_API_KEY"
}
},
"release": {
"forge": "gitea",
"gitea": {
"base_url": "https://git.cloudinit.dev",
"owner": "continuous-intelligence",
"repo": "nova-platform",
"token_scope": "gitea"
},
"github": {
"owner": "",
"repo": "",
"token_scope": "github"
},
"gitlab": {
"base_url": "",
"owner": "",
"repo": "",
"token_scope": "gitlab"
}
},
"ship": {
"per_phase": true,
"require_release": true,
"allow_skip": false,
"confirm_before_ship": true,
"max_release_retries": 3,
"release_blocking": false
},
"backend": {
"provider": "auto",
"agent_backends": {
"opencode": {
"enabled": true
},
"codex": {
"enabled": true
},
"claude-code": {
"enabled": true
},
"hermes": {
"enabled": true
}
},
"llm_backends": {
"openai": {
"base_url": "https://api.openai.com/v1",
"api_key_env": "OPENAI_API_KEY",
"model": "gpt-4o",
"model_profile": "quality",
"timeout_ms": 60000
},
"ollama-local": {
"base_url": "http://localhost:11434",
"model_profile": "balanced"
},
"ollama-cloud": {
"base_url": "",
"api_key_env": "OLLAMA_CLOUD_API_KEY",
"model_profile": "quality",
"timeout_ms": 60000
},
"anthropic": {
"base_url": "https://api.anthropic.com",
"api_key_env": "ANTHROPIC_API_KEY",
"model": "claude-sonnet-4-20250514",
"api_version": "2023-06-01",
"model_profile": "quality",
"timeout_ms": 60000
}
}
},
"ideation": {
"enabled": true,
"categories": [
"quality",
"architecture",
"coverage",
"improvement"
],
"confidence_threshold": 0.6,
"max_ideas": 20,
"external_signals": {
"npm_audit": true,
"osv_advisories": true,
"dependency_staleness": true
},
"cross_project": {
"enabled": false,
"similarity_weight": 0.5
},
"chaos": {
"enabled": true,
"scenarios": [
"backend_unavailable",
"requirement_change",
"test_coverage_drop"
]
}
},
"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": "data-engineer",
"domain": "data",
"frameworks": [
"terraform"
],
"constraints": [
"schema-first",
"type-safe",
"migration-driven"
],
"territory": [
"**/terraform/**",
"**/modules/**",
"**/schemas/**",
"**/*.tf",
"**/*.tf.json",
"**/*.json"
]
},
{
"name": "backend-engineer",
"domain": "backend",
"frameworks": [
"python",
"fastapi"
],
"constraints": [
"api-first",
"strict-typing",
"dependency-injection"
],
"territory": [
"**/core/**",
"**/scripts/**",
"**/adapters/**",
"**/contracts/**",
"**/tests/**",
"**/*.py"
]
},
{
"name": "frontend-engineer",
"domain": "frontend",
"active": false,
"frameworks": [
"react",
"next.js"
],
"constraints": [
"component-first",
"server-components",
"minimal-client-js"
],
"territory": [
"**/components/**",
"**/pages/**",
"**/hooks/**",
"**/styles/**",
"**/*.tsx",
"**/*.css",
"**/*.vue"
],
"reason": "Nova Platform has no frontend. Deactivated."
}
]
},
"logging": {
"level": "info",
"format": "json",
"file": ".ciagent/logs/ciagent.jsonl"
},
"telemetry": {
"enabled": true,
"persist": true
}
}