Three human roles. Each one is redefined from its traditional version. Read the redefinition carefully — the names are familiar, the work is not.
Because the AI does the volume work. Adding roles to oversee AI output just creates a new bottleneck. The three roles map to the three things humans are irreplaceable at:
- Intent — what we're building and why (PM)
- Judgment — architecture, security, failure modes (Dev)
- Validation — does it actually work for the user (QA / Success)
If you find yourself wanting a fourth role, the question to ask first is: what CLAUDE.md rule or pipeline check would eliminate the need for that role?
Old definition: Writes specs, prioritizes backlog, manages stakeholders.
ADRIAN definition: Owns intent and the request contract. Pressure-tests BugLady output. Owns the customer relationship. Force-multiplier, not bottleneck.
Phase 1 — Align
- Review every BugLady-drafted Request Contract before approval
- Run the four checks: wrong-feature, one-way door, UX state coverage, domain flag
- Approve or reject. Rejection sends back to BugLady or to a follow-up customer chat
- Approve the Request Contract in BugLady — it is now locked; the PR will link back to it
Phase 2 — Implement
- On-call for Dev or agent questions about Intent or Boundaries
- Decide kill-and-respawn when Dev surfaces a contract defect or priorities shift — the contract never mutates mid-flight
- Do not review code. That's not your job.
Phase 3 — Deliver
- Confirm Verification metrics moved post-deploy
- Co-own the customer loop close with QA
Phase 4 — Adapt
- Bring defect-respawn patterns to the Weekly Quality Review
- Update the Request Contract template when patterns repeat
- Type specs by hand (BugLady does the draft)
- Manage developer assignments (the team self-manages)
- Review code (Dev does)
- Run standups (no standups in ADRIAN)
- Translate between customer and engineer in real time (BugLady's chat is the bridge)
- BugLady is drafting specs that consistently need >30% revision
- Multiple requests touch the same area in conflicting ways
- A customer asks for something that crosses compliance modes
Old definition: Writes code.
ADRIAN definition: Steers agents. Owns architecture and security boundaries. Refactors AI output. Owns CLAUDE.md and agent context. Quality of code is now a function of quality of context.
Phase 1 — Align
- Consulted on Constraints and Decisions
- Veto power on architectural items in the contract
- Flag one-way-door decisions before approval
Phase 2 — Implement
- Run the five-step agent loop (load context → decompose → run agents → review four dimensions → refactor)
- Maintain
CLAUDE.mdas agent behavior reveals gaps - Pair with QA on adversarial test scenarios
Phase 3 — Deliver
- On standby for CI failures and rollback
- Sign off on architectural fitness function changes when needed
- Named approver on regulated-mode deploys (see
FLEX-MODES.md)
Phase 4 — Adapt
- Bring agent-stuck patterns to Weekly Quality Review
- Propose
CLAUDE.mdchanges - Audit
CLAUDE.mdadherence (ask the agent to deliberately violate a rule)
- Type most of the code
- Read every line of agent output for style (linter does that)
- Write tests the Acceptance section already implies (those auto-generate)
- Approve their own PR without QA visibility on adversarial tests
- An agent is consistently failing on the same kind of task — investigate before adding more rules
- A contract passed Phase 1 but reveals an architectural conflict in Phase 2 (this is a Phase 1 failure, surface it)
- Security boundary violation that the rules didn't catch
- Mutation score dropping on critical paths
The role name is two words on purpose. QA without Success becomes a gatekeeper. Success without QA becomes a cheerleader. The role is both.
Old definition: Tests features at the end. Files bugs.
ADRIAN definition: Adversarial test designer, UX state verifier, production outcome validator, customer voice. Quality engineer plus customer success in one role.
Phase 1 — Align
- Review Acceptance for adversarial gaps
- Add negative cases, edge cases, abuse cases to the Acceptance Criteria
- Begin drafting adversarial test scenarios for Phase 2
Phase 2 — Implement
- Write adversarial tests in parallel with the agent's work — these are tests the implementer would not naturally think to write
- Tests run in CI alongside Acceptance tests
- Available to Dev for "could we break it this way?" pairing
Phase 3 — Deliver
- Manual UX state verification on real devices (loading, empty, error, success for every state in Acceptance)
- Production verification — confirm Verification metrics moved
- Close the customer loop — talk to the customer who triggered the BugLady chat
Phase 4 — Adapt
- Bring "tests passed but feature was wrong" patterns to Weekly Quality Review
- Bring UX state gaps to the Request Contract template
- Track customer satisfaction signals over time
- Wait for the feature to be "done" before engaging — they engage in Phase 1
- Manually test what tests can automate
- Sign off on functional correctness alone — they sign off on customer outcome
- Production verification fails (deployed, but Verification metric didn't move)
- A pattern of "tests pass but customers report bug" — this is a contract quality problem, not a test problem
- UX state coverage is consistently incomplete in contract drafts
The team does not need approval from outside the team to:
- Move a request through the four phases
- Kill and respawn a Request (with the cause tagged: priority vs. defect)
- Choose tools, models, or agents
- Refactor AI output
- Roll back a deploy
The team does escalate when:
- A request touches another team's domain
- Compliance flag is unclear
- A one-way-door decision wasn't in the contract's Decisions section
- Weekly Quality Review numbers trend wrong for two consecutive weeks
Self-managing ≠ unsupervised. Supervision is the metrics and the gates, not a manager-in-the-loop.
This is a sketch, not a prescription. Adjust to your request cadence.
- Mon: Review weekend BugLady drafts, approve or send back
- Tue–Thu: On-call for clarifications, customer chats
- Fri: Weekly Quality Review (joint), plan next week's request priorities
- Mon–Thu: Active requests — context loading, agent steering, review, refactor
- Fri morning:
CLAUDE.mdupdates from the week's learnings - Fri afternoon: Weekly Quality Review (joint)
- Mon: Adversarial test design for new requests
- Tue–Thu: UX verification on requests entering Phase 3, customer loop closes
- Fri: Weekly Quality Review (joint), customer signal aggregation
No standups. Status is the request board.
This isn't strictly a methodology concern, but the role redefinitions change what to hire for.
PM: Hire for customer judgment and contract discipline, not for documentation throughput. The bot does the volume.
Dev: Hire for systems thinking, security instincts, refactoring taste, and the ability to write good CLAUDE.md content. Hire less for raw coding speed. The 10x typist is a 1x agentic developer.
QA / Success: Hire for adversarial thinking, customer empathy, and willingness to talk to humans. The "I just write Selenium scripts" QA archetype is wrong for this role.
Single-skill specialists in the old definitions of these roles will struggle in ADRIAN.