# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## What This Repo Is This is the **agent roster repository** for Privileged Escalation, an open source software company building Headlamp plugins for Kubernetes (GitHub org: `privilegedescalation`). It contains canonical definitions for all Paperclip AI agents — their identities, prompts, adapter configs, and heartbeat settings. There is no application code, build system, or test suite in this repo. It is a documentation/configuration repo. ## Repository Structure - `COMPANY.md` — Agent roster table, known operational issues, and restore procedures - `OPERATIONS.md` — Pod operations runbook: initial setup, adding agents, credential symlinks, routine maintenance - `POLICIES.md` — Shared policies for all agents: git workflow, PR process, infrastructure rules, issue tracking - `TOOLS.md` — Shared tools registry: CLI tools, repos, MCP servers, GitHub Actions runners - `ceo/` — CEO agent (Countess von Containerheim) - `cto/` — CTO agent (Null Pointer Nancy) - `cmo/` — CMO agent (Addison Addington) - `product/` — VP of Product (Kubectl Karen) - `engineering/gandalf/` — Staff Engineer (Gandalf the Greybeard) - `engineering/hugh/` — VP Engineering Ops (Hugh Hackman) - `engineering/patty/` — UAT Engineer (Pixel Patty) - `engineering/regina/` — QA Engineer (Regression Regina) Each agent directory contains these standard files: | File | Purpose | |---|---| | `AGENTS.md` | Bootstrap prompt (loaded via `instructionsFilePath`) | | `SOUL.md` | Persona, voice, values, decision rules, constraints | | `HEARTBEAT.md` | Step-by-step execution checklist run on every heartbeat | | `TOOLS.md` | Available CLI tools registry | | `CONFIG.md` | Operational backup — identity table, adapter config, heartbeat config | | `opencode.json` | Runtime config for `opencode_local` agents (model, MCP servers, permissions) | `product/` additionally contains `.mcp.json` (MCP server config for `claude_local`). MCP config lives in `.mcp.json` for `claude_local` agents and in `opencode.json` for `opencode_local` agents. ## Infrastructure Policy - **Container images**: Push to `ghcr.io` only. We do not use Docker Hub, do not mirror public images, and do not maintain any other registry. - **Dependency updates**: Managed by **Mend Renovate**. We do not use Dependabot — never enable it, never create `.github/dependabot.yml`, never reference it in workflows or docs. ## Key Operational Notes - **Prompt wipe on adapter switch**: Switching an agent's adapter in the Paperclip UI wipes `promptTemplate`. Always restore from this repo after any adapter switch. - **Regina (claude_local adapter)**: Uses `claude_local` with `claude-sonnet-4-6` and high effort. Reads prompt via `instructionsFilePath`. - **opencode_local agents (CMO, Gandalf, Hugh, Patty)**: UI saves wipe `env` and `model`. The prompt field always appears blank in the UI but works correctly in the DB. They do not use `instructionsFilePath` — prompts must be restored via DB patch (concatenate AGENTS.md + SOUL.md + HEARTBEAT.md). - Prompts can be restored via `kubectl exec` against the Paperclip Postgres DB (see COMPANY.md for the command). - **This repo is read-only to agents** — only the board may approve and merge changes to agent configurations and prompts. Always include `cc @cpfarhood` at the bottom of any PR body. ## Conventions - Agent prompts are split across `AGENTS.md` (bootstrap), `SOUL.md` (persona), and `HEARTBEAT.md` (execution) - Adapters: `claude_local` (CEO, CTO, VP Product, Regina), `opencode_local` (CMO, Gandalf, Hugh, Patty) - Agents interact via Paperclip issues (`pnpm paperclipai issue ...`) and GitHub PRs/issues (`gh ...`) - Org hierarchy: CEO (Countess) → CTO (Nancy) + CMO (Addison) → Engineers + Marketing - GitHub Actions CI uses self-hosted ARC runners: `runs-on: runners-privilegedescalation` ## PR Workflow (mandatory order) 1. **CI passes** (lint, types, unit tests) 2. **Patty (UAT)** validates E2E against `privilegedescalation-dev` 3. **Regina (QA)** reviews code — test coverage, regressions, edge cases 4. **Nancy (CTO)** reviews — architecture, code quality, security 5. **Countess (CEO)** merges — only after UAT + QA + CTO have all approved Each stage gates the next. No agent merges their own PRs. See `POLICIES.md` for full details.