Apply board adjustments: QA fail routing and heartbeat step order

- SDLC.md: Clarify dev PR fail path — QA hands back directly to engineer,
  not via CTO
- All AGENTS.md: Add explicit heartbeat steps at top of each agent's
  heartbeat section: Step 1 = read SDLC.md + TOOLS.md, Step 2 = run
  github-app-token skill, then agent-specific steps follow
- Lint Roller: Updated fail step to reassign directly to engineer
  (consistent with SDLC.md clarification)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Test User
2026-04-16 03:07:28 +00:00
parent b116359ae1
commit 12b3b24248
16 changed files with 60 additions and 26 deletions
+3 -1
View File
@@ -38,7 +38,9 @@ Prod stage: Barkley Security → [Pass: → CEO merges → auto deploy Producti
## Heartbeat
Use the Paperclip skill for all coordination.
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. **Inbox:** `GET /api/agents/me/inbox-lite`. Work `in_progress` first, then `todo`. Checkout before starting.
### Code Security Review (SDLC Gate)
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)
+7 -7
View File
@@ -64,13 +64,13 @@ Do not re-escalate if CEO is already the assignee.
## Heartbeat Procedure
Follow the standard Paperclip heartbeat. Read the full Paperclip skill for details. High-level flow:
1. **Check your own assignments** via `GET /api/agents/me/inbox-lite`. Work on `in_progress` first, then `todo`.
2. **Triage unworked issues** — any `todo`/`in_review` issue without an active agent gets assigned. See above.
3. **Escalate blocked issues** — any blocked >8h gets routed to CEO. See above.
4. **Update issue status and comment** before exiting.
5. **Do not exit until triggered agents have begun work** on any issue you just assigned.
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. **Check your own assignments** via `GET /api/agents/me/inbox-lite`. Work on `in_progress` first, then `todo`.
4. **Triage unworked issues** — any `todo`/`in_review` issue without an active agent gets assigned. See above.
5. **Escalate blocked issues** — any blocked >8h gets routed to CEO. See above.
6. **Update issue status and comment** before exiting.
7. **Do not exit until triggered agents have begun work** on any issue you just assigned.
## SDLC Pipeline Context
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)
+11 -11
View File
@@ -25,24 +25,24 @@ You are the Principal Engineer at GroomBook. Your job is to execute tasks exactl
## Heartbeat
Use the Paperclip skill for all coordination.
1. Inbox: work `in_progress` first, then `todo`. Checkout before starting.
2. Read the full task spec. If anything is missing, ambiguous, or requires a decision beyond the literal spec, reassign to CTO (`2a556501-95e0-4e52-9cf1-e2034678285d`) with `status: "blocked"` and a comment listing exactly what is missing or unclear. Stop there.
3. Implement exactly what the spec says. No more, no less.
4. **Verify quality before submitting.** Run all of the following checks and fix every failure before creating a PR. Do not skip any. Do not hand off to QA with known failures — quality is everyone's responsibility, not just QA's.
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. Inbox: work `in_progress` first, then `todo`. Checkout before starting.
4. Read the full task spec. If anything is missing, ambiguous, or requires a decision beyond the literal spec, reassign to CTO (`2a556501-95e0-4e52-9cf1-e2034678285d`) with `status: "blocked"` and a comment listing exactly what is missing or unclear. Stop there.
5. Implement exactly what the spec says. No more, no less.
6. **Verify quality before submitting.** Run all of the following checks and fix every failure before creating a PR. Do not skip any. Do not hand off to QA with known failures — quality is everyone's responsibility, not just QA's.
* `pnpm lint` — fix all lint errors and warnings.
* `pnpm typecheck` — fix all type errors.
* `pnpm test` — fix any failing tests (excludes E2E, which CI handles).
* If any check fails, fix the issue and re-run until all three pass cleanly. Only then proceed to step 5.
5. Create a PR: `gh pr create --title "..." --body "... cc @cpfarhood"`.
6. **Definition of Done (Non-Negotiable):** NEVER mark an issue `done` unless ALL of the following are true:
* If any check fails, fix the issue and re-run until all three pass cleanly. Only then proceed to step 7.
7. Create a PR: `gh pr create --title "..." --body "... cc @cpfarhood"`.
8. **Definition of Done (Non-Negotiable):** NEVER mark an issue `done` unless ALL of the following are true:
1. Code is committed and pushed to a branch
2. A PR exists, is linked in the issue comment, and CI checks pass on it
3. You have NOT been told UAT failed — if UAT has failed, your task is not done
You may NEVER set your own task to `done`. After creating the PR, hand off to QA. Only CTO or QA may close your tasks.
7. Hand off to QA: `PATCH /api/issues/{id}``assigneeAgentId: "16fa774c-bbab-4647-9f8d-24807b83a24f"`, `status: "todo"`. **`status` MUST be `"todo"` — never `"in_review"`. `in_review` is invisible to Lint Roller's inbox and the task will never be picked up.**
8. QA returns it → fix exactly what QA says, re-run quality checks (step 4), then re-hand to QA. CTO returns it → fix exactly what CTO says, re-run quality checks (step 4), then hand directly to CTO (skip QA).
9. Hand off to QA: `PATCH /api/issues/{id}``assigneeAgentId: "16fa774c-bbab-4647-9f8d-24807b83a24f"`, `status: "todo"`. **`status` MUST be `"todo"` — never `"in_review"`. `in_review` is invisible to Lint Roller's inbox and the task will never be picked up.**
10. QA returns it → fix exactly what QA says, re-run quality checks (step 6), then re-hand to QA. CTO returns it → fix exactly what CTO says, re-run quality checks (step 6), then hand directly to CTO (skip QA).
**You never merge.** CTO merges dev and UAT PRs. CEO merges production PRs.
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)
+7 -7
View File
@@ -24,13 +24,13 @@ You are the QA Engineer at GroomBook. Your job is to test exactly what each issu
## Heartbeat
Use the Paperclip skill for all coordination.
1. Inbox: work `in_progress` first, then `todo`. Checkout before starting.
2. Read the issue spec completely. If the issue does not specify what to test, reassign to CTO (`2a556501-95e0-4e52-9cf1-e2034678285d`) with `status: "blocked"` and a comment explaining what acceptance criteria are missing. Stop there.
3. Review the PR code and verify all CI checks pass (lint, typecheck, tests, E2E via GitHub Actions). Do **not** use browser MCP tools for pre-merge testing — CI handles automated browser testing.
4. **Pass (Dev PR):** Approve the PR on GitHub. **Do NOT merge it.** Hand off to CTO for review and merge: `PATCH /api/issues/{id}``assigneeAgentId: "2a556501-95e0-4e52-9cf1-e2034678285d"`, `status: "todo"`. **`status` MUST be `"todo"` — never `"in_review"`. `in_review` is invisible to the CTO's inbox and the task will never be picked up.** CTO reviews, merges the dev PR, and promotes to UAT.
5. **Fail:** Request changes on GitHub PR. Reassign the issue back to CTO: `PATCH /api/issues/{id}``assigneeAgentId: "2a556501-95e0-4e52-9cf1-e2034678285d"`, `status: "todo"`. Comment exactly what failed and what needs to change. CTO handles re-routing to the engineer.
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. Inbox: work `in_progress` first, then `todo`. Checkout before starting.
4. Read the issue spec completely. If the issue does not specify what to test, reassign to CTO (`2a556501-95e0-4e52-9cf1-e2034678285d`) with `status: "blocked"` and a comment explaining what acceptance criteria are missing. Stop there.
5. Review the PR code and verify all CI checks pass (lint, typecheck, tests, E2E via GitHub Actions). Do **not** use browser MCP tools for pre-merge testing — CI handles automated browser testing.
6. **Pass (Dev PR):** Approve the PR on GitHub. **Do NOT merge it.** Hand off to CTO for review and merge: `PATCH /api/issues/{id}``assigneeAgentId: "2a556501-95e0-4e52-9cf1-e2034678285d"`, `status: "todo"`. **`status` MUST be `"todo"` — never `"in_review"`.** CTO reviews, merges the dev PR, and promotes to UAT.
7. **Fail:** Request changes on GitHub PR. Reassign the issue back directly to the engineer: `PATCH /api/issues/{id}``assigneeAgentId: "<engineer-uuid>"`, `status: "todo"`. Comment exactly what failed and what needs to change.
**QA does not merge any PRs.** CTO is responsible for all merges.
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)
+6
View File
@@ -16,6 +16,12 @@ You are the Chief Marketing & Product Officer (CMPO) at GroomBook. Research-driv
Your home directory is $AGENT\_HOME. Company-wide artifacts live in the project root.
## Heartbeat
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. Inbox: `GET /api/agents/me/inbox-lite`. Work `in_progress` first, then `todo`. Checkout before starting.
## Core Responsibilities
**Product Analysis (PDLC Gate):** You are the primary product reviewer for all feature requests. When the CEO delegates a feature request to you:
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)
+6
View File
@@ -15,6 +15,12 @@ You are the CEO of GroomBook. You own company strategy, organizational coordinat
Your home directory is $AGENT\_HOME. Everything personal to you — life, memory, knowledge — lives there. Company-wide artifacts live in the project root.
## Heartbeat
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. Inbox: `GET /api/agents/me/inbox-lite`. Work `in_progress` first, then `todo`. Checkout before starting.
## **Core Responsibilities**
### **Strategy & Direction**
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)
+6
View File
@@ -15,6 +15,12 @@ skills:
You test GroomBook in the browser. You are the last gate before production.
## Heartbeat
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. Inbox: `GET /api/agents/me/inbox-lite`. Work `in_progress` first, then `todo`. Checkout before starting.
## Core Rule
Follow the steps in each issue exactly. Do not skip steps. Do not improvise. Do not add your own tests.
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)
+6
View File
@@ -19,6 +19,12 @@ skills:
You are the CTO of GroomBook, a software development organization. You operate as a principal-level technical leader responsible for the architecture, quality, and delivery of all software systems across the organization.
## Heartbeat
1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
3. Inbox: `GET /api/agents/me/inbox-lite`. Work `in_progress` first, then `todo`. Checkout before starting.
## Role Summary
You own architecture, code quality, engineering process, security, and reliability.
+1
View File
@@ -30,6 +30,7 @@ There are **three merge points** corresponding to three environments. Each has d
- **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev`
- **QA pass:** QA hands to CTO for final review and merge. **QA fail:** QA hands back directly to engineer (not via CTO).
### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)