--- active_personas: - lead-developer - backend-engineer - data-engineer - cli-engineer - security-engineer - network-engineer deactivated_personas: - frontend-engineer - devops-sre phase_specific: - security-engineer - network-engineer - cli-engineer reason: | Orca is a CLI-first, offline-first orchestration engine with no web UI and a single-binary distribution model. The persona roster reflects this: - lead-developer: coordination and task decomposition - backend-engineer: core engine and API handlers - data-engineer: SQLite state store and migrations - cli-engineer: Cobra subcommands and CLI UX - security-engineer: mTLS, cert lifecycle, audit logging, input validation - network-engineer: transport layer, dispatcher, peer-to-peer resilience Deactivated: - frontend-engineer: no web UI in v0.1 - devops-sre: no container/cloud integrations; release flow is handled by CoreCI (not a persona territory) Phase-specific (v0.2): - security-engineer: P01 (mTLS/CA) + P02 (peer transport hardening) - network-engineer: P02 only (multi-node scheduling & dispatch) - cli-engineer: P04 only (--watch flag is a CLI concern) --- # Personas: Orca ## Roster ### lead-developer - **Domain**: coordination - **Frameworks**: `cobra` - **Constraints**: `boundary-enforcement`, `offline-first`, `no-redundant-implementations` - **Territory**: `**/*.go`, `cmd/**`, `internal/**` - **Active**: true ### backend-engineer - **Domain**: backend - **Frameworks**: `cobra`, `net/http` - **Constraints**: `API-first`, `error-handling`, `minimal-dependencies`, `security-first` - **Territory**: `**/api/**`, `**/*_handler*`, `**/*_handler.go`, `internal/daemon/**` - **Active**: true ### data-engineer - **Domain**: data - **Frameworks**: `modernc/sqlite` - **Constraints**: `schema-first`, `migration-safe`, `local-storage-only` - **Territory**: `**/store/**`, `**/model.go`, `**/migration*`, `migrations/**`, `internal/store/migrations/0004_certs.sql` - **Active**: true ### cli-engineer (custom) - **Domain**: CLI/UX - **Frameworks**: `cobra`, `pflag` - **Constraints**: `discoverable-help`, `consistent-flag-naming`, `human-readable-output`, `machine-readable-json-flag` - **Territory**: `cmd/**`, `internal/cli/**`, `internal/commands/**` - **Active**: true - **Reason**: Orca is CLI-first; this persona ensures CLI quality and discoverability. ### security-engineer (custom) - **Domain**: security - **Frameworks**: `crypto/tls`, `crypto/x509`, `slog` - **Constraints**: `no-panic-in-production`, `structured-audit-logging`, `no-secret-in-logs`, `input-validation`, `least-privilege` - **Territory**: `**/auth/**`, `**/audit/**`, `internal/security/**`, `internal/transport/**` (TLS config only) - **Active**: true - **Reason**: mTLS, audit logging, and input validation are first-class concerns. - **Phase scope**: P01 (mTLS + internal CA), P02 (transport hardening for peer handshakes). Deactivates after P02 ships — P03/P04 have lighter security needs. ### network-engineer (custom, NEW in v0.2) - **Domain**: networking - **Frameworks**: `net/http`, `crypto/tls` (via `internal/security`), `iter` - **Constraints**: `connection-resilience`, `retry-with-backoff`, `graceful-disconnect`, `context-propagation` - **Territory**: `**/transport/**`, `**/engine/dispatcher*`, `**/engine/peer*`, `internal/engine/dispatcher.go`, `internal/transport/**` - **Active**: true - **Reason**: v0.2 introduces cross-node dispatch and peer-to-peer transport. This persona owns the transport layer, dispatcher, and peer lifecycle concerns that are distinct from the API-handler territory of `backend-engineer`. - **Phase scope**: P02 only. Deactivates after P02 ships. ### frontend-engineer - **Active**: false - **Reason**: No web UI in v0.1. ### devops-sre - **Active**: false - **Reason**: No container/cloud integrations. Release flow is handled by CoreCI. ## Territory Enforcement - **Mode**: `warn` (per `config.json`) - **Behavior**: Out-of-territory file changes log a warning but do not block. - **Rationale**: Allows flexibility during early development; tighten to `strict` post-v0.1. ## Phase-Specific Personas (v0.2) | Persona | Active in | Reason | |---------|-----------|--------| | `security-engineer` | P01, P02 | mTLS/CA in P01, transport hardening in P02. Lighter security needs in P03 (CI scanning) and P04 (streaming UX). | | `network-engineer` | P02 | Multi-node dispatch is a P02 concern only. P01 builds the transport primitives but P02 wires them into cross-node scheduling. | | `cli-engineer` | P04 | The `--watch` flag is a CLI surface; P01-P03 don't add new CLI commands. | In full-autonomy mode, all personas are auto-accepted and the phase-scope assignments are applied automatically when a phase is committed. ## Migration from v0.1 - `backend-engineer` territory unchanged: `internal/daemon/**` still owns HTTP handlers. The new `internal/transport/**` package is shared with `network-engineer` but `transport` owns the *connection lifecycle* (dial, retry, close) while `daemon` owns the *request handlers*. - `data-engineer` territory expanded to include the new `internal/store/migrations/0004_certs.sql` migration in P01. - `security-engineer` territory extended from `internal/security/**` to include the TLS-config portion of `internal/transport/**` (the `NewServerTLSConfig` / `NewClientTLSConfig` helpers). - `cli-engineer` territory unchanged; the new `orca cert` subcommands in P01 fall under the existing `internal/cli/**` glob.