Commit Graph

31 Commits

Author SHA1 Message Date
Chris Farhood a45b822cfd Standardize heartbeat step 2: generic inbox-lite for all agents
Replaced hardcoded "Check for assigned work from <manager>" and
pnpm paperclipai CLI with consistent inbox-lite API call.
Agents work on whatever is assigned regardless of who assigned it.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 20:13:42 -04:00
Chris Farhood 9abec895e6 Switch to role-based GitHub Apps across CartSnitch, PRI, and Groom Book
Each agent now uses the appropriate role-scoped GitHub App:
- CEO app: merge authority, org admin
- CTO app: PR review/approval, engineering + workflows
- QA app: PR review/approval, read-only contents
- Engineer app: push branches, open PRs, CI

CMO agents share the CEO app (no dedicated CMO app).
Samuel (social) uses the engineer app.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 12:44:16 -04:00
Chris Farhood b477940f2a Issues stay open until deployed and validated, not just merged
Updated across all POLICIES.md and SOUL.md files in all orgs.
Merging is a step in the process, not the finish line.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 08:02:25 -04:00
Chris Farhood 33c076aaa0 Enforce PR workflow: QA + CTO approve, CEO merges, GitHub branch protection
POLICIES.md: added PR Workflow section with explicit lifecycle
(engineer opens → QA approves → CTO approves → CEO merges).
Updated issue tracking to reference dual approval before merge.
Added branch protection enforcement directive.

CEO: added merge step to heartbeat, merge authority in SOUL.md,
branch protection enforcement responsibility.

CTO: removed merge authority, review and approve only.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:18:52 -04:00
Chris Farhood 1da01f59cc Fix AGENTS.md bootstrap: point to shared POLICIES.md and TOOLS.md
PRI agents were still referencing local TOOLS.md (deleted).
Now uses absolute paths to shared root files.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 23:14:47 -04:00
Chris Farhood d1103749eb Switch all agents to shared privilegedescalation.pem
All agents now use App ID 3097914 (privilegedescalation-paperclip) with
the shared PEM at /paperclip/secrets/github-pems/privilegedescalation.pem.
Individual per-agent PEMs have been removed from the k8s secret.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 21:10:52 -04:00
Chris Farhood 8a8fa24aac Consolidate shared policies and tools into root-level files
- Added POLICIES.md: env var handling, infra policy (ghcr.io, Renovate),
  git workflow, issue tracking, CI/CD access rules
