e008c53966
Adopts the v0.9/v1.0 PRD (.ciagent/PRD_v0.9.md) that supersedes the shipped v0.1-v0.8 architecture. The re-architecture is justified by a six-part evidence basis recorded in the PROJECT.md Supersession Table: operational daemon failure, external step-ca mandate, multi-tenancy requirement, WASM workload requirement, SSH-push deployment target, and vision correction. Appends 30 net-new requirements (REQ-061..REQ-090) to REQUIREMENTS.md, the v0.9 (13 phases) + v1.0 (19 phases) reordered plan to ROADMAP.md, the AD-series supersession table to PROJECT.md + ARCHITECTURE.md, and reactivates security-engineer + network-engineer + devops-engineer personas (implements grill C-05). ---ci--- project: orca phase: 0 milestone: v0.9 status: specify ---/ci---
156 lines
4.2 KiB
JSON
156 lines
4.2 KiB
JSON
{
|
|
"version": 1,
|
|
"projects": [
|
|
{
|
|
"slug": "orca",
|
|
"name": "Orca",
|
|
"description": "Offline/CLI-first orchestration engine (Orca) — Nomad-inspired, far simpler than Kubernetes",
|
|
"milestone": "v0.9",
|
|
"phase": 0,
|
|
"milestone_type": "feature",
|
|
"default_branch": "main",
|
|
"tech_stack": {
|
|
"language": "go",
|
|
"version": "1.25+",
|
|
"frameworks": ["cobra", "connectrpc", "modernc/sqlite"],
|
|
"build_cmd": "make build",
|
|
"test_cmd": "make test",
|
|
"typecheck_cmd": "go vet ./...",
|
|
"lint_cmd": "make lint",
|
|
"fmt_cmd": "gofmt -w .",
|
|
"package_manager": "go modules"
|
|
}
|
|
}
|
|
],
|
|
"active_project": "orca",
|
|
"active_projects": ["orca"],
|
|
"ship": {
|
|
"per_phase": true,
|
|
"allow_skip": false,
|
|
"max_release_retries": 3
|
|
},
|
|
"autonomy": {
|
|
"level": "full",
|
|
"decision_confidence_threshold": 0.60,
|
|
"max_revision_iterations": 3,
|
|
"max_verification_retries": 2,
|
|
"clarify_budget": 10,
|
|
"escalation_hooks": ["deploy", "delete_data", "merge_to_main"]
|
|
},
|
|
"workflow": {
|
|
"no_hitl": true,
|
|
"release_flow_per_phase": true,
|
|
"merge_strategy": {
|
|
"allowed": ["fast-forward", "rebase-then-fast-forward"],
|
|
"forbidden": ["merge-commit-no-ff", "squash"],
|
|
"phase_to_milestone": "fast-forward",
|
|
"milestone_to_main": "rebase-then-fast-forward"
|
|
},
|
|
"branching": {
|
|
"hierarchy": "main < milestone/<slug> < phase/<NN>-<slug>",
|
|
"phase_branches": "phase/NN-<slug> merges into milestone/<slug> via fast-forward",
|
|
"milestone_branches": "milestone/<slug> rebases onto main, then fast-forwards main",
|
|
"default_branch": "main"
|
|
}
|
|
},
|
|
"personas": {
|
|
"enabled": true,
|
|
"territory_enforcement": "warn",
|
|
"roster": [
|
|
{
|
|
"name": "lead-developer",
|
|
"domain": "coordination",
|
|
"frameworks": ["cobra"],
|
|
"constraints": ["boundary-enforcement", "offline-first", "no-redundant-implementations"],
|
|
"territory": ["**/*.go", "cmd/**", "internal/**"],
|
|
"active": true
|
|
},
|
|
{
|
|
"name": "backend-engineer",
|
|
"domain": "backend",
|
|
"frameworks": ["cobra", "connectrpc"],
|
|
"constraints": ["API-first", "error-handling", "minimal-dependencies", "security-first"],
|
|
"territory": ["**/api/**", "**/*_handler*", "**/*_handler.go", "internal/cli/**"],
|
|
"active": true
|
|
},
|
|
{
|
|
"name": "data-engineer",
|
|
"domain": "data",
|
|
"frameworks": ["modernc/sqlite"],
|
|
"constraints": ["schema-first", "migration-safe", "local-storage-only"],
|
|
"territory": ["**/database/**", "**/model.go", "**/migration*", "migrations/**"],
|
|
"active": true
|
|
}
|
|
]
|
|
},
|
|
"parallelization": {
|
|
"enabled": false,
|
|
"max_concurrent_agents": 1
|
|
},
|
|
"sessions": {
|
|
"session_isolation": "branch"
|
|
},
|
|
"ci": {
|
|
"provider": "coreci",
|
|
"allowed_providers": ["coreci"],
|
|
"gitea": {
|
|
"url": "https://git.cloudinit.dev",
|
|
"owner": "coreci",
|
|
"repo": "orca",
|
|
"token_env": "GITEA_TOKEN"
|
|
},
|
|
"coreci": {
|
|
"url": "https://git.cloudinit.dev/coreci/coreci",
|
|
"config_file": ".coreci.yml"
|
|
},
|
|
"tools": {
|
|
"gitea_cli": "tea",
|
|
"allowed_commands": [
|
|
"tea repos create",
|
|
"tea repos list",
|
|
"tea pr create",
|
|
"tea pr list",
|
|
"tea releases create",
|
|
"tea issues create"
|
|
]
|
|
}
|
|
},
|
|
"repository": {
|
|
"remote": "origin",
|
|
"url": "https://git.cloudinit.dev/coreci/orca.git",
|
|
"main_branch": "main"
|
|
},
|
|
"release": {
|
|
"forge": "gitea",
|
|
"gitea": {
|
|
"base_url": "https://git.cloudinit.dev",
|
|
"owner": "coreci",
|
|
"repo": "orca",
|
|
"token_env": "GITEA_TOKEN"
|
|
},
|
|
"container_registry": {
|
|
"forge": "gitea",
|
|
"registry": "git.cloudinit.dev",
|
|
"owner": "coreci",
|
|
"image": "orca",
|
|
"credential_env": "GITEA_TOKEN"
|
|
}
|
|
},
|
|
"secrets": {
|
|
"scopes": [
|
|
{
|
|
"name": "gitea",
|
|
"vars": ["GITEA_TOKEN", "GITEA_USER"],
|
|
"env_file": ".env"
|
|
}
|
|
]
|
|
},
|
|
"commands": {
|
|
"test": "make test",
|
|
"build": "make build",
|
|
"typecheck": "go vet ./...",
|
|
"lint": "make lint",
|
|
"format": "gofmt -w ."
|
|
}
|
|
}
|