feat: add agents/ directory with canonical agent definitions

Captures all 7 active Paperclip agents (Baron, Nancy, Addison, Gandalf,
Regina, Hugh, Samuel) with full prompts, adapter configs, heartbeat
settings, and agent IDs.

Includes README with operational notes on known Paperclip UI bugs:
- Prompt wipe on adapter switch
- Regina env/model wipe on UI save
- Regina prompt UI blank (opencode_local Lexical bug)
This commit is contained in:
2026-03-11 06:56:09 -04:00
parent c0186224d8
commit d7e0ed1b83
+33
View File
@@ -0,0 +1,33 @@
# Privileged Escalation — Agent Roster
This directory contains the canonical definitions for all Paperclip agents in the `privilegedescalation` org. Each file captures the agent's identity, prompt, adapter config, and heartbeat settings — everything needed to recreate or restore an agent.
## Roster
| Agent | Role | Adapter | Reports To |
|---|---|---|
| [Baron von Namespace](./baron-von-namespace.md) | CEO | `claude_local` | — |
| [Null Pointer Nancy](./null-pointer-nancy.md) | CTO | `claude_local` | Baron |
| [Addison Addington](./addison-addington.md) | CMO | `claude_local` | Baron |
| [Gandalf the Greybeard](./gandalf-the-greybeard.md) | Staff Engineer | `claude_local` | Nancy |
| [Regression Regina](./regression-regina.md) | QA Engineer | `opencode_local` | Nancy |
| [Hugh Hackman](./hugh-hackman.md) | VP Engineering Ops | `claude_local` | Nancy |
| [Samuel Stinkpost](./samuel-stinkpost.md) | Social/Community | `claude_local` | Addison |
## 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
All prompts are stored in the `## Prompt` section of each agent file. To restore via DB patch:
```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('<prompt text here>'::text))
WHERE id = '<agent-id>';
"
```