Repository navigation
[bmad-onboard S2] Onboard devops-lead persona #1308
Copy link
Copy link
Closed
Labels
dev-leadFor dev-lead agent pickupFor dev-lead agent pickupenhancementFeature requestsFeature requests
Description
Part of Epic #1304. Blocked by #1306 (P1 — vendoring). Do not start until #1306 merges; the manifest references frameworks/bmad-bgreat-suite/... which does not exist until then.
Onboard devops-lead as an advisory persona, wrapping the vendored bgr-agent-riley-devops agent. Follow the EXACT pattern of the four just-merged personas (qa-lead, dev-lead, business-analyst, scrum-master) — see personas/qa-lead/ and personas/scrum-master/ as templates.
Task
personas/devops-lead/persona.yml—status: draft.framework-agentlayer →frameworks/bmad-bgreat-suite/src/agents/bgr-agent-riley-devops,framework.name: bmad-bgreat-suite,vendor_pin= the SHA inframeworks/bmad-bgreat-suite/VENDOR.md,skill: bgr-agent-riley-devops.address.handle: petry-projects/devops-lead. Advisory on mention/issues/discussion (default_mode advisory; opt_out_labeldevops-lead:hands-off).evals.path: evals/devops-lead/(single set — one wrapped agent).canary.agent: devops-lead.prompts/devops-lead/advisory.md— the read-only/sentinel/marker advisory contract (copyprompts/qa-lead/advisory.md), specialized to devops-lead's domain: infrastructure, CI/CD, Kubernetes, GitOps, blue-green/canary deployment. Read the vendored SKILL.md by path and apply its substance; advisory only; first body line<!-- persona:devops-lead -->.personas/devops-lead/README.md— what it is, how it's addressed (org team handle, never the bare@devops-leadaccount), status draft, and note the overlap relationship: the auto-rebase / CI tooling (advisory, not a replacement).evals/devops-lead/{dev,holdout}/cases.jsonl— seed held-out cases (≥2 each, synthetic/de-identified; draft is exempt from the count gate, expand before promotion).
Constraints
- Role, not a person (§1.6): id/name are
devops-lead/ the role title, NEVER the upstream person-name. Reference the upstream agent only byframework.skill. - Advisory-only: no write surfaces (§3 advisory-by-default).
fails closed: any script you add must never report success when the thing it claims did not happen (feat: implement issue #737 — [Phase 1] Instrument auto-rebase: agentic-conflict-resolution rate + fan-out CI-run volume report #755) — though this story is manifest/prompt/eval content, not scripts.- Do NOT create the org team (that is the epic's session step T) and do NOT register in canary-rings (draft doesn't need it).
Acceptance criteria
-
validate-personas.pypasses with the new manifest (5→6 personas). -
validate-cases.pypasses over the new seed evals. -
markdownlintclean on the README. - The advisory prompt carries the marker rule and the no-literal-handle rule verbatim from the qa-lead template.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
dev-leadFor dev-lead agent pickupFor dev-lead agent pickupenhancementFeature requestsFeature requests
Activity
github-actions commentedon Jul 18, 2026
Thanks for the detailed issue and for following the established persona onboarding pattern! Since this is a new persona addition, could you confirm which specific devops/infrastructure domains from the vendored SKILL.md should be emphasized in the advisory prompt — for example, is there a particular balance between CI/CD pipeline advice versus Kubernetes/GitOps guidance that matters most for this org's context?
don-petry commentedon Jul 18, 2026
Dev-Lead Implementation Plan
Issue: #1308 — [bmad-onboard S2] Onboard devops-lead persona
Scope
Onboard
devops-leadas a draft, advisory-only persona wrapping the vendoredbgr-agent-riley-devopsagent, following the exact pattern of the just-merged qa-lead / scrum-master / business-analyst personas.Implementation Checklist
personas/devops-lead/persona.yml— statusdraft; framework-agent layer →frameworks/bmad-bgreat-suite/src/agents/bgr-agent-riley-devops;framework.name: bmad-bgreat-suite,upstream_repo: petry-projects/bmad-bgreat-suite,vendor_pin: ae8914e84b87(the SHA in VENDOR.md),skill: bgr-agent-riley-devops;address.handle: petry-projects/devops-lead; advisory on mention/issues/discussion;opt_out_label: devops-lead:hands-off;evals.path: evals/devops-lead/;canary.agent: devops-lead.prompts/devops-lead/advisory.md— copy ofprompts/qa-lead/advisory.mdspecialized to devops domain (IaC, CI/CD, Kubernetes, GitOps, blue-green/canary); first body line<!-- persona:devops-lead -->; marker rule + no-literal-handle rule kept verbatim.personas/devops-lead/README.md— what it is, org team handle addressing (never bare@devops-lead), status draft, and the overlap note vs. auto-rebase / CI tooling (advisory, not a replacement).evals/devops-lead/dev/cases.jsonlandevals/devops-lead/holdout/cases.jsonl— ≥2 synthetic/de-identified cases each.Tests to Write
Test Command
python3 personas/validate-personas.py personas && python3 evals/validate-cases.py evals && bash .dev-lead/scripts/dev-lead-lint.shdon-petry commentedon Jul 18, 2026
Dev-Lead: Implementation Complete
Plan Execution
personas/devops-lead/persona.yml— draft; framework-agent layer →frameworks/bmad-bgreat-suite/src/agents/bgr-agent-riley-devops,framework.name: bmad-bgreat-suite,upstream_repo: petry-projects/bmad-bgreat-suite,vendor_pin: ae8914e84b87(the SHA in VENDOR.md),skill: bgr-agent-riley-devops;address.handle: petry-projects/devops-lead; advisory on mention/issues/discussion;opt_out_label: devops-lead:hands-off;evals.path: evals/devops-lead/;canary.agent: devops-lead.prompts/devops-lead/advisory.md— copied fromprompts/qa-lead/advisory.md, specialized to the devops domain (IaC, CI/CD, Kubernetes, GitOps, blue-green/canary, environment isolation, anti-patterns). First body line<!-- persona:devops-lead -->. Marker rule + no-literal-handle rule copied verbatim (diff-confirmed).personas/devops-lead/README.md— what it is, org-team-handle addressing (never the bare@devops-leadaccount), status draft, and the overlap note: advisory about the auto-rebase / CI tooling, not a replacement for it.evals/devops-lead/dev/cases.jsonl(3) +evals/devops-lead/holdout/cases.jsonl(4) — synthetic/de-identified seed cases grounded in the vendored SKILL.md (≥2 each; draft is exempt from the count gate, expand before promotion).Test Results
Files Changed
personas/devops-lead/persona.yml— new draft manifest (advisory-only, no write surfaces, noruntime:block).prompts/devops-lead/advisory.md— new headless advisory contract (read-only; sentinel + marker; devops-specialized).personas/devops-lead/README.md— new persona doc, incl. the auto-rebase/CI overlap note.evals/devops-lead/{dev,holdout}/cases.jsonl— new seed held-out eval sets.Acceptance Criteria
validate-personas.pypasses with the new manifest (5 → 6 personas).validate-cases.pypasses over the new seed evals.markdownlintclean on the README.Notes
canary-rings.json(draft does not need it), per the issue constraints.verify-persona-teams.yml(the live team check) will remain a pending signal until thepetry-projects/devops-leadteam is created in the epic's session step — expected for a draft persona.feat: implement issue #1308 — [bmad-onboard S2] Onboard devops-lead p…