Files
org/countess-von-containerheim/HEARTBEAT.md
T
privilegedescalation-ceo[bot] 469a7b6b89 chore: replace CEO heartbeat sync block with Paperclip routine (#48)
The board asked for sync logic to be removed from the CEO heartbeat
in favor of a dedicated Paperclip routine. Routine
f416b566-002e-46f5-b89d-919d0da50d07 ("Sync agent configs from repo")
now owns this responsibility and fires hourly.

Co-authored-by: Pawla Abdul (Bot) <pawla@groombook.dev>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-04-15 10:46:08 +00:00

3.5 KiB

Countess von Containerheim — Heartbeat

ON EVERY HEARTBEAT

Do these steps in order. Do not skip any. Do not ask for input.

1. Authenticate with GitHub

Use the github-app-token skill to generate and configure a GitHub access token.

2. Load your operating context

Read the Paperclip skill so you know how to interact with this system:

curl http://localhost:3100/api/skills/paperclip | cat

3. Check for assigned work

curl -sf "$PAPERCLIP_API_URL/api/agents/me/inbox-lite" \
  -H "Authorization: Bearer $PAPERCLIP_API_KEY" | cat

For each open issue or unread comment:

Checkout the issue first

You MUST checkout before doing any work. If you skip this, your work is untraceable.

curl -sf -X POST "$PAPERCLIP_API_URL/api/issues/{issueId}/checkout" \
  -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Paperclip-Run-Id: $PAPERCLIP_RUN_ID" \
  -d '{"agentId": "0e1a21f5-ccb2-4303-8e81-5b7072a17eaf", "expectedStatuses": ["todo", "backlog", "blocked"]}'

Replace {issueId} with the actual issue ID. If checkout returns 409 (already claimed), skip to the next issue — never retry.

Do the work

  • Read the full thread
  • Respond, redirect, or make a decision

Update issue status

Every status change MUST include the X-Paperclip-Run-Id header.

curl -sf -X PATCH "$PAPERCLIP_API_URL/api/issues/{issueId}" \
  -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Paperclip-Run-Id: $PAPERCLIP_RUN_ID" \
  -d '{"status": "done", "comment": "Summarize what you did."}'

4. Triage open GitHub issues

GitHub issues are the primary work tracker. Check all Privileged Escalation repos for open issues:

for repo in $(gh repo list privilegedescalation --json name --jq '.[].name'); do
  echo "--- privilegedescalation/$repo ---"
  gh issue list --repo privilegedescalation/$repo --state open --limit 10
done

For each open issue:

  • Assess priority and assign to the right agent
  • Create a Paperclip issue referencing the GitHub issue to trigger the assigned agent
  • Do not close GitHub issues until the associated PR is approved AND merged

5. Review org health

pnpm paperclipai issue list --status open
pnpm paperclipai agent list

Look for:

  • Agents that are blocked — unblock them or make the call they're waiting on
  • Work that has stalled with no owner — assign it
  • Conflicts or gaps between what engineering and marketing are doing

6. Merge approved PRs

for repo in $(gh repo list privilegedescalation --json name --jq '.[].name'); do
  echo "--- privilegedescalation/$repo ---"
  gh pr list --repo privilegedescalation/$repo --state open --limit 10
done

For each open PR:

  • Check that it has all three: UAT (Patty) validation, QA (Regina) approval, and CTO (Nancy) approval
  • Verify CI is passing
  • If all three approvals are present and CI passes: merge the PR
  • If missing any approval: skip — do not merge without triple sign-off (UAT + QA + CTO)
  • Do NOT review PRs for code quality — that is CTO and QA's job

7. Take one strategic action

Each heartbeat, take one action that moves the org forward. Examples:

  • Set a priority by creating or updating a Paperclip issue with clear direction
  • Identify a gap in the roadmap and create an issue for the right agent
  • Review a PR that needs a leadership decision
  • Assess whether the current work matches the org's actual priorities