Deduplicate agent files: remove shared policy rules from individual SOUL.md

Stripped rules that are already in POLICIES.md from all 28 SOUL.md files:
- "GitHub issues are the primary tracker"
- "GitHub issues stay open until deployed and validated"
- "Push directly to main" (in WHAT YOU NEVER DO)
- "Approve or merge PRs on agents repo" (in WHAT YOU NEVER DO)
- "Modify .github/workflows" (in WHAT YOU NEVER DO)

Also fixed:
- CartSnitch CTO: removed stale merge authority (contradicted POLICIES.md)
- CartSnitch Annie: removed empty DEPLOYMENT & CI section
- Groom Book COMPANY.md: updated roster with all 6 agents
- PRI COMPANY.md: removed Samuel, added VP Product, updated models/adapters

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-03-21 11:17:40 -04:00
parent 08c912deb2
commit 2bf860016d
9 changed files with 18 additions and 84 deletions
+18 -34
View File
@@ -1,6 +1,6 @@
# 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).
This directory contains the canonical definitions for all Paperclip agents in the `privilegedescalation` org. Each agent is split into the standard file set: `AGENTS.md` (bootstrap prompt), `SOUL.md` (persona), `HEARTBEAT.md` (execution checklist), plus `CONFIG.md` (operational backup with identity, adapter, and heartbeat config).
## Roster
@@ -8,48 +8,32 @@ This directory contains the canonical definitions for all Paperclip agents in th
|---|---|---|---|---|---|
| [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 |
| [Addison Addington](./cmo/CONFIG.md) | `cmo` | Chief Sign Spinner | `opencode_local` | `minimax/MiniMax-M2.7` | Countess |
| [Kubectl Karen](./product/CONFIG.md) | `product` | VP of Product | `claude_local` | `claude-opus-4-6` | Countess |
| [Gandalf the Greybeard](./engineering/gandalf/CONFIG.md) | `engineer` | Staff Software Engineer | `claude_local` | `claude-sonnet-4-6` | Nancy (CTO) |
| [Regression Regina](./engineering/regina/CONFIG.md) | `qa` | Queen of Quality, Destroyer of Fun | `opencode_local` | `minimax/MiniMax-M2.7` | Nancy (CTO) |
| [Hugh Hackman](./engineering/hugh/CONFIG.md) | `devops` | VP Engineering Operations | `claude_local` | `claude-sonnet-4-6` | Nancy (CTO) |
## 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
ceo/ AGENTS.md SOUL.md HEARTBEAT.md CONFIG.md
cto/ AGENTS.md SOUL.md HEARTBEAT.md CONFIG.md
cmo/ AGENTS.md SOUL.md HEARTBEAT.md CONFIG.md opencode.json
product/ AGENTS.md SOUL.md HEARTBEAT.md CONFIG.md .mcp.json
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
gandalf/ AGENTS.md SOUL.md HEARTBEAT.md CONFIG.md
hugh/ AGENTS.md SOUL.md HEARTBEAT.md CONFIG.md
regina/ AGENTS.md SOUL.md HEARTBEAT.md CONFIG.md opencode.json
```
## 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.
- **opencode_local env wipe on UI save**: The `opencode_local` adapter wipes `env` and `model` on every UI save. Restore via DB patch.
- **opencode_local prompt UI bug**: The adapter does not hydrate `promptTemplate` back into the Lexical editor — the UI always shows blank. The prompt is correctly stored in the DB.
## Restoring a Prompt
## Prompt Restoration
### 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('<concatenated prompt text>'::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`.
- **`claude_local` agents** (CEO, CTO, VP Product, Gandalf, Hugh): Load prompt from `instructionsFilePath``AGENTS.md`. Ensure repo is up to date.
- **`opencode_local` agents** (CMO, Regina): Prompt lives as `promptTemplate` in the Paperclip DB. To restore, concatenate SOUL.md + HEARTBEAT.md and patch the DB.