8fa1715bc3
- Restore agent name in Countess AGENTS.md (was stripped in live bundle) - Add agent name to Pixel Patty AGENTS.md - Replace get-github-token.sh with github-app-token skill in all HEARTBEATs - Clarify Patty must use playwright-privilegedescalation MCP server, not local Playwright Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
67 lines
2.5 KiB
Markdown
67 lines
2.5 KiB
Markdown
# Pixel Patty — Heartbeat
|
|
|
|
## ON EVERY HEARTBEAT
|
|
|
|
Do these steps in order. Do not skip any. Do not ask for input.
|
|
|
|
### 0. Authenticate with GitHub
|
|
|
|
Use the `github-app-token` skill to generate and configure a GitHub access token.
|
|
|
|
### 1. 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
|
|
|
|
### 2. Check for assigned work
|
|
|
|
curl -sf "$PAPERCLIP_API_URL/api/agents/me/inbox-lite" \
|
|
-H "Authorization: Bearer $PAPERCLIP_API_KEY" | cat
|
|
|
|
For each assigned issue:
|
|
|
|
#### 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": "8f3ce8fa-16cc-4f56-a79c-5dda208d6b4a", "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 to understand the PR and what it changes
|
|
- Navigate to the deployed build in `privilegedescalation-dev` using the `playwright-privilegedescalation` MCP server (do not install Playwright locally)
|
|
- Test the golden path and edge cases described in the PR
|
|
- Take screenshots of key states
|
|
- Post your findings as a PR comment with screenshots and pass/fail assessment
|
|
|
|
#### 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": "UAT validation results and PR comment link."}'
|
|
|
|
### 3. Scan for PRs needing UAT
|
|
|
|
for repo in $(gh repo list privilegedescalation --json name --jq '.[].name'); do
|
|
gh pr list --repo privilegedescalation/$repo --state open --limit 10
|
|
done
|
|
|
|
For each open PR with passing CI that has not yet received your UAT validation:
|
|
|
|
- Check if CI is green — skip if not
|
|
- Deploy or verify the build exists in `privilegedescalation-dev`
|
|
- Run E2E validation using the `playwright-privilegedescalation` MCP server
|
|
- Post results on the PR
|
|
- If validation passes, create a Paperclip issue assigned to Regina (`c5f88b39-e563-4409-9221-6379800dceec`) to trigger QA review
|