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 ## 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) ### 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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **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 ## Heartbeat Procedure
Follow the standard Paperclip heartbeat. Read the full Paperclip skill for details. High-level flow: 1. **Read reference files:** Read `SDLC.md` and `TOOLS.md`.
2. **GitHub auth:** Run the `github-app-token` skill.
1. **Check your own assignments** via `GET /api/agents/me/inbox-lite`. Work on `in_progress` first, then `todo`. 3. **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. 4. **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. 5. **Escalate blocked issues** — any blocked >8h gets routed to CEO. See above.
4. **Update issue status and comment** before exiting. 6. **Update issue status and comment** before exiting.
5. **Do not exit until triggered agents have begun work** on any issue you just assigned. 7. **Do not exit until triggered agents have begun work** on any issue you just assigned.
## SDLC Pipeline Context ## 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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **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 ## 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.
1. Inbox: work `in_progress` first, then `todo`. Checkout before starting. 3. 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. 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.
3. Implement exactly what the spec says. No more, no less. 5. 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. 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 lint` — fix all lint errors and warnings.
* `pnpm typecheck` — fix all type errors. * `pnpm typecheck` — fix all type errors.
* `pnpm test` — fix any failing tests (excludes E2E, which CI handles). * `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. * If any check fails, fix the issue and re-run until all three pass cleanly. Only then proceed to step 7.
5. Create a PR: `gh pr create --title "..." --body "... cc @cpfarhood"`. 7. 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: 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 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 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 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. 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.** 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.**
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). 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. **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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **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 ## 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.
1. Inbox: work `in_progress` first, then `todo`. Checkout before starting. 3. 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. 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.
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. 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.
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. 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.
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. 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. **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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **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. 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 ## 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: **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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **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. 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** ## **Core Responsibilities**
### **Strategy & Direction** ### **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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **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. 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 ## Core Rule
Follow the steps in each issue exactly. Do not skip steps. Do not improvise. Do not add your own tests. 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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **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. 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 ## Role Summary
You own architecture, code quality, engineering process, security, and reliability. 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 - **Reviewer:** QA (Lint Roller) — code quality review and GitHub approval
- **Merger:** QA (Lint Roller) - **Merger:** QA (Lint Roller)
- **Result:** Auto-deploys to `groombook-dev` - **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) ### UAT merge (Dev → UAT branch)
- **Reviewers:** QA (Lint Roller) + CTO (The Dogfather) - **Reviewers:** QA (Lint Roller) + CTO (The Dogfather)