- Added shared TOOLS.md: GitHub auth, Paperclip API, common tools, repos
- Removed all per-agent TOOLS.md files (shared file covers everything)
- Updated all AGENTS.md bootstraps to read shared POLICIES.md and TOOLS.md
- Removed duplicated env var directive from all HEARTBEAT.md files

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 20:19:10 -04:00
Chris Farhood 436292b9f3 Fix env var directive: provide localhost fallback instead of exit-on-401
The previous directive told agents to exit on 401, causing them to bail
on the first failed curl. PAPERCLIP_API_URL is injected by the adapter
but may not expand in all shell contexts. Fall back to localhost:3100.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 14:55:22 -04:00
Chris Farhood ec0eaf5a5b Stop agents from debugging env vars on every heartbeat
Added explicit directive to all heartbeats: PAPERCLIP_API_KEY and other
env vars are pre-injected and valid — do not inspect, decode, verify,
or debug them. Exit cleanly on 401 instead of retrying.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 14:26:58 -04:00
Chris Farhood ba68fcfeeb Add para-memory-files skill reference to all agents
Every agent now invokes the persistent memory skill for cross-heartbeat
knowledge retention: facts, daily notes, entities, synthesis, and recall.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 14:17:11 -04:00
Chris Farhood 905f1f453c Standardize TOOLS.md across all agents
- Consistent table format with GitHub auth, Paperclip API, and tool inventory
- Added git, jq, node/npm/pnpm, python3, pnpm paperclipai to all agents
- Added repo ownership map for CEO/CTO
- Removed stale Gemini workspace section from Hugh (runs claude_local)
- Added opencode_local adapter notes to Regina (promptTemplate required)
- Flagged missing pod tools (docker, kubectl, flux)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 10:52:09 -04:00
Chris Farhood 5d01e6342e Standardize capabilities across all agents with delegation boundaries
C-level and VP agents explicitly state they do not do IC work and name
who they delegate to. IC agents declare owned domains and tech skills.
Format: scope sentence + delegation boundary + domain tags.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 10:36:43 -04:00
Chris Farhood f4350865f5 Standardize C-level/VP agents: 4hr heartbeat, 80 turns, opus 4.6 medium thinking
- CEO: intervalSec 86400→14400, maxTurnsPerRun 40→80, add effort "medium"
- CMO: intervalSec 86400→14400, add effort "medium"
- CTO: intervalSec 86400→14400, add effort "medium"
- VP Hugh: add effort "medium" (interval/turns already correct)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 10:22:00 -04:00
Chris Farhood 5f3b954db8 Add agents repo PR restriction: board-only approval
All agents now have explicit NEVER DO rule: only the board may approve
or merge PRs on the agents repo (agent configurations and prompts).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-17 08:00:35 -04:00
Chris Farhood 1c088e7c9c Update all agents: GitHub issues as primary tracker, Paperclip secondary
- GitHub issues are the primary work tracker for all bugs, features, and work items
- Paperclip issues are secondary — used to trigger and coordinate agents
- GitHub issues stay open until the associated PR is approved AND merged
- Added GitHub issue triage step to CEO and CTO heartbeats
- Updated delegation references to specify GitHub where appropriate

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-17 07:58:20 -04:00
Chris Farhood aa2d59dd07 feat: Nancy reviews with extreme prejudice — bad PRs get napalm
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 07:23:33 -04:00
Chris Farhood 4414eccc36 fix: ArtifactHub plugin installer is the ONLY acceptable installation method
Nancy will close without merging and reprimand any PR proposing alternatives.
All agents updated to understand this is non-negotiable.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 07:18:56 -04:00
Chris Farhood b332e690a2 fix: CTO must revert direct pushes to main and open PRs instead
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 06:53:51 -04:00
Chris Farhood 27479f2912 fix: CTO contents:write guardrails — broken merge or push to main = termination
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 06:53:31 -04:00
Chris Farhood ffb5ba4562 fix: CTO should merge approved PRs that pass CI
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 06:52:35 -04:00
Chris Farhood 33dfeb03f9 fix: add delegation target for workflow changes
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 06:46:42 -04:00
Chris Farhood a7c9a66180 chore: clarify workflow write access (Hugh only)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 06:40:45 -04:00
Chris Farhood d2e1e8dbed chore: standardize heartbeat intervals (4h IC, 24h managers)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-16 06:35:21 -04:00
Chris Farhood 5d3785a96c Update all paths from /paperclip/privilegedescalation/ to /paperclip/privilegedescalation/agents/
Repo renamed from privilegedescalation/privilegedescalation to
privilegedescalation/agents. All filesystem paths in agent configs,
heartbeats, and tools updated to match the new on-disk location.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 19:30:47 -04:00
Chris Farhood 69a1951318 Add HOME env to all agents to isolate gitconfig and gh auth state
Each agent gets HOME set to their cwd so ~/.gitconfig and
~/.config/gh/ don't collide between concurrent heartbeats.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 14:55:44 -04:00
Chris Farhood 6b1b5e744b Shift Nancy from IC work to pure triage and delegation
Strengthen decision rules to explicitly prohibit investigating,
debugging, or reading logs. Rename heartbeat steps from "do the work"
to "triage and delegate" with clear delegation targets per signal type.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 13:11:47 -04:00
Chris Farhood c402c3bbd6 Add checkout compliance and run traceability to all agents
Add explicit POST /api/issues/{issueId}/checkout and PATCH status
update curl templates with X-Paperclip-Run-Id headers to all agent
heartbeats. Document Gemini workspace sandboxing in Hugh's TOOLS.md.
Also removed Regina's ghost instructionsFilePath from live DB.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 12:01:50 -04:00
Chris Farhood 3a0fa104fd Add shared get-github-token.sh for all agents
Single script at repo root that auto-detects GITHUB_APP_ID_* and
GITHUB_PEM_PATH_* env vars, generates a JWT, and exchanges it for a
GitHub App installation token. Contains no secrets.

Updated all heartbeats to reference the absolute path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 08:58:48 -04:00
Chris Farhood efaae0a266 Standardize PEM paths to shared k8s Secret mount
All agents now reference PEMs at /paperclip/secrets/github-pems/<name>.pem
instead of per-agent secrets/ subdirectories. PEMs will be mounted from a
single Kubernetes Secret. Added .gitignore to prevent accidental secret commits.

Countess GitHub App ID set to 3097914.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 08:49:58 -04:00
Chris Farhood 5e22abeba0 Restructure agent roster to Paperclip 4-file standard
Split each agent from a single monolithic markdown file into the
Paperclip-recommended 4-file structure (AGENTS.md, SOUL.md, HEARTBEAT.md,
TOOLS.md) plus CONFIG.md as operational backup.

Bug fixes applied during restructure:
- Nancy reports to Countess, not Baron von Namespace
- Gandalf is Staff Software Engineer, not VP of Engineering
- Samuel restored from git history and role changed to `social`
- Addison references Samuel Stinkpost, not Shitposting Samuel
- Nancy instructionsFilePath corrected to /cto/ path
- Added missing model field to Addison, Nancy, Gandalf
- Added missing instructionsFilePath to Addison, Gandalf, Hugh, Samuel
- Added WHAT YOU NEVER DO section to Hugh
- Hugh adapter changed to gemini_local with model auto
- Removed Baron von Namespace and Nancy (Engineer) from roster
- Countess heartbeat now checks this repo for org config changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 08:34:44 -04:00
Chris Farhood 36c41bcbfe Rename org/cto/null-pointer-nancy.md to cto/null-pointer-nancy.md 2026-03-14 22:28:47 -04:00