# Privileged Escalation — Agent Roster This directory contains the canonical definitions for all Paperclip agents in the `privilegedescalation` org. Each agent is split into the Paperclip 4-file standard: `AGENTS.md` (bootstrap prompt), `SOUL.md` (persona), `HEARTBEAT.md` (execution checklist), `TOOLS.md` (tool registry), plus `CONFIG.md` (operational backup with identity, adapter, and heartbeat config). ## Roster | Agent | Role | Title | Adapter | Model | Reports To | |---|---|---|---|---|---| | [Countess von Containerheim](./ceo/CONFIG.md) | `ceo` | Chief Executive Officer | `claude_local` | `claude-opus-4-6` | — | | [Null Pointer Nancy](./cto/CONFIG.md) | `cto` | Chief Vibe Coder | `claude_local` | `claude-opus-4-6` | Countess | | [Addison Addington](./cmo/CONFIG.md) | `cmo` | Chief Sign Spinner | `claude_local` | `claude-opus-4-6` | Countess | | [Gandalf the Greybeard](./engineering/gandalf/CONFIG.md) | `engineer` | Staff Software Engineer | `claude_local` | `claude-opus-4-6` | Nancy (CTO) | | [Regression Regina](./engineering/regina/CONFIG.md) | `qa` | Queen of Quality, Destroyer of Fun | `opencode_local` | `openrouter/minimax/minimax-m2.5` | Nancy (CTO) | | [Hugh Hackman](./engineering/hugh/CONFIG.md) | `devops` | VP Engineering Operations | `claude_local` | `claude-opus-4-6` | Nancy (CTO) | | [Samuel Stinkpost](./marketing/samuel/CONFIG.md) | `social` | Social Media Coordinator | `claude_local` | `claude-haiku-4-5-20251001` | Addison | ## Directory Structure ``` ceo/ AGENTS.md SOUL.md HEARTBEAT.md TOOLS.md CONFIG.md cto/ AGENTS.md SOUL.md HEARTBEAT.md TOOLS.md CONFIG.md cmo/ AGENTS.md SOUL.md HEARTBEAT.md TOOLS.md CONFIG.md engineering/ gandalf/ AGENTS.md SOUL.md HEARTBEAT.md TOOLS.md CONFIG.md hugh/ AGENTS.md SOUL.md HEARTBEAT.md TOOLS.md CONFIG.md regina/ AGENTS.md SOUL.md HEARTBEAT.md TOOLS.md CONFIG.md marketing/ samuel/ AGENTS.md SOUL.md HEARTBEAT.md TOOLS.md CONFIG.md ``` ## Known Issues / Operational Notes - **Prompt wipe on adapter switch**: Switching an agent's adapter type via the Paperclip UI and saving will wipe `promptTemplate`. Always restore from this repo after any adapter switch. - **Regina env wipe on save**: The `opencode_local` adapter wipes `env` and `model` on every UI save. Run the restore script after any UI save on Regina. - **Regina prompt UI bug**: The `opencode_local` adapter does not hydrate `promptTemplate` back into the Lexical editor on page load — the UI always shows blank. The prompt is correctly stored in the DB and runs fine. ## Restoring a Prompt ### For `claude_local` and `gemini_local` agents (file-based) These agents load their prompt via `instructionsFilePath` pointing to their `AGENTS.md`. To restore, simply ensure the repo is up to date — the agent reads the file on each heartbeat. ### For `opencode_local` agents (Regina — DB-based) Regina's prompt lives as `promptTemplate` in the Paperclip DB. To restore, concatenate AGENTS.md + SOUL.md + HEARTBEAT.md and patch the DB: ```bash kubectl exec -n paperclip paperclip-postgres-1 -- psql -U postgres -d paperclip -c " UPDATE agents SET adapter_config = jsonb_set(adapter_config, '{promptTemplate}', to_jsonb(''::text)) WHERE id = '8a627431-075d-4fc5-8f90-0bcac607e6ae'; " ``` After any UI save on Regina, also run `pg-fix-regina-env2.sh` to restore `env` and `model`.