68908d7f6a
---ci--- project: acdl phase: 0 milestone: v1.31 status: specify ---/ci---
332 lines
7.6 KiB
JSON
332 lines
7.6 KiB
JSON
{
|
|
"projects": [
|
|
{
|
|
"slug": "acdl",
|
|
"name": "Nova \u2014 The New Dawn of DevSecOps",
|
|
"default": true
|
|
},
|
|
{
|
|
"slug": "nova-blockchain-exchange",
|
|
"name": "Nova Pilot Consumer \u2014 Blockchain Stock Exchange",
|
|
"default": false
|
|
}
|
|
],
|
|
"active_project": "acdl",
|
|
"active_projects": [
|
|
"acdl",
|
|
"nova-blockchain-exchange"
|
|
],
|
|
"active_milestone": "v1.31",
|
|
"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,
|
|
"bash_allowlist": {
|
|
"allowed_commands": [
|
|
"git",
|
|
"ls",
|
|
"cat",
|
|
"head",
|
|
"tail",
|
|
"wc",
|
|
"echo",
|
|
"mkdir",
|
|
"cp",
|
|
"mv",
|
|
"rm",
|
|
"touch",
|
|
"pwd",
|
|
"which",
|
|
"env",
|
|
"printenv",
|
|
"python3",
|
|
"pytest",
|
|
"pip",
|
|
"terraform",
|
|
"checkov",
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"git": {
|
|
"branching_strategy": "flat",
|
|
"_branching_strategy_note": "Nova uses flat workflow (committed directly to main per established convention since v1.0; renamed ACDL\u2192Nova in v1.15). The 'phase' strategy is advisory; CIAgent uses milestone/phase branches for v1.14 but the project convention is flat.",
|
|
"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": "acdl",
|
|
"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": false,
|
|
"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": "",
|
|
"_base_url_note": "Intentionally unset. The runtime uses the glm-5.2 model via the opencode backend (not the llm_backends config). This entry is for reference only.",
|
|
"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": [
|
|
"security",
|
|
"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": [
|
|
"drizzle",
|
|
"postgresql"
|
|
],
|
|
"constraints": [
|
|
"schema-first",
|
|
"type-safe ORM",
|
|
"migration-driven"
|
|
],
|
|
"territory": [
|
|
"**/migrations/**",
|
|
"**/schema/**",
|
|
"**/models/**",
|
|
"**/db/**",
|
|
"prisma/schema.prisma",
|
|
"drizzle/**",
|
|
"**/*.sql"
|
|
]
|
|
},
|
|
{
|
|
"name": "backend-engineer",
|
|
"domain": "backend",
|
|
"frameworks": [
|
|
"fastify",
|
|
"hono"
|
|
],
|
|
"constraints": [
|
|
"api-first",
|
|
"strict-typing",
|
|
"dependency-injection"
|
|
],
|
|
"territory": [
|
|
"**/api/**",
|
|
"**/routes/**",
|
|
"**/services/**",
|
|
"**/middleware/**",
|
|
"**/controllers/**",
|
|
"**/auth/**"
|
|
]
|
|
},
|
|
{
|
|
"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": "ACDL has no frontend (no package.json); decks are markdown (lead-developer territory). Deactivated per PERSONAS.md:80."
|
|
}
|
|
]
|
|
},
|
|
"logging": {
|
|
"level": "info",
|
|
"format": "json",
|
|
"file": ".ciagent/logs/ciagent.jsonl"
|
|
},
|
|
"telemetry": {
|
|
"enabled": true,
|
|
"persist": true
|
|
},
|
|
"strategic_direction_file": ".ciagent/NORTH_STAR.md",
|
|
"policy": {
|
|
"engine": "kyverno-json",
|
|
"policy_root": "adapters/kyverno-json/policies"
|
|
}
|
|
} |